You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2018/02/21 15:13:23 UTC

groovy git commit: Add more JDK builds

Repository: groovy
Updated Branches:
  refs/heads/master 972958ce3 -> 63fc0a403


Add more JDK builds


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/63fc0a40
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/63fc0a40
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/63fc0a40

Branch: refs/heads/master
Commit: 63fc0a4036538fcf329d3a5b104dd32aa56d2d56
Parents: 972958c
Author: danielsun1106 <re...@hotmail.com>
Authored: Wed Feb 21 23:13:16 2018 +0800
Committer: danielsun1106 <re...@hotmail.com>
Committed: Wed Feb 21 23:13:16 2018 +0800

----------------------------------------------------------------------
 .travis.yml                |  27 +++++++---
 src/install/install-jdk.sh | 107 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 126 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/63fc0a40/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index 9473e53..80087cc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,23 +18,34 @@ language: groovy
 # set sudo required for non-container vm with more mem even though we don't need sudo
 # https://docs.travis-ci.com/user/reference/overview/
 sudo: required
+dist: trusty
 
 matrix:
   include:
+# Java 10 "Oracle JDK"
+    - env: JDK_RELEASE='Oracle JDK 10' EXTRA_GRADLE_ARGS=''
+      install: . ./src/install/install-jdk.sh -F 10 -L BCL
+# Java 10 "OpenJDK"
+    - env: JDK_RELEASE='OpenJDK 10' EXTRA_GRADLE_ARGS=''
+      install: . ./src/install/install-jdk.sh -F 10 -L GPL
+# Java 9 "Oracle JDK" (provided by Travis CI)
     - jdk: oraclejdk9
+      env: JDK_RELEASE='Oracle JDK 9' EXTRA_GRADLE_ARGS=''
+      install: echo "Don't let Travis CI execute './gradlew assemble' by default"
+# Java 9 "OpenJDK"
+    - env: JDK_RELEASE='OpenJDK 9' EXTRA_GRADLE_ARGS=''
+      install: . ./src/install/install-jdk.sh -F 9 -L GPL
+# Java 8 "Oracle JDK" (provided by Travis CI)
     - jdk: oraclejdk8
+      env: JDK_RELEASE='Oracle JDK 8' EXTRA_GRADLE_ARGS=''
+      install: echo "Don't let Travis CI execute './gradlew assemble' by default"
+# Java 8 "OpenJDK"
+    - env: JDK_RELEASE='OpenJDK 8' EXTRA_GRADLE_ARGS=''
+      install: . ./src/install/install-jdk.sh -F 8 -L GPL
 
-dist: trusty
-
-install: true
-
-# adjust gradle.properties if needed
 before_script:
   - |
     unset _JAVA_OPTIONS
-    if [ $TRAVIS_JDK_VERSION == "oraclejdk9" ]; then
-      sed -i 's/org.gradle.jvmargs=.*/org.gradle.jvmargs=-ea -Xms500m -Xmx1500m/' gradle.properties
-    fi
 
 script: travis_wait 60 ./gradlew test
 

http://git-wip-us.apache.org/repos/asf/groovy/blob/63fc0a40/src/install/install-jdk.sh
----------------------------------------------------------------------
diff --git a/src/install/install-jdk.sh b/src/install/install-jdk.sh
new file mode 100644
index 0000000..47ba4c3
--- /dev/null
+++ b/src/install/install-jdk.sh
@@ -0,0 +1,107 @@
+#!/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                 | install most recent early-access JDK
+#   install-jdk.sh -W /usr/opt     | install most recent early-access JDK to /usr/opt
+#   install-jdk.sh -F 9            | install most recent OpenJDK 9
+#   install-jdk.sh -F 10           | install most recent OpenJDK 10
+#   install-jdk.sh -F 10 -L BCL    | install most recent OracleJDK 10
+#
+# Options
+#
+#   -F f | Feature number of the JDK release, [9|10|...]
+#   -B b | Build number of the JDK release    [?|1|2...]
+#   -L l | License of the JDK                 [GPL|BCL]
+#   -W w | Working directory and install path [${HOME}]
+#
+# 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
+
+JDK_FEATURE='10'
+JDK_BUILD='?'
+JDK_LICENSE='GPL'
+JDK_WORKSPACE=${HOME}
+
+while getopts F:B:L:W: option
+do
+  case "${option}" in
+    F) JDK_FEATURE=${OPTARG};;
+    B) JDK_BUILD=${OPTARG};;
+    L) JDK_LICENSE=${OPTARG};;
+    W) JDK_WORKSPACE=${OPTARG};;
+ esac
+done
+
+#
+# Other constants
+#
+JDK_DOWNLOAD='https://download.java.net/java'
+JDK_BASENAME='openjdk'
+if [ "${JDK_LICENSE}" != 'GPL' ]; then
+  JDK_BASENAME='jdk'
+fi
+
+#
+# 9
+#
+if [ "${JDK_FEATURE}" == '9' ]; then
+  if [ "${JDK_BUILD}" == '?' ]; then
+    TMP=$(curl -L jdk.java.net/${JDK_FEATURE})
+    TMP="${TMP#*<h1>JDK}"                                   # remove everything before the number
+    TMP="${TMP%%General-Availability Release*}"             # remove everything after the number
+    JDK_BUILD="$(echo -e "${TMP}" | tr -d '[:space:]')"     # remove all whitespace
+  fi
+
+  JDK_ARCHIVE=${JDK_BASENAME}-${JDK_BUILD}_linux-x64_bin.tar.gz
+  JDK_URL=${JDK_DOWNLOAD}/GA/jdk${JDK_FEATURE}/${JDK_BUILD}/binaries/${JDK_ARCHIVE}
+  JDK_HOME=jdk-${JDK_BUILD}
+fi
+
+#
+# 10
+#
+if [ "${JDK_FEATURE}" == '10' ]; then
+  if [ "${JDK_BUILD}" == '?' ]; then
+    TMP=$(curl -L jdk.java.net/${JDK_FEATURE})
+    TMP="${TMP#*Most recent build: jdk-${JDK_FEATURE}+}"    # remove everything before the number
+    TMP="${TMP%%<*}"                                        # remove everything after the number
+    JDK_BUILD="$(echo -e "${TMP}" | tr -d '[:space:]')"     # remove all whitespace
+  fi
+
+  JDK_ARCHIVE=${JDK_BASENAME}-${JDK_FEATURE}+${JDK_BUILD}_linux-x64_bin.tar.gz
+  JDK_URL=${JDK_DOWNLOAD}/jdk${JDK_FEATURE}/archive/${JDK_BUILD}/${JDK_LICENSE}/${JDK_ARCHIVE}
+  JDK_HOME=jdk-${JDK_FEATURE}
+fi
+
+#
+# Create any missing intermediate paths, switch to workspace, download, unpack, switch back.
+#
+mkdir -p ${JDK_WORKSPACE}
+cd ${JDK_WORKSPACE}
+wget ${JDK_URL}
+tar -xzf ${JDK_ARCHIVE}
+cd -
+
+#
+# Update environment and test-drive.
+#
+export JAVA_HOME=${JDK_WORKSPACE}/${JDK_HOME}
+export PATH=${JAVA_HOME}/bin:$PATH
+
+java --version