add cleaner
This commit is contained in:
parent
8b52b24644
commit
e84ecce3b5
1
utils/cleaner/.gitignore
vendored
Normal file
1
utils/cleaner/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
bin/
|
||||
15
utils/cleaner/.vscode/launch.json
vendored
Normal file
15
utils/cleaner/.vscode/launch.json
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "HashLink",
|
||||
"request": "launch",
|
||||
"type": "hl",
|
||||
"cwd": "${workspaceFolder}",
|
||||
"preLaunchTask": {
|
||||
"type": "haxe",
|
||||
"args": "active configuration"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
13
utils/cleaner/.vscode/tasks.json
vendored
Normal file
13
utils/cleaner/.vscode/tasks.json
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"type": "haxe",
|
||||
"args": "active configuration",
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
9
utils/cleaner/README.md
Normal file
9
utils/cleaner/README.md
Normal file
@ -0,0 +1,9 @@
|
||||
# Haxe project
|
||||
|
||||
This is an example Haxe project scaffolded by Visual Studio Code.
|
||||
|
||||
Without further changes the structure is following:
|
||||
|
||||
* `src/Main.hx`: Entry point Haxe source file
|
||||
* `build.hxml`: Haxe command line file used to build the project
|
||||
* `README.md`: This file
|
||||
5
utils/cleaner/build.cpp.hxml
Normal file
5
utils/cleaner/build.cpp.hxml
Normal file
@ -0,0 +1,5 @@
|
||||
-cp src
|
||||
-D analyzer-optimize
|
||||
|
||||
-main Main
|
||||
--cpp bin/cpp
|
||||
5
utils/cleaner/build.hxml
Normal file
5
utils/cleaner/build.hxml
Normal file
@ -0,0 +1,5 @@
|
||||
-cp src
|
||||
-D analyzer-optimize
|
||||
|
||||
-main Main
|
||||
--hl bin/cleaner.hl
|
||||
82
utils/cleaner/src/Main.hx
Normal file
82
utils/cleaner/src/Main.hx
Normal file
@ -0,0 +1,82 @@
|
||||
import haxe.macro.Expr.Catch;
|
||||
import Sys;
|
||||
import sys.FileSystem;
|
||||
|
||||
class Main {
|
||||
|
||||
static var dir: String = "C:\\Users\\Eero\\AppData\\Local\\Temp";
|
||||
|
||||
static function main() {
|
||||
clean(dir);
|
||||
}
|
||||
|
||||
static function deleteFile(path) {
|
||||
var stat = FileSystem.stat(path);
|
||||
if(stat.size == 0){
|
||||
try {
|
||||
|
||||
Sys.println("Deleting file: "+path);
|
||||
FileSystem.deleteFile(path);
|
||||
} catch(e: Any) {
|
||||
Sys.println("Could not delete file: "+path);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
static function deleteDirectory(path) {
|
||||
if(!FileSystem.isDirectory(path))
|
||||
return false;
|
||||
|
||||
for (e in FileSystem.readDirectory(path)){
|
||||
var temp = path+"/"+e;
|
||||
if(!FileSystem.isDirectory(temp))
|
||||
continue; // Go next
|
||||
try {
|
||||
if(FileSystem.readDirectory(temp).length == 0){
|
||||
Sys.println("Deleting directory: "+temp);
|
||||
FileSystem.deleteDirectory(temp);
|
||||
} else if (FileSystem.readDirectory(temp).length != 0){
|
||||
deleteDirectory(temp);
|
||||
} else if(!FileSystem.isDirectory(temp)){
|
||||
deleteFile(temp);
|
||||
}
|
||||
} catch(e: SysError){
|
||||
Sys.println("Failed: Cannot access directory " + temp);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
static function clean(path: String) {
|
||||
if(FileSystem.exists(path) && FileSystem.isDirectory(path)){
|
||||
deleteDirectory(path);
|
||||
// for (e in FileSystem.readDirectory(path)){
|
||||
// var temp = path+"/"+e;
|
||||
// try {
|
||||
// if(FileSystem.isDirectory(temp) && FileSystem.readDirectory(temp).length == 0){
|
||||
// Sys.println("Deleting directory: "+temp);
|
||||
// FileSystem.deleteDirectory(temp);
|
||||
// } else if (FileSystem.isDirectory(temp) && FileSystem.readDirectory(temp).length != 0) {
|
||||
// for(ent in FileSystem.readDirectory(temp)){
|
||||
// var subDir = temp+"/"+ent;
|
||||
// // Sys.println(subDir);
|
||||
// clean(subDir);
|
||||
// }
|
||||
|
||||
// } else if(!FileSystem.isDirectory(temp)){
|
||||
// deleteFile(temp);
|
||||
// }
|
||||
// } catch(e: SysError){
|
||||
// Sys.println("Failed: Cannot access directory " + temp);
|
||||
// }
|
||||
|
||||
// // pathData.push(Sha256.encode(temp));
|
||||
// // readDirectory(temp);
|
||||
// }
|
||||
} else if(FileSystem.exists(path) && !FileSystem.isDirectory(path)){
|
||||
deleteFile(path);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user