Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Merks2020-10-26 13:50:27 +0000
committerEd Merks2020-10-26 13:50:27 +0000
commit9ef0e3b5071f7bcca53dfcc6ef711c64367703d5 (patch)
tree0942cd2cb15d5605f90e2320b2369d9b7272cded
parentbc9b22def3027b99b4905a88cdb7ddab632b7681 (diff)
downloadjustj-9ef0e3b5071f7bcca53dfcc6ef711c64367703d5.tar.gz
justj-9ef0e3b5071f7bcca53dfcc6ef711c64367703d5.tar.xz
justj-9ef0e3b5071f7bcca53dfcc6ef711c64367703d5.zip
Bug 566640 - Add support for Linux AArch64
Use the latest Java 15.0.1 as the default. Detect aarch64 in build-jre.sh and add support for aarch64 via the new dedicated agent in the Jenkinsfile.
-rw-r--r--releng/org.eclipse.justj.releng/Jenkinsfile52
-rwxr-xr-xreleng/org.eclipse.justj.releng/build-jre.sh30
2 files changed, 71 insertions, 11 deletions
diff --git a/releng/org.eclipse.justj.releng/Jenkinsfile b/releng/org.eclipse.justj.releng/Jenkinsfile
index f35afe3..0aef224 100644
--- a/releng/org.eclipse.justj.releng/Jenkinsfile
+++ b/releng/org.eclipse.justj.releng/Jenkinsfile
@@ -23,6 +23,8 @@ def java11 = [
JDK_URLS_LINUX: '''
https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz
''',
+ JDK_URLS_LINUX_AARCH64: '''
+ ''',
BUILD_TYPE: 'nightly',
PROMOTE: 'true'
]
@@ -41,6 +43,8 @@ def java14 = [
JDK_URLS_LINUX: '''
https://download.java.net/java/GA/jdk14.0.2/205943a0976c4ed48cb16f1043c5c647/12/GPL/openjdk-14.0.2_linux-x64_bin.tar.gz
''',
+ JDK_URLS_LINUX_AARCH64: '''
+ ''',
BUILD_TYPE: 'nightly',
PROMOTE: 'true'
]
@@ -65,6 +69,8 @@ def java14Extra = [
https://github.com/AdoptOpenJDK/openjdk14-binaries/releases/download/jdk-14.0.1+7/OpenJDK14U-jdk_x64_linux_hotspot_14.0.1_7.tar.gz
https://github.com/AdoptOpenJDK/openjdk14-binaries/releases/download/jdk-14.0.1+7_openj9-0.20.0/OpenJDK14U-jdk_x64_linux_openj9_14.0.1_7_openj9-0.20.0.tar.gz
''',
+ JDK_URLS_LINUX_AARCH64: '''
+ ''',
BUILD_TYPE: 'nightly',
PROMOTE: 'true'
]
@@ -89,6 +95,8 @@ def java11Extra = [
https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.7_10.tar.gz
https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10_openj9-0.20.0/OpenJDK11U-jdk_x64_linux_openj9_11.0.7_10_openj9-0.20.0.tar.gz
''',
+ JDK_URLS_LINUX_AARCH64: '''
+ ''',
BUILD_TYPE: 'nightly',
PROMOTE: 'true'
]
@@ -99,13 +107,16 @@ def java15 = [
PUBLISH_LOCATION_PREFIX: "${testPrefix}",
JUSTJ_MANIFEST_URL: "${justjURL}/${testPrefix}/15/downloads/latest/justj.manifest",
JDK_URLS_WINDOWS: '''
- https://download.java.net/java/GA/jdk15/779bf45e88a44cbd9ea6621d33e33db1/36/GPL/openjdk-15_windows-x64_bin.zip
+ https://download.java.net/java/GA/jdk15.0.1/51f4f36ad4ef43e39d0dfdbaf6549e32/9/GPL/openjdk-15.0.1_windows-x64_bin.zip
''',
JDK_URLS_MACOS: '''
- https://download.java.net/java/GA/jdk15/779bf45e88a44cbd9ea6621d33e33db1/36/GPL/openjdk-15_osx-x64_bin.tar.gz
+ https://download.java.net/java/GA/jdk15.0.1/51f4f36ad4ef43e39d0dfdbaf6549e32/9/GPL/openjdk-15.0.1_osx-x64_bin.tar.gz
''',
JDK_URLS_LINUX: '''
- https://download.java.net/java/GA/jdk15/779bf45e88a44cbd9ea6621d33e33db1/36/GPL/openjdk-15_linux-x64_bin.tar.gz
+ https://download.java.net/java/GA/jdk15.0.1/51f4f36ad4ef43e39d0dfdbaf6549e32/9/GPL/openjdk-15.0.1_linux-x64_bin.tar.gz
+ ''',
+ JDK_URLS_LINUX_AARCH64: '''
+ https://download.java.net/java/GA/jdk15.0.1/51f4f36ad4ef43e39d0dfdbaf6549e32/9/GPL/openjdk-15.0.1_linux-aarch64_bin.tar.gz
''',
BUILD_TYPE: 'nightly',
PROMOTE: 'true'
@@ -200,7 +211,12 @@ pipeline {
text(
name: 'JDK_URLS_LINUX',
defaultValue: "${pretty(javaDefault.JDK_URLS_LINUX)}",
- description: 'One or more URLs to a Linux tar.gz of a JDK, e.g., from <a href="https://jdk.java.net/" target="jdk">https://jdk.java.net/</a>.')
+ description: 'One or more URLs to a Linux tar.gz of a JDK for x86_64, e.g., from <a href="https://jdk.java.net/" target="jdk">https://jdk.java.net/</a>.')
+
+ text(
+ name: 'JDK_URLS_LINUX_AARCH64',
+ defaultValue: "${pretty(javaDefault.JDK_URLS_LINUX_AARCH64)}",
+ description: 'One or more URLs to a Linux tar.gz of a JDK for aarch64, e.g., from <a href="https://jdk.java.net/" target="jdk">https://jdk.java.net/</a>.')
choice(
name: 'BUILD_TYPE',
@@ -240,6 +256,7 @@ pipeline {
env.JDK_URLS_WINDOWS = pretty(params.JDK_URLS_WINDOWS)
env.JDK_URLS_MACOS = pretty(params.JDK_URLS_MACOS)
env.JDK_URLS_LINUX = pretty(params.JDK_URLS_LINUX)
+ env.JDK_URLS_LINUX_AARCH64 = pretty(params.JDK_URLS_LINUX_AARCH64)
env.BUILD_TYPE = params.BUILD_TYPE
env.PROMOTE = params.PROMOTE
if (params.JUSTJ_MANIFEST_URL != '') {
@@ -264,10 +281,33 @@ pipeline {
when {
not { environment name: 'JDK_URLS_LINUX', value: '' }
}
+
+ steps {
+ sh '''
+ releng/org.eclipse.justj.releng/build-jre.sh
+ '''
+ }
+ }
+
+ stage('Build Linux JRES AArch64') {
+ agent {
+ beforeAgent true
+ label 'aarch64'
+ }
+
+ when {
+ not { environment name: 'JDK_URLS_LINUX_AARCH64', value: '' }
+ }
+
+ options { skipDefaultCheckout true }
+
steps {
+ cleanWs()
+ unstash 'releng-stash'
sh '''
releng/org.eclipse.justj.releng/build-jre.sh
'''
+ stash includes: '*org.eclipse.justj.*.tar.gz', name: 'linux-aarch64-stash'
}
}
@@ -335,6 +375,10 @@ pipeline {
unstash 'win-stash'
}
+ if (env.JDK_URLS_LINUX_AARCH64 != '') {
+ unstash 'linux-aarch64-stash'
+ }
+
// Look for the java.version property in each JRE's properties file, extract out just the major version, and boil those down to unique values.
env.JAVA_MAJOR_VERSION = sh(returnStdout: true, script: 'echo $(for i in org.eclipse.justj.*.tar.gz; do tar -xOzf $i org.eclipse.justj.properties | grep "java.version=" | sed "s/^java.version=//g; s/[^0-9].*$//g"; done | sort -u)').trim()
env.JUSTJ_PUBLISH_LOCATION = "${env.PUBLISH_LOCATION_PREFIX}/${env.JAVA_MAJOR_VERSION}"
diff --git a/releng/org.eclipse.justj.releng/build-jre.sh b/releng/org.eclipse.justj.releng/build-jre.sh
index 5c3ded4..4baf029 100755
--- a/releng/org.eclipse.justj.releng/build-jre.sh
+++ b/releng/org.eclipse.justj.releng/build-jre.sh
@@ -39,9 +39,18 @@ elif [[ $OSTYPE == cygwin || $OSTYPE = msys ]]; then
fi
else
os=linux
- jdk_suffix="_linux-x64_bin.tar.gz"
- eclipse_suffix="-linux-gtk-x86_64.tar.gz"
- jre_suffix="linux-x86_64"
+
+ arch=$(uname -m)
+ if [[ "$arch" == aarch64 ]]; then
+ jdk_suffix="_linux-aarch64_bin.tar.gz"
+ eclipse_suffix="-linux-gtk-aarch64.tar.gz"
+ jre_suffix="linux-aarch64"
+ else
+ jdk_suffix="_linux-x64_bin.tar.gz"
+ eclipse_suffix="-linux-gtk-x86_64.tar.gz"
+ jre_suffix="linux-x86_64"
+ fi
+
jdk_relative_bin_folder="bin"
jdk_relative_lib_folder="lib"
jdk_relative_vm_arg="bin"
@@ -50,8 +59,15 @@ else
eclipse_root="eclipse"
eclipse_executable="eclipse/eclipse"
unpack200_executable="unpack200"
- if [[ "$JDK_URLS_LINUX" != "" && $# == 0 ]]; then
- urls=$JDK_URLS_LINUX
+
+ if [[ "$arch" == aarch64 ]]; then
+ if [[ "$JDK_URLS_LINUX" != "" && $# == 0 ]]; then
+ urls=$JDK_URLS_LINUX
+ fi
+ else
+ if [[ "$JDK_URLS_LINUX_AARCH64" != "" && $# == 0 ]]; then
+ urls=$JDK_URLS_LINUX_AARCH64
+ fi
fi
fi
@@ -64,8 +80,8 @@ if [[ "$urls" == "" ]]; then
# We deliberately want to split on space because a URL should not have spaces.
urls=$@
else
- # Default to Java 14 Open JDK.
- urls="https://download.java.net/java/GA/jdk14.0.2/205943a0976c4ed48cb16f1043c5c647/12/GPL/openjdk-14.0.2$jdk_suffix"
+ # Default to Java 15 Open JDK.
+ urls="https://download.java.net/java/GA/jdk15.0.1/51f4f36ad4ef43e39d0dfdbaf6549e32/9/GPL/openjdk-15.0.1$jdk_suffix"
fi
fi

Back to the top