From 51bcdc409811c9734867a17b9102a1dffa5bed20 Mon Sep 17 00:00:00 2001 From: khud Date: Tue, 13 Apr 2021 12:52:44 +0300 Subject: [PATCH 1/5] Additions to #68: realpath workaround for non GNU systems --- bin/ki.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/bin/ki.sh b/bin/ki.sh index ba7d4ad..7129a0e 100755 --- a/bin/ki.sh +++ b/bin/ki.sh @@ -1,5 +1,15 @@ #!/usr/bin/env bash +command -v realpath &> /dev/null || realpath() { + SCRIPT_PATH=$( [[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}" ) + if [[ -L $SCRIPT_PATH ]]; + then + readlink $SCRIPT_PATH + else + echo $SCRIPT_PATH + fi +} + SCRIPT_DIR="$( dirname $(realpath "$0") )" KI_SHELL=$SCRIPT_DIR/../lib/ki-shell.jar From 7491ed6828d844a6b5a28ab28f6478d100de7ddd Mon Sep 17 00:00:00 2001 From: khud Date: Tue, 13 Apr 2021 23:02:30 +0300 Subject: [PATCH 2/5] Fix #65 for Unix systems --- bin/ki.sh | 39 ++++++++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/bin/ki.sh b/bin/ki.sh index 7129a0e..19a65ed 100755 --- a/bin/ki.sh +++ b/bin/ki.sh @@ -1,16 +1,41 @@ #!/usr/bin/env bash -command -v realpath &> /dev/null || realpath() { - SCRIPT_PATH=$( [[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}" ) - if [[ -L $SCRIPT_PATH ]]; - then - readlink $SCRIPT_PATH +if command -v java &>/dev/null; then + _JAVA=java +elif [[ -n "$JAVA_HOME" ]] && [[ -x "$JAVA_HOME/bin/java" ]]; then + _JAVA="$JAVA_HOME/bin/java" +else + echo "java not found" + exit 1 +fi + +if [[ "$_JAVA" ]]; then + JAVA_VERSION=$("$_JAVA" -version 2>&1 | awk -F '"' '/version/ {print $2}') + if [[ "$JAVA_VERSION" =~ ^1\.[0-8]+ ]]; then + if [[ "$JAVA_VERSION" =~ ^1\.[0-7]+ ]]; then + echo "java has version $version but at least 1.8 is required" + exit 1 + fi + else + ADD_OPENS="--add-opens java.base/java.util=ALL-UNNAMED" + if [[ "$JAVA_OPTS" ]]; then + JAVA_OPTS="$JAVA_OPTS $ADD_OPENS" + else + JAVA_OPTS=$ADD_OPENS + fi + fi +fi + +command -v realpath &>/dev/null || realpath() { + SCRIPT_PATH=$([[ $1 == /* ]] && echo "$1" || echo "$PWD/${1#./}") + if [[ -L "$SCRIPT_PATH" ]]; then + readlink "$SCRIPT_PATH" else echo $SCRIPT_PATH fi } -SCRIPT_DIR="$( dirname $(realpath "$0") )" +SCRIPT_DIR="$(dirname $(realpath "$0"))" KI_SHELL=$SCRIPT_DIR/../lib/ki-shell.jar -java -jar ${KI_SHELL} $@ +$_JAVA $JAVA_OPTS -jar ${KI_SHELL} $@ From bd02acc3966130740fe3218b5f6c9735fa046371 Mon Sep 17 00:00:00 2001 From: khud Date: Tue, 20 Apr 2021 00:50:54 +0300 Subject: [PATCH 3/5] Support --add-opens flag for Windows --- bin/ki.bat | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/bin/ki.bat b/bin/ki.bat index c48c9f3..c3b5d47 100644 --- a/bin/ki.bat +++ b/bin/ki.bat @@ -1,6 +1,31 @@ @echo off +setlocal enabledelayedexpansion -set SCRIPT_PATH=%~dp0 -set KI_SHELL=%SCRIPT_PATH%\..\lib\ki-shell.jar +set SCRIPT_DIR=%~dp0 +set KI_SHELL=%SCRIPT_DIR%\..\lib\ki-shell.jar +set JAVA_OPTS=%* -java -jar %KI_SHELL% %* +for /f "tokens=3" %%g in ('java -version 2^>^&1 ^| findstr /i "version"') do ( + set JAVA_VERSION=%%g +) + +set JAVA_VERSION=%JAVA_VERSION:"=% + +for /f "delims=. tokens=1-3" %%v in ("%JAVA_VERSION%") do ( + if %%v EQU 1 ( + if %%w LSS 8 ( + @echo java has version !JAVA_VERSION! but at least 1.8 is required + exit /b 1 + ) + ) else ( + set ADD_OPENS=--add-opens java.base/java.util=ALL-UNNAMED + if not defined JAVA_OPTS ( + set JAVA_OPTS=!ADD_OPENS! + ) else ( + set JAVA_OPTS=!JAVA_OPTS! !ADD_OPENS! + ) + ) + java !JAVA_OPTS! -jar !KI_SHELL! +) + +endlocal \ No newline at end of file From e617be297bd26928d8b224eb800fe4109eebb445 Mon Sep 17 00:00:00 2001 From: khud Date: Tue, 27 Apr 2021 21:06:40 +0300 Subject: [PATCH 4/5] Fix shell script --- bin/ki.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/ki.sh b/bin/ki.sh index 19a65ed..90f748a 100755 --- a/bin/ki.sh +++ b/bin/ki.sh @@ -13,7 +13,7 @@ if [[ "$_JAVA" ]]; then JAVA_VERSION=$("$_JAVA" -version 2>&1 | awk -F '"' '/version/ {print $2}') if [[ "$JAVA_VERSION" =~ ^1\.[0-8]+ ]]; then if [[ "$JAVA_VERSION" =~ ^1\.[0-7]+ ]]; then - echo "java has version $version but at least 1.8 is required" + echo "java has version $JAVA_VERSION but at least 1.8 is required" exit 1 fi else From b310265747c071e7d1b80db2cede843a5a2d71b5 Mon Sep 17 00:00:00 2001 From: Pasha Finkelshteyn Date: Tue, 27 Apr 2021 21:25:05 +0300 Subject: [PATCH 5/5] Fixes for shell script --- bin/ki.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/ki.sh b/bin/ki.sh index 90f748a..9d2821a 100755 --- a/bin/ki.sh +++ b/bin/ki.sh @@ -35,7 +35,7 @@ command -v realpath &>/dev/null || realpath() { fi } -SCRIPT_DIR="$(dirname $(realpath "$0"))" +SCRIPT_DIR="$(dirname "$(realpath "$0")")" KI_SHELL=$SCRIPT_DIR/../lib/ki-shell.jar -$_JAVA $JAVA_OPTS -jar ${KI_SHELL} $@ +$_JAVA $JAVA_OPTS -jar "${KI_SHELL}" $@