Merge pull request #160 from tksk/master

Fix syncing preloaded bugs
This commit is contained in:
eugene yokota 2017-05-30 13:07:27 -04:00 committed by GitHub
commit ace1846e36
3 changed files with 19 additions and 5 deletions

View File

@ -166,9 +166,11 @@ val root = (project in file(".")).
val old = (stage in Universal).value
val sd = (stagingDirectory in Universal).value
val x = IO.read(sd / "bin" / "sbt-launch-lib.bash")
IO.write(sd / "bin" / "sbt-launch-lib.bash", x.replaceAllLiterally("declare init_sbt_version=", s"declare init_sbt_version=$sbtVersionToRelease"))
IO.write(sd / "bin" / "sbt-launch-lib.bash", x.replaceAllLiterally(
"declare init_sbt_version=_to_be_replaced", s"declare init_sbt_version=$sbtVersionToRelease"))
val y = IO.read(sd / "bin" / "sbt.bat")
IO.write(sd / "bin" / "sbt.bat", y.replaceAllLiterally("set INIT_SBT_VERSION=", s"set INIT_SBT_VERSION=$sbtVersionToRelease"))
IO.write(sd / "bin" / "sbt.bat", y.replaceAllLiterally(
"set INIT_SBT_VERSION=_TO_BE_REPLACED", s"set INIT_SBT_VERSION=$sbtVersionToRelease"))
old
},

View File

@ -12,7 +12,7 @@ declare -a scalac_args
declare -a sbt_commands
declare java_cmd=java
declare java_version
declare init_sbt_version=
declare init_sbt_version=_to_be_replaced
declare SCRIPT=$0
while [ -h "$SCRIPT" ] ; do
@ -170,6 +170,10 @@ process_args () {
}
syncPreloaded() {
if [[ "$init_sbt_version" == "" ]]; then
# FIXME: better $init_sbt_version detection
init_sbt_version="$(ls -1 "$sbt_home/lib/local-preloaded/org.scala-sbt/sbt/")"
fi
[[ -f "$HOME/.sbt/preloaded/org.scala-sbt/sbt/$init_sbt_version/jars/sbt.jar" ]] || {
# lib/local-preloaded exists (This is optional)
[[ -d "$sbt_home/lib/local-preloaded/" ]] && {

View File

@ -53,6 +53,8 @@ rem We use the value of the JAVA_OPTS environment variable if defined, rather th
set _JAVA_OPTS=%JAVA_OPTS%
if "%_JAVA_OPTS%"=="" set _JAVA_OPTS=%CFG_OPTS%
set INIT_SBT_VERSION=_TO_BE_REPLACED
:args_loop
if "%~1" == "" goto args_end
@ -143,15 +145,21 @@ if /I "%JAVA_VERSION%" GEQ "9" (
exit /B 0
:sync_preloaded
if "%INIT_SBT_VERSION%"=="" (
rem FIXME: better %INIT_SBT_VERSION% detection
FOR /F "tokens=* USEBACKQ" %%F IN (`dir /b "%SBT_HOME%\..\lib\local-preloaded\org.scala-sbt\sbt" /B`) DO (
SET INIT_SBT_VERSION=%%F
)
)
set PRELOAD_SBT_JAR="%UserProfile%\.sbt\preloaded\org.scala-sbt\sbt\%INIT_SBT_VERSION%\jars\sbt.jar"
if /I "%JAVA_VERSION%" GEQ "8" (
if /I "%JAVA_VERSION%" GEQ "1.8" (
where robocopy >nul 2>nul
if %ERRORLEVEL% equ 0 (
echo %PRELOAD_SBT_JAR%
if not exist %PRELOAD_SBT_JAR% (
if exist "%SBT_HOME%\..\lib\local-preloaded\" (
echo 'about to robocopy'
robocopy "%SBT_HOME%\..\lib\local-preloaded\" "%UserProfile%\.sbt\preloaded"
robocopy "%SBT_HOME%\..\lib\local-preloaded" "%UserProfile%\.sbt\preloaded" /E
)
)
)