From 88229e03ba1be0fc944b90c38031210c14ea4fb1 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Tue, 9 Oct 2018 18:44:41 -0400 Subject: [PATCH] Fix test on openjdk11 --- .travis.yml | 22 +++--- citest/install-jdk.sh | 167 ------------------------------------------ citest/test.sh | 8 -- 3 files changed, 12 insertions(+), 185 deletions(-) delete mode 100755 citest/install-jdk.sh diff --git a/.travis.yml b/.travis.yml index b1f6cad6d..451d7b8a9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,12 @@ +sudo: false dist: trusty +group: stable language: scala env: global: - - SBT_VER=1.1.1 + - SBT_VER=1.2.4 matrix: include: @@ -23,17 +25,16 @@ matrix: os: osx osx_image: xcode9.2 - ## build using JDK 8, test using OpenJDK 10 - - script: - - sbt -Dsbt.build.version=$SBT_VER universal:packageBin - - citest/install-jdk.sh -F 10 - - cd citest && ./test.sh - jdk: oraclejdk8 - ## build using JDK 8, test using OpenJDK 11 - - script: + - 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: - sbt -Dsbt.build.version=$SBT_VER universal:packageBin - - citest/install-jdk.sh -F 11 + - $JABBA_HOME/bin/jabba install $TRAVIS_JDK && export JAVA_HOME="$JABBA_HOME/jdk/$TRAVIS_JDK" && export PATH="$JAVA_HOME/bin:$PATH" && java -Xmx32m -version - cd citest && ./test.sh jdk: oraclejdk8 @@ -61,6 +62,7 @@ cache: directories: - $HOME/.ivy2/cache - $HOME/.sbt/boot + - $HOME/.jabba/jdk before_cache: - find $HOME/.ivy2 -name "ivydata-*.properties" -delete diff --git a/citest/install-jdk.sh b/citest/install-jdk.sh deleted file mode 100755 index a22b44c29..000000000 --- a/citest/install-jdk.sh +++ /dev/null @@ -1,167 +0,0 @@ -#!/usr/bin/env bash - -# -# Install JDK for Linux -# -# This script determines the most recent early-access build number, -# downloads the JDK archive to the user home directory and extracts -# it there. -# -# Example usage -# -# install-jdk.sh -D | only gather and print variable values -# install-jdk.sh | install most recent (early-access) OpenJDK -# install-jdk.sh -W /usr/opt | install most recent (early-access) OpenJDK to /usr/opt -# install-jdk.sh -C | install most recent (early-access) OpenJDK with linked system CA certificates -# install-jdk.sh -F 9 | install most recent OpenJDK 9 -# install-jdk.sh -F 10 | install most recent OpenJDK 10 -# install-jdk.sh -F 11 | install most recent OpenJDK 11 -# install-jdk.sh -F 11 -L BCL | install most recent Oracle JDK 11 -# -# Options -# -# -D | Dry-run, only gather and print variable values -# -F f | Feature number of the JDK release [9|10|...|?] -# -L l | License of the JDK [GPL|BCL] -# -W w | Working directory and install path [${HOME}] -# -C | Use system CA certificates (currently only Debian/Ubuntu is supported) -# -# Exported environment variables -# -# JAVA_HOME is set to the extracted JDK directory -# PATH is prepended with ${JAVA_HOME}/bin -# -# (C) 2018 Christian Stein -# -# https://github.com/sormuras/bach/blob/master/install-jdk.sh -# -set -e - -VERSION='2018-04-05' -DRY_RUN='0' -LINK_SYSTEM_CACERTS='0' - -JDK_FEATURE='?' -JDK_BUILD='?' -JDK_LICENSE='GPL' -JDK_WORKSPACE=${HOME} -JDK_DOWNLOAD='https://download.java.net/java' -JDK_ORACLE='http://download.oracle.com/otn-pub/java/jdk' - -echo "install-jdk.sh (${VERSION})" - -# -# Parse command line options -# -while getopts ':F:L:W:CD' option; do - case "${option}" in - D) DRY_RUN='1';; - C) LINK_SYSTEM_CACERTS='1';; - F) JDK_FEATURE=${OPTARG};; - L) JDK_LICENSE=${OPTARG};; - W) JDK_WORKSPACE=${OPTARG};; - :) echo "Option -${OPTARG} requires an argument."; exit 1;; - \?) echo "Invalid option: -${OPTARG}"; exit 1;; - esac -done - -# -# Determine latest (early access or release candidate) number. -# -LATEST='11' -TMP=${LATEST} -while [ "${TMP}" != '99' ] -do - CODE=$(curl -o /dev/null --silent --head --write-out %{http_code} http://jdk.java.net/${TMP}) - if [ "${CODE}" -ge '400' ]; then - break - fi - LATEST=${TMP} - TMP=$[${TMP} +1] -done - -# -# Sanity checks. -# -if [ "${JDK_FEATURE}" == '?' ]; then - JDK_FEATURE=${LATEST} -fi -if [ "${JDK_FEATURE}" -lt '9' ] || [ "${JDK_FEATURE}" -gt "${LATEST}" ]; then - echo "Expected JDK_FEATURE number in range of [9..${LATEST}], but got: ${JDK_FEATURE}" - exit 1 -fi - -# -# Determine URL... -# -JDK_URL=$(wget -qO- http://jdk.java.net/${JDK_FEATURE} | grep -Eo 'href[[:space:]]*=[[:space:]]*"[^\"]+"' | grep -Eo '(http|https)://[^"]+') -if [ "${JDK_FEATURE}" == "${LATEST}" ]; then - JDK_URL=$(echo "${JDK_URL}" | grep -Eo "${JDK_DOWNLOAD}/.+/jdk${JDK_FEATURE}/.+/${JDK_LICENSE}/.*jdk-${JDK_FEATURE}.+linux-x64_bin.tar.gz$") -else - JDK_URL=$(echo "${JDK_URL}" | grep -Eo "${JDK_DOWNLOAD}/.+/jdk${JDK_FEATURE}/.+/.*jdk-${JDK_FEATURE}.+linux-x64_bin.tar.gz$") - if [ "${JDK_LICENSE}" == 'BCL' ]; then - case "${JDK_FEATURE}" in - 9) JDK_URL="${JDK_ORACLE}/9.0.4+11/c2514751926b4512b076cc82f959763f/jdk-9.0.4_linux-x64_bin.tar.gz";; - 10) JDK_URL="${JDK_ORACLE}/10+46/76eac37278c24557a3c4199677f19b62/jdk-10_linux-x64_bin.tar.gz";; - esac - fi -fi - -# -# Inspect URL properties. -# -JDK_ARCHIVE=$(basename ${JDK_URL}) -JDK_STATUS=$(curl -o /dev/null --silent --head --write-out %{http_code} ${JDK_URL}) - -# -# Print variables and exit if dry-run is active. -# -echo " FEATURE = ${JDK_FEATURE}" -echo " LICENSE = ${JDK_LICENSE}" -echo " ARCHIVE = ${JDK_ARCHIVE}" -echo " URL = ${JDK_URL} [${JDK_STATUS}]" -echo -if [ "${DRY_RUN}" == '1' ]; then - exit 0 -fi - -# -# Create any missing intermediate paths, switch to workspace, download, unpack, switch back. -# -mkdir -p ${JDK_WORKSPACE} -cd ${JDK_WORKSPACE} -wget --continue --header "Cookie: oraclelicense=accept-securebackup-cookie" ${JDK_URL} -file ${JDK_ARCHIVE} -JDK_HOME=$(tar --list --auto-compress --file ${JDK_ARCHIVE} | head -1 | cut -f1 -d"/") -tar --extract --auto-compress --file ${JDK_ARCHIVE} -cd ${OLDPWD} - -# -# Update environment variables. -# -export JAVA_HOME=${JDK_WORKSPACE}/${JDK_HOME} -export PATH=${JAVA_HOME}/bin:$PATH - -# -# Link to system certificates. -# - http://openjdk.java.net/jeps/319 -# - https://bugs.openjdk.java.net/browse/JDK-8196141 -# -if [ "${LINK_SYSTEM_CACERTS}" == '1' ]; then - mv "${JAVA_HOME}/lib/security/cacerts" "${JAVA_HOME}/lib/security/cacerts.jdk" - # TODO: Support for other distros than Debian/Ubuntu could be provided - ln -s /etc/ssl/certs/java/cacerts "${JAVA_HOME}/lib/security/cacerts" -fi - -# -# Test-drive. -# -echo -java --version -echo - -# -# Always print value of JAVA_HOME as last line. -# Usage from other scripts or shell: JAVA_HOME=$(./install-jdk.sh -L GPL | tail -n 1) -# -echo ${JAVA_HOME} diff --git a/citest/test.sh b/citest/test.sh index 5569842aa..2b08afcae 100755 --- a/citest/test.sh +++ b/citest/test.sh @@ -3,14 +3,6 @@ ## https://github.com/travis-ci/travis-ci/issues/8408 export _JAVA_OPTIONS= -## begin Java switching -## swtich to JDK 10 if we've downloaded it -if [ -d ~/jdk-10 ] -then - JAVA_HOME=~/jdk-10 -fi -## include JAVA_HOME into path -PATH=${JAVA_HOME}/bin:$PATH java -version ## end of Java switching