From 6773c93aeb800c2fe16ad94ff41bbb327aa2520d Mon Sep 17 00:00:00 2001 From: Tako Schotanus Date: Sun, 11 Oct 2020 18:32:35 +0200 Subject: [PATCH] fix: Windows testing broken The jbang.cmd script wasn't handling the creation of temp files correctly. Also the *nix verion of the script wasn't properly detecting runing on Cygwin anymore either. And finally the `build` command was returning the wrong exit code. Fixes: #421 --- src/main/java/dev/jbang/cli/Build.java | 2 +- src/main/scripts/jbang | 42 +++++++++++++------------- src/main/scripts/jbang.cmd | 3 +- 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/src/main/java/dev/jbang/cli/Build.java b/src/main/java/dev/jbang/cli/Build.java index 8ac5c78c1..c4974c741 100644 --- a/src/main/java/dev/jbang/cli/Build.java +++ b/src/main/java/dev/jbang/cli/Build.java @@ -19,6 +19,6 @@ public Integer doCall() throws IOException { build(script); } - return EXIT_EXECUTE; + return EXIT_OK; } } diff --git a/src/main/scripts/jbang b/src/main/scripts/jbang index 67bfcbbc8..6d628d044 100755 --- a/src/main/scripts/jbang +++ b/src/main/scripts/jbang @@ -41,6 +41,27 @@ download() { abs_jbang_path=$(resolve_symlink $(absolute_path $0)) +case "$(uname -s)" in + Linux*) + os=linux;; + Darwin*) + os=mac;; + CYGWIN*|MINGW*) + os=windows;; + *) echo "Unsupported Operating System: $(uname -s)" 1>&2; exit 1;; +esac + +case "$(uname -m)" in + i?86) + arch=x32;; + x86_64|amd64) + arch=x64;; + aarch64) + arch=aarch64;; + *) + echo "Unsupported Architecture: $(uname -m)" 1>&2; exit 1;; +esac + ## when mingw/git bash or cygwin fall out to just running the bat file. if [[ $os == windows ]]; then $(dirname $abs_jbang_path)/jbang.cmd $* @@ -72,27 +93,6 @@ else eval "exec $JBDIR/bin/jbang $*" fi -case "$(uname -s)" in - Linux*) - os=linux;; - Darwin*) - os=mac;; - CYGWIN*|MINGW*) - os=windows;; - *) echo "Unsupported Operating System: $(uname -s)" 1>&2; exit 1;; -esac - -case "$(uname -m)" in - i?86) - arch=x32;; - x86_64|amd64) - arch=x64;; - aarch64) - arch=aarch64;; - *) - echo "Unsupported Architecture: $(uname -m)" 1>&2; exit 1;; -esac - # Find/get a JDK unset JAVA_EXEC if [[ -n "$JAVA_HOME" ]]; then diff --git a/src/main/scripts/jbang.cmd b/src/main/scripts/jbang.cmd index 40ae3f7a6..3bb58d87b 100644 --- a/src/main/scripts/jbang.cmd +++ b/src/main/scripts/jbang.cmd @@ -83,7 +83,8 @@ if "!JAVA_EXEC!"=="" ( ) ) -set tmpfile=%TDIR%\%RANDOM%.tmp +if not exist "%TDIR%" ( mkdir "%TDIR%" ) +set tmpfile=%TDIR%\%RANDOM%.jbang.tmp rem execute jbang and pipe to temporary random file set "CMD=!JAVA_EXEC!" SETLOCAL DISABLEDELAYEDEXPANSION