walkDirectory process folders before/after
This commit is contained in:
@@ -59,9 +59,7 @@ class CompilerTools {
|
||||
// TODO this assumes the user hasn't put folders in the folder, which
|
||||
// would cause a failure because we're not deleting recursively
|
||||
if (FileSystem.exists(args.outputFolder)) {
|
||||
for (file in FileSystem.readDirectory(args.outputFolder)) {
|
||||
FileSystem.deleteFile(Path.join([args.outputFolder, file]));
|
||||
}
|
||||
Prelude.walkDirectory(null, args.outputFolder, (file) -> FileSystem.deleteFile(file), null, (folder) -> FileSystem.deleteDirectory(folder));
|
||||
FileSystem.deleteDirectory(args.outputFolder);
|
||||
}
|
||||
|
||||
@@ -148,8 +146,8 @@ class CompilerTools {
|
||||
var envFolder = '${args.outputFolder}-env';
|
||||
Prelude.assertProcess("python", ["-m", "venv", envFolder]);
|
||||
var envBinDir = if (Sys.systemName() == "Windows") "Scripts" else "bin";
|
||||
trace(Prelude.assertProcess("ls", [envFolder]).replace("\n", " "));
|
||||
trace(Prelude.assertProcess("ls", [Path.join([envFolder, envBinDir])]).replace("\n", " "));
|
||||
// trace(Prelude.assertProcess("ls", [envFolder]).replace("\n", " "));
|
||||
// trace(Prelude.assertProcess("ls", [Path.join([envFolder, envBinDir])]).replace("\n", " "));
|
||||
var envPython = Path.join([envFolder, envBinDir, "python"]);
|
||||
command = envPython;
|
||||
switch (args.langProjectFile.extension()) {
|
||||
|
@@ -376,14 +376,18 @@ class Prelude {
|
||||
private static var kissProcess:Process = null;
|
||||
#end
|
||||
|
||||
public static function walkDirectory(basePath, directory, processFile:(String) -> Void, processSubdirectory:(String) -> Void) {
|
||||
public static function walkDirectory(basePath, directory, processFile:(String) -> Void, ?processFolderBefore:(String) -> Void,
|
||||
?processFolderAfter:(String) -> Void) {
|
||||
#if (sys || hxnodejs)
|
||||
for (fileOrFolder in FileSystem.readDirectory(joinPath(basePath, directory))) {
|
||||
switch (fileOrFolder) {
|
||||
case folder if (FileSystem.isDirectory(joinPath(basePath, directory, folder))):
|
||||
var subdirectory = joinPath(directory, folder);
|
||||
processSubdirectory(subdirectory);
|
||||
walkDirectory(basePath, subdirectory, processFile, processSubdirectory);
|
||||
if (processFolderBefore != null)
|
||||
processFolderBefore(subdirectory);
|
||||
walkDirectory(basePath, subdirectory, processFile, processFolderBefore, processFolderAfter);
|
||||
if (processFolderAfter != null)
|
||||
processFolderAfter(subdirectory);
|
||||
case file:
|
||||
processFile(joinPath(directory, file));
|
||||
}
|
||||
|
Reference in New Issue
Block a user