source: trunk/abcl/ci/install-openjdk.bash

Last change on this file was 15786, checked in by Mark Evenson, 6 days ago

ci: update openjdk installation; tesk openjdk22

File size: 8.1 KB
Line 
1#!/usr/bin/env bash
2# set -euo pipefail  # too strict for jenv
3DIR="$(cd -P "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
4
5. ${DIR}/ensure-jenv-is-present.bash
6
7jdk=$1
8if [[ -z $jdk ]]; then
9    jdk=openjdk8
10fi
11
12if [[ $# -eq 2 ]]; then
13    uname=$2
14else 
15    uname=$(uname)
16fi
17
18# empty variables are not necessary, but a hint that these are not
19# lexically scoped in their modification.
20topdir=
21dist=
22function determine_openjdk() {
23    case $uname in
24        # just x86_64 for now.  We've got Rosseta2 c'est nes pas?
25        [Dd]arwin|darwin|macos)
26            case $jdk in
27                openjdk8)
28                    v=412
29                    build=b08
30                    version=1.8.0.${v}
31                    topdir=jdk8u${v}-${build}
32                    dist="https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u${v}-${build}/OpenJDK8U-jdk_x64_mac_hotspot_8u${v}${build}.tar.gz"
33                    ;;
34                openjdk11)
35                    version=11.0.23
36                    build=9
37                    topdir=jdk-${version}+${build}
38                    dist="https://github.com/adoptium/temurin11-binaries/releases/download/jdk-${version}%2B${build}/OpenJDK11U-jdk_x64_mac_hotspot_${version}_${build}.tar.gz"
39                    ;;
40                # deprecated
41                openjdk14)  # Need version from adoptium
42                    topdir=jdk-14.0.2+12
43                    dist="https://github.com/AdoptOpenJDK/openjdk14-binaries/releases/download/jdk-14.0.2%2B12/OpenJDK14U-jdk_x64_mac_hotspot_14.0.2_12.tar.gz"
44                    ;;
45                # deprecated
46                openjdk15) # Need version from adoptium
47                    topdir=jdk-15+36
48                    dist="https://github.com/AdoptOpenJDK/openjdk15-binaries/releases/download/jdk-15%2B36/OpenJDK15U-jdk_x64_mac_hotspot_15_36.tar.gz"
49                    ;;
50                # deprecated
51                openjdk16)
52                    topdir=jdk-16.0.2+7
53                    dist="https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_mac_hotspot_16.0.2_7.tar.gz"
54                    ;;
55                openjdk17)
56                    version=17.0.11
57                    build=9
58                    topdir="jdk-${version}+${build}"
59                    dist="https://github.com/adoptium/temurin17-binaries/releases/download/jdk-${version}%2B${build}/OpenJDK17U-jdk_x64_mac_hotspot_${version}_${build}.tar.gz"
60                    ;;
61                # deprecated
62                openjdk19)
63                    v="19"
64                    id="${v}.0.2"
65                    rev="7"
66                    arch="jdk_x64_mac_hotspot"
67                    topdir="jdk-${id}+${rev}"
68                    dist="https://github.com/adoptium/temurin${v}-binaries/releases/download/jdk-${id}%2B${rev}/OpenJDK${v}U-${arch}_${id}_${rev}.tar.gz"
69                    ;;
70                # deprecated
71                openjdk20)
72                    v="20"
73                    id="${v}.0.2"
74                    rev="9"
75                    arch="jdk_x64_mac_hotspot"
76                    topdir="jdk-${id}+${rev}"
77                    dist="https://github.com/adoptium/temurin${v}-binaries/releases/download/jdk-${id}%2B${rev}/OpenJDK${v}U-${arch}_${id}_${rev}.tar.gz"
78                    ;;
79                openjdk21)
80                    v="21"
81                    id="${v}.0.3"
82                    rev="9"
83                    arch="jdk_x64_mac_hotspot"
84
85                    topdir="jdk-${id}+${rev}"
86                    dist="https://github.com/adoptium/temurin${v}-binaries/releases/download/jdk-${id}%2B${rev}/OpenJDK${v}U-${arch}_${id}_${rev}.tar.gz"
87                    ;;
88                openjdk22)
89                    v="22"
90                    id="${v}.0.1"
91                    rev="8"
92                    arch="jdk_x64_mac_hotspot"
93                    topdir="jdk-${id}+${rev}"
94                    dist="https://github.com/adoptium/temurin${v}-binaries/releases/download/jdk-${id}%2B${rev}/OpenJDK${v}U-${arch}_${id}_${rev}.tar.gz"
95                    ;;
96            esac
97            ;;
98        [Ll]inux)
99            case $jdk in
100                openjdk8)
101                    version=u412
102                    build=b08
103                    topdir=jdk8${version}-${build}
104                    dist="https://github.com/adoptium/temurin8-binaries/releases/download/jdk8${version}-${build}/OpenJDK8U-jdk_x64_linux_hotspot_8${version}${build}.tar.gz"
105                    ;;
106                openjdk11)
107                    version=11.0.23
108                    build=9
109                    topdir=jdk-${version}+${build}
110                    dist="https://github.com/adoptium/temurin11-binaries/releases/download/jdk-${version}%2B${build}/OpenJDK11U-jdk_x64_linux_hotspot_${version}_${build}.tar.gz"
111                    ;;
112                # deprecated
113                openjdk14) # Need version from adoptium
114                    topdir=jdk-14.0.2+12
115                    dist="https://github.com/AdoptOpenJDK/openjdk14-binaries/releases/download/jdk-14.0.2%2B12/OpenJDK14U-jdk_x64_linux_hotspot_14.0.2_12.tar.gz"
116                    ;;
117                # deprecated
118                openjdk15) # Need version from adoptium
119                    topdir=jdk-15+36
120                    dist="https://github.com/AdoptOpenJDK/openjdk15-binaries/releases/download/jdk-15%2B36/OpenJDK15U-jdk_x64_linux_hotspot_15_36.tar.gz"
121                    ;;
122                # deprecated
123                openjdk16)
124                    topdir=jdk-16.0.2+7
125                    dist="https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_linux_hotspot_16.0.2_7.tar.gz"
126                    ;;
127                openjdk17)
128                    version=17.0.11
129                    build=9
130                    topdir="jdk-${version}+${build}"
131                    dist="https://github.com/adoptium/temurin17-binaries/releases/download/jdk-${version}%2B${build}/OpenJDK17U-jdk_x64_linux_hotspot_${version}_${build}.tar.gz"
132                    ;;
133                # deprecated
134                openjdk19)
135                    v="19"
136                    id="${v}.0.2"
137                    rev="7"
138                    arch="jdk_x64_linux_hotspot"
139                    topdir="jdk-${id}+${rev}"
140                    dist="https://github.com/adoptium/temurin${v}-binaries/releases/download/jdk-${id}%2B${rev}/OpenJDK${v}U-${arch}_${id}_${rev}.tar.gz"
141                    ;;
142                openjdk20)
143                    v="20"
144                    id="${v}.0.2"
145                    rev="9"
146                    arch="jdk_x64_linux_hotspot"
147                    topdir="jdk-${id}+${rev}"
148                    dist="https://github.com/adoptium/temurin${v}-binaries/releases/download/jdk-${id}%2B${rev}/OpenJDK${v}U-${arch}_${id}_${rev}.tar.gz"
149                    ;;
150                openjdk21)
151                    v="21"
152                    id="${v}.0.3"
153                    rev="9"
154                    arch="jdk_x64_linux_hotspot"
155                    topdir="jdk-${id}+${rev}"
156                    dist="https://github.com/adoptium/temurin${v}-binaries/releases/download/jdk-${id}%2B${rev}/OpenJDK${v}U-${arch}_${id}_${rev}.tar.gz"
157                    ;;
158                openjdk22)
159                    v="22"
160                    id="${v}.0.1"
161                    rev="8"
162                    arch="jdk_x64_linux_hotspot"
163                    topdir="jdk-${id}+${rev}"
164                    dist="https://github.com/adoptium/temurin${v}-binaries/releases/download/jdk-${id}%2B${rev}/OpenJDK${v}U-${arch}_${id}_${rev}.tar.gz"
165                    ;;
166            esac
167            ;;
168        *)
169            echo No known dist for ${uname}
170    esac
171}
172
173tmpdir=/var/tmp
174
175function download_and_extract() {
176    pushd ${tmpdir} && wget --continue ${dist}
177   
178    tar xvz -f $(basename ${dist})
179
180    popd
181}
182
183function add_jdk_to_jenv() {
184    echo $dist
185    echo $tmpdir
186    case $(uname) in
187        Darwin)
188            jenv add ${tmpdir}/${topdir}/Contents/Home
189            ;;
190        Linux)
191            jenv add ${tmpdir}/${topdir}
192            ;;
193    esac
194}
195
196determine_openjdk
197download_and_extract
198add_jdk_to_jenv
199
200. ${DIR}/set-jdk.bash ${jdk} ${ABCL_ROOT}
201
202jenv doctor
203exit 0 
Note: See TracBrowser for help on using the repository browser.