diff --git a/tools/RunScript.hx b/tools/RunScript.hx index 03a9912b36..8b6060829e 100644 --- a/tools/RunScript.hx +++ b/tools/RunScript.hx @@ -127,19 +127,9 @@ class RunScript { var args = Sys.args(); - var limeDirectory = Haxelib.getPath(new Haxelib("lime"), true); - var toolsDirectory = Path.combine(limeDirectory, "tools"); - - if (!FileSystem.exists(toolsDirectory)) - { - limeDirectory = Path.combine(limeDirectory, ".."); - toolsDirectory = Path.combine(limeDirectory, "tools"); - } - - if (args.length > 2 && args[0] == "rebuild" && args[1] == "tools") + if (args.length > 0) { var lastArgument = new Path(args[args.length - 1]).toString(); - var cacheDirectory = Sys.getCwd(); if (((StringTools.endsWith(lastArgument, "/") && lastArgument != "/") || StringTools.endsWith(lastArgument, "\\")) && !StringTools.endsWith(lastArgument, ":\\")) @@ -149,10 +139,25 @@ class RunScript if (FileSystem.exists(lastArgument) && FileSystem.isDirectory(lastArgument)) { - Sys.setCwd(lastArgument); + Haxelib.workingDirectory = lastArgument; } + } + + var limeDirectory = Haxelib.getPath(new Haxelib("lime"), true); + var toolsDirectory = Path.combine(limeDirectory, "tools"); + + if (!FileSystem.exists(toolsDirectory)) + { + limeDirectory = Path.combine(limeDirectory, ".."); + toolsDirectory = Path.combine(limeDirectory, "tools"); + } + + if (args.length > 2 && args[0] == "rebuild" && args[1] == "tools") + { + var cacheDirectory = Sys.getCwd(); + // used for Path.tryFullPath when setting overrides + Sys.setCwd(Haxelib.workingDirectory); - Haxelib.workingDirectory = Sys.getCwd(); var rebuildBinaries = true; for (arg in args) @@ -210,7 +215,7 @@ class RunScript "-D", "lime", "-cp", toolsDirectory, "-cp", Path.combine(toolsDirectory, "platforms"), - "-cp", "src", + "-cp", Path.combine(limeDirectory, "src"), "-lib", "format", "-lib", "hxp", "--run", "CommandLineTools"].concat(args);