@@ -5,15 +5,24 @@ createEnvironmentVariable() {
55 local JAVA_VERSION=$1
66 local DEFAULT=$2
77
8- INSTALL_PATH_PATTERN=$( echo ${AGENT_TOOLSDIRECTORY} /Java_Temurin-Hotspot_jdk/${JAVA_VERSION} * /x64/Contents/Home/)
8+ if [[ $arch == " arm64" ]]; then
9+ INSTALL_PATH_PATTERN=$( echo ${AGENT_TOOLSDIRECTORY} /Java_Temurin-Hotspot_jdk/${JAVA_VERSION} * /arm64/Contents/Home/)
10+ else
11+ INSTALL_PATH_PATTERN=$( echo ${AGENT_TOOLSDIRECTORY} /Java_Temurin-Hotspot_jdk/${JAVA_VERSION} * /x64/Contents/Home/)
12+ fi
913
1014 if [[ ${DEFAULT} == " True" ]]; then
1115 echo " Setting up JAVA_HOME variable to ${INSTALL_PATH_PATTERN} "
1216 echo " export JAVA_HOME=${INSTALL_PATH_PATTERN} " >> " ${HOME} /.bashrc"
1317 fi
1418
15- echo " Setting up JAVA_HOME_${JAVA_VERSION} _X64 variable to ${INSTALL_PATH_PATTERN} "
16- echo " export JAVA_HOME_${JAVA_VERSION} _X64=${INSTALL_PATH_PATTERN} " >> " ${HOME} /.bashrc"
19+ if [[ $arch == " arm64" ]]; then
20+ echo " Setting up JAVA_HOME_${JAVA_VERSION} _arm64 variable to ${INSTALL_PATH_PATTERN} "
21+ echo " export JAVA_HOME_${JAVA_VERSION} _arm64=${INSTALL_PATH_PATTERN} " >> " ${HOME} /.bashrc"
22+ else
23+ echo " Setting up JAVA_HOME_${JAVA_VERSION} _X64 variable to ${INSTALL_PATH_PATTERN} "
24+ echo " export JAVA_HOME_${JAVA_VERSION} _X64=${INSTALL_PATH_PATTERN} " >> " ${HOME} /.bashrc"
25+ fi
1726}
1827
1928installOpenJDK () {
@@ -22,36 +31,52 @@ installOpenJDK() {
2231 # Get link for Java binaries and Java version
2332 assetUrl=$( curl -fsSL " https://api.adoptium.net/v3/assets/latest/${JAVA_VERSION} /hotspot" )
2433
25- asset=$( echo ${assetUrl} | jq -r ' .[] | select(.binary.os=="mac" and .binary.image_type=="jdk" and .binary.architecture=="x64")' )
34+ if [[ $arch == " arm64" ]]; then
35+ asset=$( echo ${assetUrl} | jq -r ' .[] | select(.binary.os=="mac" and .binary.image_type=="jdk" and .binary.architecture=="aarch64")' )
36+ else
37+ asset=$( echo ${assetUrl} | jq -r ' .[] | select(.binary.os=="mac" and .binary.image_type=="jdk" and .binary.architecture=="x64")' )
38+ fi
39+
2640 archivePath=$( echo ${asset} | jq -r ' .binary.package.link' )
2741 fullVersion=$( echo ${asset} | jq -r ' .version.semver' | tr ' +' ' -' )
2842
2943 JAVA_TOOLCACHE_PATH=${AGENT_TOOLSDIRECTORY} /Java_Temurin-Hotspot_jdk
30-
3144 javaToolcacheVersionPath=$JAVA_TOOLCACHE_PATH /${fullVersion}
32- javaToolcacheVersionArchPath=${javaToolcacheVersionPath} /x64
45+
46+ if [[ $arch == " arm64" ]]; then
47+ javaToolcacheVersionArchPath=${javaToolcacheVersionPath} /arm64
48+ else
49+ javaToolcacheVersionArchPath=${javaToolcacheVersionPath} /x64
50+ fi
3351
3452 # Download and extract Java binaries
3553 download_with_retries ${archivePath} /tmp OpenJDK-${fullVersion} .tar.gz
36-
54+
3755 echo " Creating ${javaToolcacheVersionArchPath} directory"
3856 mkdir -p ${javaToolcacheVersionArchPath}
3957
4058 tar -xf /tmp/OpenJDK-${fullVersion} .tar.gz -C ${javaToolcacheVersionArchPath} --strip-components=1
59+
4160 # Create complete file
42- touch ${javaToolcacheVersionPath} /x64.complete
61+ if [[ $arch == " arm64" ]]; then
62+ touch ${javaToolcacheVersionPath} /arm64.complete
63+ else
64+ touch ${javaToolcacheVersionPath} /x64.complete
65+ fi
4366
4467 # Create a symlink to '/Library/Java/JavaVirtualMachines'
4568 # so '/usr/libexec/java_home' will be able to find Java
4669 sudo ln -sf ${javaToolcacheVersionArchPath} /Library/Java/JavaVirtualMachines/Temurin-Hotspot-${JAVA_VERSION} .jdk
4770}
4871
49- defaultVersion=$( get_toolset_value ' .java.default' )
50- jdkVersionsToInstall=($( get_toolset_value " .java.versions[]" ) )
72+ arch=$( get_arch)
73+ echo $arch
74+ defaultVersion=$( get_toolset_value ' .java.' $arch ' .default' )
75+ jdkVersionsToInstall=($( get_toolset_value " .java.${arch} .versions[]" ) )
5176
5277for jdkVersionToInstall in ${jdkVersionsToInstall[@]} ; do
5378 installOpenJDK ${jdkVersionToInstall}
54-
79+
5580 if [[ ${jdkVersionToInstall} == ${defaultVersion} ]]
5681 then
5782 createEnvironmentVariable ${jdkVersionToInstall} True
0 commit comments