diff --git a/.travis.yml b/.travis.yml index 7f51ec42d..a2d12b760 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,42 +1,61 @@ sudo: false -dist: trusty +dist: xenial group: stable language: scala +scala: 2.10.7 env: global: - - SBT_VER=1.3.0-M4 + - SBT_VER=1.3.0-M4 + - TRAVIS_JDK=adopt@1.8.212-04 + - JABBA_HOME=$HOME/.jabba + - TRAVIS_JDK11=openjdk@1.11.0 matrix: include: + - os: windows + language: bash + before_install: + - "PowerShell -ExecutionPolicy Bypass -Command '[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-Expression (Invoke-WebRequest https://raw.githubusercontent.com/shyiko/jabba/0.11.2/install.ps1 -UseBasicParsing).Content'" + install: + - $JABBA_HOME/bin/jabba.exe install $TRAVIS_JDK && export JAVA_HOME="$JABBA_HOME/jdk/$TRAVIS_JDK" && export PATH="$JAVA_HOME/bin:$PATH" + - java -Xmx32m -version + - curl https://piccolo.link/sbt-1.2.8.zip -L --output /tmp/sbt.zip + - unzip /tmp/sbt.zip -d $HOME/sbt + - export PATH="$HOME/sbt/sbt/bin:$PATH" + script: + - sbt -Dsbt.build.version=$SBT_VER universal:packageBin + - cd citest + - "./test.bat" + - "test3/test3.bat" + + ## build using JDK 8, test using JDK 8, on macOS + - os: osx + osx_image: xcode9.2 + language: java + before_install: + - curl -sL https://raw.githubusercontent.com/shyiko/jabba/0.11.2/install.sh | bash && . ~/.jabba/jabba.sh + - brew update + - brew install sbt + install: + - $JABBA_HOME/bin/jabba install $TRAVIS_JDK && export JAVA_HOME="$JABBA_HOME/jdk/$TRAVIS_JDK/Contents/Home" && export PATH="$JAVA_HOME/bin:$PATH" + - java -Xmx32m -version + script: + - sbt -Dsbt.build.version=$SBT_VER universal:packageBin + - cd citest && ./test.sh + ## build using JDK 8, test using JDK 8 - script: - sbt -Dsbt.build.version=$SBT_VER universal:packageBin universal:stage integrationTest/test - cd citest && ./test.sh - jdk: oraclejdk8 - - ## build using JDK 8, test using JDK 8, on macOS - - script: - - sbt -Dsbt.build.version=$SBT_VER universal:packageBin - - cd citest && ./test.sh - ## https://github.com/travis-ci/travis-ci/issues/2316 - language: java - os: osx - osx_image: xcode9.2 ## build using JDK 8, test using OpenJDK 11 - - env: - - TRAVIS_JDK=openjdk@1.11.0 - - JABBA_HOME=/home/travis/.jabba - before_install: - - unset _JAVA_OPTIONS - - curl -sL https://raw.githubusercontent.com/shyiko/jabba/0.10.1/install.sh | bash && . ~/.jabba/jabba.sh - script: + - script: - sbt -Dsbt.build.version=$SBT_VER universal:packageBin universal:stage integrationTest/test - - $JABBA_HOME/bin/jabba install $TRAVIS_JDK && export JAVA_HOME="$JABBA_HOME/jdk/$TRAVIS_JDK" && export PATH="$JAVA_HOME/bin:$PATH" && java -Xmx32m -version + - $JABBA_HOME/bin/jabba install $TRAVIS_JDK11 && export JAVA_HOME="$JABBA_HOME/jdk/$TRAVIS_JDK11" && export PATH="$JAVA_HOME/bin:$PATH" + - java -Xmx32m -version - cd citest && ./test.sh - jdk: oraclejdk8 - script: - sbt -Dsbt.build.version=$SBT_VER rpm:packageBin debian:packageBin @@ -45,18 +64,13 @@ matrix: packages: - fakeroot - rpm - jdk: oraclejdk8 - -scala: - - 2.10.7 before_install: - # https://github.com/travis-ci/travis-ci/issues/8408 - - unset _JAVA_OPTIONS - - if [[ "$TRAVIS_OS_NAME" = "osx" ]]; then - brew update; - brew install sbt; - fi + - curl -sL https://raw.githubusercontent.com/shyiko/jabba/0.10.1/install.sh | bash && . ~/.jabba/jabba.sh + +install: + - $JABBA_HOME/bin/jabba install $TRAVIS_JDK && export JAVA_HOME="$JABBA_HOME/jdk/$TRAVIS_JDK" && export PATH="$JAVA_HOME/bin:$PATH" + - java -Xmx32m -version cache: directories: diff --git a/citest/test.bat b/citest/test.bat index 6dc88bae4..e0f2cab41 100644 --- a/citest/test.bat +++ b/citest/test.bat @@ -15,4 +15,8 @@ SET SBT_OPTS=-Xmx4g -Dfile.encoding=UTF8 "freshly-baked\sbt\bin\sbt" "-Dsbt.no.format=true" about +"freshly-baked\sbt\bin\sbt" "-Dsbt.no.format=true" about 1> output.txt 2> err.txt + +"freshly-baked\sbt\bin\sbt" "-Dsbt.no.format=true" check + ENDLOCAL diff --git a/citest/test1.bat b/citest/test1.bat deleted file mode 100644 index 9ac5f2b1c..000000000 --- a/citest/test1.bat +++ /dev/null @@ -1,11 +0,0 @@ -@echo on - -SETLOCAL - -SET JAVA_HOME=C:\jdk11 -SET PATH=C:\jdk11\bin;%PATH% -SET SBT_OPTS=-Xmx4g -Dfile.encoding=UTF8 - -"freshly-baked\sbt\bin\sbt" "-Dsbt.no.format=true" about 1> output.txt 2> err.txt - -ENDLOCAL diff --git a/citest/test2.bat b/citest/test2.bat deleted file mode 100644 index ebd74afe8..000000000 --- a/citest/test2.bat +++ /dev/null @@ -1,11 +0,0 @@ -@echo on - -SETLOCAL - -SET JAVA_HOME=C:\jdk11 -SET PATH=C:\jdk11\bin;%PATH% -SET SBT_OPTS=-Xmx4g -Dfile.encoding=UTF8 - -"freshly-baked\sbt\bin\sbt" "-Dsbt.no.format=true" check - -ENDLOCAL diff --git a/integration-test/src/test/scala/RunnerTest.scala b/integration-test/src/test/scala/RunnerTest.scala index 489edb899..708ab13e1 100644 --- a/integration-test/src/test/scala/RunnerTest.scala +++ b/integration-test/src/test/scala/RunnerTest.scala @@ -5,7 +5,10 @@ import scala.sys.process._ import java.io.File object SbtRunnerTest extends SimpleTestSuite with PowerAssertions { - lazy val sbtScript = new File("target/universal/stage/bin/sbt") + lazy val isWindows: Boolean = sys.props("os.name").toLowerCase(java.util.Locale.ENGLISH).contains("windows") + lazy val sbtScript = + if (isWindows) new File("target/universal/stage/bin/sbt.bat") + else new File("target/universal/stage/bin/sbt") def sbtProcess(arg: String) = sbt.internal.Process(sbtScript.getAbsolutePath + " " + arg, new File("citest"), "JAVA_OPTS" -> "",