diff --git a/.appveyor.yml b/.appveyor.yml index c822f2293..ef6d53c05 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -5,7 +5,7 @@ init: install: - cinst jdk8 -params 'installdir=C:\\jdk8' - - cinst jdk9 -version 9.0.4.11 -params 'installdir=C:\\jdk9' + - cinst jdk10 -params 'installdir=C:\\jdk10' - SET JAVA_HOME=C:\jdk8 - SET PATH=C:\jdk8\bin;%PATH% @@ -22,7 +22,7 @@ install: - SET SBT_OPTS=-XX:MaxPermSize=2g -Xmx4g -Dfile.encoding=UTF8 test_script: - - sbt "-Dsbt.build.version=1.0.4" universal:packageBin + - sbt "-Dsbt.build.version=1.1.2" universal:packageBin - cd citest - test.bat - test1.bat diff --git a/citest/test.bat b/citest/test.bat index 7d35a6ca6..f1a372b55 100644 --- a/citest/test.bat +++ b/citest/test.bat @@ -9,8 +9,8 @@ SETLOCAL "freshly-baked\sbt\bin\sbt" about -SET JAVA_HOME=C:\jdk9 -SET PATH=C:\jdk9\bin;%PATH% +SET JAVA_HOME=C:\jdk10 +SET PATH=C:\jdk10\bin;%PATH% SET SBT_OPTS=-Xmx4g -Dfile.encoding=UTF8 "freshly-baked\sbt\bin\sbt" about diff --git a/citest/test1.bat b/citest/test1.bat index b02954cd9..a0bbd1169 100644 --- a/citest/test1.bat +++ b/citest/test1.bat @@ -2,8 +2,8 @@ SETLOCAL -SET JAVA_HOME=C:\jdk9 -SET PATH=C:\jdk9\bin;%PATH% +SET JAVA_HOME=C:\jdk10 +SET PATH=C:\jdk10\bin;%PATH% SET SBT_OPTS=-Xmx4g -Dfile.encoding=UTF8 "freshly-baked\sbt\bin\sbt" about 1> output.txt 2> err.txt diff --git a/citest/test2.bat b/citest/test2.bat index b02598217..4a7301ee9 100644 --- a/citest/test2.bat +++ b/citest/test2.bat @@ -2,8 +2,8 @@ SETLOCAL -SET JAVA_HOME=C:\jdk9 -SET PATH=C:\jdk9\bin;%PATH% +SET JAVA_HOME=C:\jdk10 +SET PATH=C:\jdk10\bin;%PATH% SET SBT_OPTS=-Xmx4g -Dfile.encoding=UTF8 "freshly-baked\sbt\bin\sbt" check diff --git a/citest/test3/test3.bat b/citest/test3/test3.bat index 8b3fe5a94..e70f4e38c 100644 --- a/citest/test3/test3.bat +++ b/citest/test3/test3.bat @@ -2,8 +2,8 @@ SETLOCAL -SET JAVA_HOME=C:\jdk9 -SET PATH=C:\jdk9\bin;%PATH% +SET JAVA_HOME=C:\jdk10 +SET PATH=C:\jdk10\bin;%PATH% SET SBT_OPTS=-Xmx4g -Dfile.encoding=UTF8 SET BASE_DIR=%CD% diff --git a/src/universal/bin/sbt.bat b/src/universal/bin/sbt.bat index 13087fe38..ff8507716 100644 --- a/src/universal/bin/sbt.bat +++ b/src/universal/bin/sbt.bat @@ -99,24 +99,25 @@ goto end goto :eof :process -rem parses 1.7, 1.8, 9, etc out of java version "1.8.0_91" -"%_JAVACMD%" -Xmx512M -version 2> "%TEMP%\out.txt" +rem Parses x out of 1.x; for example 8 out of java version 1.8.0_xx +rem Otherwise, parses the major version; 9 out of java version 9-ea set JAVA_VERSION=0 ->nul findstr /c:"version \"9" "%TEMP%\out.txt" -if /I %ERRORLEVEL% EQU 0 (set JAVA_VERSION=9) ->nul findstr /c:"version \"1.8" "%TEMP%\out.txt" -if /I %ERRORLEVEL% EQU 0 (set JAVA_VERSION=1.8) ->nul findstr /c:"version \"1.7" "%TEMP%\out.txt" -if /I %ERRORLEVEL% EQU 0 (set JAVA_VERSION=1.7) ->nul findstr /c:"version \"1.6" "%TEMP%\out.txt" -if /I %ERRORLEVEL% EQU 0 (set JAVA_VERSION=1.6) ->nul findstr /c:"version \"1.5" "%TEMP%\out.txt" -if /I %ERRORLEVEL% EQU 0 (set JAVA_VERSION=1.5) +for /f "tokens=3" %%g in ('%_JAVACMD% -Xms32M -Xmx32M -version 2^>^&1 ^| findstr /i "version"') do ( + set JAVA_VERSION=%%g +) +set JAVA_VERSION=%JAVA_VERSION:"=% +for /f "delims=.-_ tokens=1-2" %%v in ("%JAVA_VERSION%") do ( + if /I "%%v" EQU "1" ( + set JAVA_VERSION=%%w + ) else ( + set JAVA_VERSION=%%v + ) +) exit /B 0 :checkjava -set required_version=1.6 -if /I "%JAVA_VERSION%" GEQ "%required_version%" ( +set required_version=6 +if /I %JAVA_VERSION% GEQ %required_version% ( exit /B 0 ) echo. @@ -130,7 +131,7 @@ echo. exit /B 1 :copyrt -if /I "%JAVA_VERSION%" GEQ "9" ( +if /I %JAVA_VERSION% GEQ 9 ( set rtexport=!SBT_HOME!java9-rt-export.jar "%_JAVACMD%" %_JAVA_OPTS% %SBT_OPTS% -jar "!rtexport!" --rt-ext-dir > "%TEMP%.\rtext.txt" @@ -160,7 +161,7 @@ if "%INIT_SBT_VERSION%"=="" ( ) ) set PRELOAD_SBT_JAR="%UserProfile%\.sbt\preloaded\org.scala-sbt\sbt\%INIT_SBT_VERSION%\jars\sbt.jar" -if /I "%JAVA_VERSION%" GEQ "1.8" ( +if /I %JAVA_VERSION% GEQ 8 ( where robocopy >nul 2>nul if %ERRORLEVEL% equ 0 ( REM echo %PRELOAD_SBT_JAR%