From 9cc70d612b22febe5aaa8db28ef0381c9e4b4081 Mon Sep 17 00:00:00 2001 From: Jimin Hsieh Date: Mon, 24 Jun 2019 15:22:04 +0800 Subject: [PATCH] Use OpenJDK intead of Oracle JDK (#1241) * Use OpenJDK for Win at CI * Typo * Use Zulu OpenJDK for Linux at CI * Remove original GraalVM installation * Remove original sbt installation * Don't need to install sbt at osx * Already install OpenJFX for Java 8 * Fix error by rebasing incorrectly * Install OpenJDK through jabba at osx * Remove typo * Fix osx's JAVA_HOME * Fix bash error * Specific Java patch version --- .travis.yml | 53 ++++++++++++++++++++++++++-------------- .travis/download-graalvm | 42 ------------------------------- .travis/download-sbt | 11 --------- appveyor.yml | 7 ++++-- build.sbt | 2 +- 5 files changed, 41 insertions(+), 74 deletions(-) delete mode 100755 .travis/download-graalvm delete mode 100755 .travis/download-sbt diff --git a/.travis.yml b/.travis.yml index a94af3b8a..8b7cb3312 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,6 @@ -language: java +language: scala scala: 2.12.7 os: linux -jdk: openjdk8 addons: apt: @@ -16,11 +15,12 @@ cache: - $HOME/.sbt - $HOME/.m2 - $HOME/.ivy2 - - $GRAALVM_PARENT_DIRECTORY + - $HOME/.jabba env: global: - - GRAALVM_PARENT_DIRECTORY: ${HOME}/.local/share + - TRAVIS_JDK=zulu@1.8.212 + - JABBA_HOME=$HOME/.jabba - COMMIT_AUTHOR_EMAIL: "sbt-native-packager@muki.rocks" - RELEASE_BRANCH: master - secure: bK5zEd2s3y+ScGwuGcxlP0tXx83nvurmF/SWuQSmI0A2KRelipGSSY2BTa+URKk9smJusJIZUi72EqEwMHDhxLCfHomjze5BmpJB5Mr3fQI700nxPEA95cbM4Z1G9+K6fYWy2pi5S7Xmz1Sg07bP4sfzyVYlNB20aquLCmB9Llk= @@ -33,12 +33,16 @@ before_install: - if [[ "$TRAVIS_OS_NAME" = "osx" ]]; then brew update; brew install xz; - brew install sbt; fi - -before_script: -- .travis/download-sbt -- .travis/download-graalvm + - if [[ "$TRAVIS_OS_NAME" = "linux" ]] || [[ "$TRAVIS_OS_NAME" = "osx" ]]; then + wget -qO- https://github.com/shyiko/jabba/raw/master/install.sh | bash && . ~/.jabba/jabba.sh; + $JABBA_HOME/bin/jabba install $TRAVIS_JDK; + fi + - if [[ "$TRAVIS_OS_NAME" = "linux" ]]; then + export JAVA_HOME="$JABBA_HOME/jdk/$TRAVIS_JDK" && export PATH="$JAVA_HOME/bin:$PATH" && java -version; + elif [[ "$TRAVIS_OS_NAME" = "osx" ]]; then + export JAVA_HOME="$JABBA_HOME/jdk/$TRAVIS_JDK/Contents/Home" && export PATH="$JAVA_HOME/bin:$PATH" && java -version; + fi # job definitions @@ -52,7 +56,11 @@ jobs: script: sbt "^validateUniversal" if: type = pull_request OR (type = push AND branch = master) name: "scripted universal tests" - - script: sbt "^validateGraalVMNativeImage" + - script: | + $JABBA_HOME/bin/jabba install graalvm@19.0.0 + export JAVA_HOME="$JABBA_HOME/jdk/graalvm@19.0.0" && export PATH="$JAVA_HOME/bin:$PATH" && java -version + gu install native-image + sbt "^validateGraalVMNativeImage" if: type = pull_request OR (type = push AND branch = master) name: "scripted GraalVM native-image tests" - script: sbt "^validateJar" @@ -73,28 +81,37 @@ jobs: - script: sbt "^validateDockerUnit" name: "scripted docker unit-tests" if: type = pull_request OR (type = push AND branch = master) - - script: sbt "^validateJdkPackagerTravis" + # below will install ZuluFX OpenJFX + - script: | + wget https://cdn.azul.com/zulu/bin/zulu8.38.0.13-ca-fx-jdk8.0.212-linux_x64.tar.gz + tar -xvf zulu8.38.0.13-ca-fx-jdk8.0.212-linux_x64.tar.gz -C $JAVA_HOME --strip 1 + rm zulu8.38.0.13-ca-fx-jdk8.0.212-linux_x64.tar.gz + sbt "^validateJdkPackagerTravis" name: "scripted jdk-packager tests" - jdk: oraclejdk10 # jdk11 doesn't ship with javafx which is required by tests if: type = pull_request OR (type = push AND branch = master) # docker configuration as described in # https://docs.travis-ci.com/user/docker/ - - script: sbt "^validateJlink" + - script: | + export TRAVIS_JDK=zulu@1.11.0-2 + $JABBA_HOME/bin/jabba install $TRAVIS_JDK + export JAVA_HOME="$JABBA_HOME/jdk/$TRAVIS_JDK" && export PATH="$JAVA_HOME/bin:$PATH" && java -version + sbt "^validateJlink" name: "scripted jlink tests" - jdk: openjdk11 if: type = pull_request OR (type = push AND branch = master) - - script: sbt "^validateJlink" + - script: | + export TRAVIS_JDK=zulu@1.12.0-1 + $JABBA_HOME/bin/jabba install $TRAVIS_JDK + export JAVA_HOME="$JABBA_HOME/jdk/$TRAVIS_JDK" && export PATH="$JAVA_HOME/bin:$PATH" && java -version + sbt "^validateJlink" name: "scripted jlink tests" - jdk: openjdk12 if: type = pull_request OR (type = push AND branch = master) - script: sbt "^validateDocker" - name: "scripted docker integration-tests"1239 + name: "scripted docker integration-tests" if: type = pull_request OR (type = push AND branch = master) services: docker sudo: required - script: sbt "^validateOSX" name: "scripted osx tests" - jdk: openjdk11 if: type = pull_request OR (type = push AND branch = master) os: osx osx_image: xcode8 diff --git a/.travis/download-graalvm b/.travis/download-graalvm deleted file mode 100755 index b73803f4d..000000000 --- a/.travis/download-graalvm +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash -# Make GraalVM `native-image` available and nothing else -function setup_os_specific_envs() { - case $(uname | tr '[:upper:]' '[:lower:]') in - linux*) - OS_NAME=linux - BIN_PATH=bin - ;; - darwin*) - OS_NAME=darwin - BIN_PATH=Contents/Home/bin/ - ;; - *) - echo "Unsupported OS" - exit - esac -} - -setup_os_specific_envs -GRAALVM_VERSION=19.0.0 -GRAALVM_DISTRIBUTION=graalvm-ce -GRAAL_DIRECTORY=${GRAALVM_PARENT_DIRECTORY}/${GRAALVM_DISTRIBUTION}-${GRAALVM_VERSION} -TAR_GZ_FILENAME=${GRAALVM_DISTRIBUTION}-${OS_NAME}-amd64-${GRAALVM_VERSION}.tar.gz -TAR_GZ_URL=https://github.com/oracle/graal/releases/download/vm-${GRAALVM_VERSION}/${TAR_GZ_FILENAME} -NATIVE_IMAGE=${GRAAL_DIRECTORY}/${BIN_PATH}/native-image -NATIVE_IMAGE_TARGET_DIRECTORY=${HOME}/.local/bin -NATIVE_IMAGE_TARGET=${NATIVE_IMAGE_TARGET_DIRECTORY}/native-image -if [[ ! -f ${NATIVE_IMAGE} ]] -then - (mkdir -p ${GRAALVM_PARENT_DIRECTORY} && - cd ${GRAALVM_PARENT_DIRECTORY} && - wget -O ${TAR_GZ_FILENAME} ${TAR_GZ_URL} && - tar zxf ${TAR_GZ_FILENAME} && - ${GRAAL_DIRECTORY}/${BIN_PATH}/gu install native-image && - rm -f ${TAR_GZ_FILENAME}) -else - echo "GraalVM Native Image already exists" -fi -ls -lsa ${NATIVE_IMAGE} -mkdir -p ${NATIVE_IMAGE_TARGET_DIRECTORY} -ln -f -s ${NATIVE_IMAGE} ${NATIVE_IMAGE_TARGET} -export PATH=${NATIVE_IMAGE_TARGET_DIRECTORY}:${PATH} diff --git a/.travis/download-sbt b/.travis/download-sbt deleted file mode 100755 index 52bf41ae1..000000000 --- a/.travis/download-sbt +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -SBT_VERSION=1.2.6 -SBT_LAUNCH_JAR_URL=http://dl.bintray.com/sbt/maven-releases/org/scala-sbt/sbt-launch/${SBT_VERSION}/sbt-launch.jar -TARGET_SBT_LAUNCH_JAR=${HOME}/.sbt/launchers/${SBT_VERSION}/sbt-launch.jar - -if [ -f ${TARGET_SBT_LAUNCH_JAR} ]; then - echo "sbt ${SBT_VERSION} already exists" - exit -fi - -curl -L --create-dirs -o ${TARGET_SBT_LAUNCH_JAR} ${SBT_LAUNCH_JAR_URL} diff --git a/appveyor.yml b/appveyor.yml index c55a3b24f..eb5f4300c 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,14 +1,17 @@ version: '{build}' os: Windows Server 2012 install: + - cmd: choco install zulu8 -ia "INSTALLDIR=""C:\zulu""" + - cmd: SET JAVA_HOME="C:\zulu" - cmd: choco install sbt -ia "INSTALLDIR=""C:\sbt""" - cmd: SET PATH=C:\sbt\bin;%JAVA_HOME%\bin;%PATH% - - cmd: SET SBT_OPTS=-XX:MaxPermSize=2g -Xmx4g + - cmd: java -version + - cmd: SET SBT_OPTS=-Xms4g -Xmx4g build_script: - sbt clean compile test_script: - sbt validateWindows cache: - - C:\sbt\ + - C:\Users\appveyor\.sbt - C:\Users\appveyor\.m2 - C:\Users\appveyor\.ivy2 diff --git a/build.sbt b/build.sbt index 915f6dbc4..18440e3da 100644 --- a/build.sbt +++ b/build.sbt @@ -21,7 +21,7 @@ libraryDependencies ++= Seq( "org.scalatest" %% "scalatest" % "3.0.5" % Test ) -// sbt dependend libraries +// sbt dependent libraries libraryDependencies ++= { (pluginCrossBuild / sbtVersion).value match { case v if v.startsWith("1.") =>