From b8dbe42ece35ac7064e15d5de15b2f81ce0bf818 Mon Sep 17 00:00:00 2001 From: Olli Helenius Date: Tue, 9 Oct 2018 19:04:20 +0300 Subject: [PATCH 1/2] Use `preloaded` from `-sbt-dir` Fixes sbt/sbt#3598. --- src/universal/bin/sbt | 2 +- src/universal/bin/sbt-launch-lib.bash | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/universal/bin/sbt b/src/universal/bin/sbt index cca77be05..e1882460f 100755 --- a/src/universal/bin/sbt +++ b/src/universal/bin/sbt @@ -121,7 +121,7 @@ process_my_args () { -no-share) addJava "$noshare_opts" && shift ;; -no-global) addJava "-Dsbt.global.base=$(pwd)/project/.sbtboot" && shift ;; -sbt-boot) require_arg path "$1" "$2" && addJava "-Dsbt.boot.directory=$2" && shift 2 ;; - -sbt-dir) require_arg path "$1" "$2" && addJava "-Dsbt.global.base=$2" && shift 2 ;; + -sbt-dir) require_arg path "$1" "$2" && addJava "-Dsbt.global.base=$2" && sbt_dir="$2" && shift 2 ;; -debug-inc) addJava "-Dxsbt.inc.debug=true" && shift ;; -batch) exec /dev/null 2>&1 && { - mkdir -p "$HOME/.sbt/preloaded" - rsync -a --ignore-existing "$sbt_home/lib/local-preloaded/" "$HOME/.sbt/preloaded" + mkdir -p "$sbt_dir/preloaded" + rsync -a --ignore-existing "$sbt_home/lib/local-preloaded/" "$sbt_dir/preloaded" } } } @@ -277,6 +278,12 @@ copyRt() { } run() { + # process the combined args, then reset "$@" to the residuals + process_args "$@" + set -- "${residual_args[@]}" + argumentCount=$# + + # Copy preloaded repo to sbt_dir (if rsync is available) syncPreloaded # no jar? download it. @@ -286,11 +293,6 @@ run() { exit 1 } - # process the combined args, then reset "$@" to the residuals - process_args "$@" - set -- "${residual_args[@]}" - argumentCount=$# - # TODO - java check should be configurable... checkJava "6" From c8219f8396143161b24d3eafe44fd24d2d025567 Mon Sep 17 00:00:00 2001 From: Olli Helenius Date: Tue, 9 Oct 2018 23:51:34 +0300 Subject: [PATCH 2/2] Improve logic for finding preloaded directory --- src/universal/bin/sbt | 2 +- src/universal/bin/sbt-launch-lib.bash | 50 +++++++++++++++++++++++---- 2 files changed, 44 insertions(+), 8 deletions(-) diff --git a/src/universal/bin/sbt b/src/universal/bin/sbt index e1882460f..cca77be05 100755 --- a/src/universal/bin/sbt +++ b/src/universal/bin/sbt @@ -121,7 +121,7 @@ process_my_args () { -no-share) addJava "$noshare_opts" && shift ;; -no-global) addJava "-Dsbt.global.base=$(pwd)/project/.sbtboot" && shift ;; -sbt-boot) require_arg path "$1" "$2" && addJava "-Dsbt.boot.directory=$2" && shift 2 ;; - -sbt-dir) require_arg path "$1" "$2" && addJava "-Dsbt.global.base=$2" && sbt_dir="$2" && shift 2 ;; + -sbt-dir) require_arg path "$1" "$2" && addJava "-Dsbt.global.base=$2" && shift 2 ;; -debug-inc) addJava "-Dxsbt.inc.debug=true" && shift ;; -batch) exec /dev/null 2>&1 && { - mkdir -p "$sbt_dir/preloaded" - rsync -a --ignore-existing "$sbt_home/lib/local-preloaded/" "$sbt_dir/preloaded" + mkdir -p "$target_preloaded" + rsync -a --ignore-existing "$source_preloaded" "$preloaded" } } } @@ -283,7 +319,7 @@ run() { set -- "${residual_args[@]}" argumentCount=$# - # Copy preloaded repo to sbt_dir (if rsync is available) + # Copy preloaded repo to user's preloaded directory syncPreloaded # no jar? download it.