From c982f60c531689457e025ed33e2b021523c53d17 Mon Sep 17 00:00:00 2001 From: Mihai Alexandru <77043862+MAJigsaw77@users.noreply.github.com> Date: Tue, 21 Oct 2025 17:57:26 +0300 Subject: [PATCH 1/4] Fix `RunScript` to use local `haxelib` paths. --- tools/RunScript.hx | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/tools/RunScript.hx b/tools/RunScript.hx index 03a9912b36..761d7ff522 100644 --- a/tools/RunScript.hx +++ b/tools/RunScript.hx @@ -127,19 +127,11 @@ class RunScript { var args = Sys.args(); - var limeDirectory = Haxelib.getPath(new Haxelib("lime"), true); - var toolsDirectory = Path.combine(limeDirectory, "tools"); + var cacheDirectory = Sys.getCwd(); - 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, ":\\")) @@ -153,6 +145,19 @@ class RunScript } Haxelib.workingDirectory = Sys.getCwd(); + } + + 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 rebuildBinaries = true; for (arg in args) From 205eacc1571bdcc70350c5917f517465c4188828 Mon Sep 17 00:00:00 2001 From: Mihai Alexandru <77043862+MAJigsaw77@users.noreply.github.com> Date: Tue, 21 Oct 2025 18:13:36 +0300 Subject: [PATCH 2/4] Fix for `Eval`. --- tools/RunScript.hx | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/RunScript.hx b/tools/RunScript.hx index 761d7ff522..85613a757b 100644 --- a/tools/RunScript.hx +++ b/tools/RunScript.hx @@ -212,6 +212,7 @@ class RunScript + "` using Eval (https://haxe.org/blog/eval/)"); var args = [ + "--cwd", limeDirectory, "-D", "lime", "-cp", toolsDirectory, "-cp", Path.combine(toolsDirectory, "platforms"), From 9a04f39ab6c64a4d78b3304cc115870359be8097 Mon Sep 17 00:00:00 2001 From: Mihai Alexandru <77043862+MAJigsaw77@users.noreply.github.com> Date: Tue, 21 Oct 2025 18:18:28 +0300 Subject: [PATCH 3/4] Better patchup for `Eval`. --- tools/RunScript.hx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/RunScript.hx b/tools/RunScript.hx index 85613a757b..c378e04da6 100644 --- a/tools/RunScript.hx +++ b/tools/RunScript.hx @@ -212,11 +212,10 @@ class RunScript + "` using Eval (https://haxe.org/blog/eval/)"); var args = [ - "--cwd", limeDirectory, "-D", "lime", "-cp", toolsDirectory, "-cp", Path.combine(toolsDirectory, "platforms"), - "-cp", "src", + "-cp", Path.combine(limeDirectory, "src"), "-lib", "format", "-lib", "hxp", "--run", "CommandLineTools"].concat(args); From 29738a5252a532cd3d2e54ea58482b2804ff8e2e Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Sat, 25 Oct 2025 18:27:59 +0100 Subject: [PATCH 4/4] Revert change to Sys.setCwd behavior Before `Sys.setCwd()` would only be run in the `rebuild tools` case, where it would always been cleaned up. The previous patch changed it so that Sys.setCwd runs for all cases, even if it won't be cleaned up. This patch corrects that error, and once again makes sure that setCwd is only run for `rebuild tools`. --- tools/RunScript.hx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/RunScript.hx b/tools/RunScript.hx index c378e04da6..8b6060829e 100644 --- a/tools/RunScript.hx +++ b/tools/RunScript.hx @@ -127,8 +127,6 @@ class RunScript { var args = Sys.args(); - var cacheDirectory = Sys.getCwd(); - if (args.length > 0) { var lastArgument = new Path(args[args.length - 1]).toString(); @@ -141,10 +139,8 @@ class RunScript if (FileSystem.exists(lastArgument) && FileSystem.isDirectory(lastArgument)) { - Sys.setCwd(lastArgument); + Haxelib.workingDirectory = lastArgument; } - - Haxelib.workingDirectory = Sys.getCwd(); } var limeDirectory = Haxelib.getPath(new Haxelib("lime"), true); @@ -158,6 +154,10 @@ class RunScript 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); + var rebuildBinaries = true; for (arg in args)