From ac9813ee9ad60136779f04f30baa7b8fe3e6fe5b Mon Sep 17 00:00:00 2001 From: Bhumika-SN Date: Thu, 23 Apr 2026 20:36:39 +0530 Subject: [PATCH 1/3] fix: cache clear now deletes dep files from disk, not just JSON --- .../dev/jbang/dependencies/DependencyCache.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/java/dev/jbang/dependencies/DependencyCache.java b/src/main/java/dev/jbang/dependencies/DependencyCache.java index 6e9687e38..dfcc41c57 100644 --- a/src/main/java/dev/jbang/dependencies/DependencyCache.java +++ b/src/main/java/dev/jbang/dependencies/DependencyCache.java @@ -140,6 +140,22 @@ public static List findDependenciesByHash(String depsHash) { public static void clear() { depCache = null; + // Also clear the dependency cache JSON file from disk + try { + Path cacheFile = Settings.getCacheDependencyFile(); + if (Files.exists(cacheFile)) { + Util.verboseMsg("Deleting dependency cache file: " + cacheFile); + Files.deleteIfExists(cacheFile); + } + // Also clear the depcache directory containing actual JARs + Path depCacheDir = Settings.getCacheDir(dev.jbang.Cache.CacheClass.deps); + if (Files.exists(depCacheDir)) { + Util.verboseMsg("Deleting dependency cache dir: " + depCacheDir); + Util.deletePath(depCacheDir, true); + } + } catch (IOException e) { + Util.errorMsg("Could not clear dependency cache files", e); + } } } From 864334946fe0cc129e7468bccfa3311aa46ba5bc Mon Sep 17 00:00:00 2001 From: Bhumika-SN Date: Thu, 23 Apr 2026 20:55:38 +0530 Subject: [PATCH 2/3] fix: use USERPROFILE on Windows for non-ASCII username support --- src/main/java/dev/jbang/Settings.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/dev/jbang/Settings.java b/src/main/java/dev/jbang/Settings.java index ae0b14be7..eca590bb6 100644 --- a/src/main/java/dev/jbang/Settings.java +++ b/src/main/java/dev/jbang/Settings.java @@ -56,7 +56,12 @@ public static Path getConfigDir(boolean init) { if (jd != null) { dir = Paths.get(jd); } else { - dir = Paths.get(System.getProperty("user.home")).resolve(".jbang"); + // On Windows, USERPROFILE is more reliable than user.home for non-ASCII + // usernames + String home = Util.isWindows() + ? System.getenv().getOrDefault("USERPROFILE", System.getProperty("user.home")) + : System.getProperty("user.home"); + dir = Paths.get(home).resolve(".jbang"); } if (init) From 52c5937ec7f81bb9dbb51eeae47f295dad60cb07 Mon Sep 17 00:00:00 2001 From: Bhumika-SN Date: Fri, 24 Apr 2026 08:29:54 +0530 Subject: [PATCH 3/3] fix: use full executable path for editors on Windows in Git Bash --- src/main/java/dev/jbang/cli/Edit.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/dev/jbang/cli/Edit.java b/src/main/java/dev/jbang/cli/Edit.java index 7e9e9382c..a32ccece0 100644 --- a/src/main/java/dev/jbang/cli/Edit.java +++ b/src/main/java/dev/jbang/cli/Edit.java @@ -379,7 +379,17 @@ private static void setupEditor(Path editorBinPath, Path dataPath) throws IOExce } private static List findEditorsOnPath() { - return Arrays.stream(knownEditors).filter(e -> Util.searchPath(e) != null).collect(Collectors.toList()); + return Arrays.stream(knownEditors) + .filter(e -> Util.searchPath(e) != null) + .map(e -> { + Path found = Util.searchPath(e); + // On Windows, use the full path with extension so Git Bash can execute it + if (Util.isWindows() && found != null) { + return found.toString(); + } + return e; + }) + .collect(Collectors.toList()); } private static void showStartingMsg(String ed, boolean showConfig) {