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

Last change on this file was 15797, checked in by Mark Evenson, 4 months ago

ci: update openjdk installations; add openjdk23

Deprecate openjdk22, switching to openjdk23.

File size: 8.9 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=442
29                    build=b06
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.26
36                    build=4
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.14
57                    build=7
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.6"
82                    rev="7"
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                # deprecated               
89                openjdk22)
90                    v="22"
91                    id="${v}.0.1"
92                    rev="8"
93                    arch="jdk_x64_mac_hotspot"
94                    topdir="jdk-${id}+${rev}"
95                    dist="https://github.com/adoptium/temurin${v}-binaries/releases/download/jdk-${id}%2B${rev}/OpenJDK${v}U-${arch}_${id}_${rev}.tar.gz"
96                    ;;
97                openjdk23)
98                    v="23"
99                    id="${v}.0.2"
100                    rev="7"
101                    arch="jdk_x64_mac_hotspot"
102                    topdir="jdk-${id}+${rev}"
103                    dist="https://github.com/adoptium/temurin${v}-binaries/releases/download/jdk-${id}%2B${rev}/OpenJDK${v}U-${arch}_${id}_${rev}.tar.gz"
104                    ;;
105
106            esac
107            ;;
108        [Ll]inux)
109            case $jdk in
110                openjdk8)
111                    version=u442
112                    build=b06
113                    topdir=jdk8${version}-${build}
114                    dist="https://github.com/adoptium/temurin8-binaries/releases/download/jdk8${version}-${build}/OpenJDK8U-jdk_x64_linux_hotspot_8${version}${build}.tar.gz"
115                    ;;
116                openjdk11)
117                    version=11.0.26
118                    build=4
119                    topdir=jdk-${version}+${build}
120                    dist="https://github.com/adoptium/temurin11-binaries/releases/download/jdk-${version}%2B${build}/OpenJDK11U-jdk_x64_linux_hotspot_${version}_${build}.tar.gz"
121                    ;;
122                # deprecated
123                openjdk14) # Need version from adoptium
124                    topdir=jdk-14.0.2+12
125                    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"
126                    ;;
127                # deprecated
128                openjdk15) # Need version from adoptium
129                    topdir=jdk-15+36
130                    dist="https://github.com/AdoptOpenJDK/openjdk15-binaries/releases/download/jdk-15%2B36/OpenJDK15U-jdk_x64_linux_hotspot_15_36.tar.gz"
131                    ;;
132                # deprecated
133                openjdk16)
134                    topdir=jdk-16.0.2+7
135                    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"
136                    ;;
137                openjdk17)
138                    version=17.0.14
139                    build=7
140                    topdir="jdk-${version}+${build}"
141                    dist="https://github.com/adoptium/temurin17-binaries/releases/download/jdk-${version}%2B${build}/OpenJDK17U-jdk_x64_linux_hotspot_${version}_${build}.tar.gz"
142                    ;;
143                # deprecated
144                openjdk19)
145                    v="19"
146                    id="${v}.0.2"
147                    rev="7"
148                    arch="jdk_x64_linux_hotspot"
149                    topdir="jdk-${id}+${rev}"
150                    dist="https://github.com/adoptium/temurin${v}-binaries/releases/download/jdk-${id}%2B${rev}/OpenJDK${v}U-${arch}_${id}_${rev}.tar.gz"
151                    ;;
152                openjdk20)
153                    v="20"
154                    id="${v}.0.2"
155                    rev="9"
156                    arch="jdk_x64_linux_hotspot"
157                    topdir="jdk-${id}+${rev}"
158                    dist="https://github.com/adoptium/temurin${v}-binaries/releases/download/jdk-${id}%2B${rev}/OpenJDK${v}U-${arch}_${id}_${rev}.tar.gz"
159                    ;;
160                openjdk21)
161                    v="21"
162                    id="${v}.0.6"
163                    rev="7"
164                    arch="jdk_x64_linux_hotspot"
165                    topdir="jdk-${id}+${rev}"
166                    dist="https://github.com/adoptium/temurin${v}-binaries/releases/download/jdk-${id}%2B${rev}/OpenJDK${v}U-${arch}_${id}_${rev}.tar.gz"
167                    ;;
168                # deprecated
169                openjdk22)
170                    v="22"
171                    id="${v}.0.1"
172                    rev="8"
173                    arch="jdk_x64_linux_hotspot"
174                    topdir="jdk-${id}+${rev}"
175                    dist="https://github.com/adoptium/temurin${v}-binaries/releases/download/jdk-${id}%2B${rev}/OpenJDK${v}U-${arch}_${id}_${rev}.tar.gz"
176                    ;;
177                openjdk23)
178                    v="23"
179                    id="${v}.0.2"
180                    rev="7"
181                    arch="jdk_x64_linux_hotspot"
182                    topdir="jdk-${id}+${rev}"
183                    dist="https://github.com/adoptium/temurin${v}-binaries/releases/download/jdk-${id}%2B${rev}/OpenJDK${v}U-${arch}_${id}_${rev}.tar.gz"
184                    ;;
185            esac
186            ;;
187        *)
188            echo No known dist for ${uname}
189    esac
190}
191
192tmpdir=/var/tmp
193
194function download_and_extract() {
195    pushd ${tmpdir} && wget --continue ${dist}
196   
197    tar xvz -f $(basename ${dist})
198
199    popd
200}
201
202function add_jdk_to_jenv() {
203    echo $dist
204    echo $tmpdir
205    case $(uname) in
206        Darwin)
207            jenv add ${tmpdir}/${topdir}/Contents/Home
208            ;;
209        Linux)
210            jenv add ${tmpdir}/${topdir}
211            ;;
212    esac
213}
214
215determine_openjdk
216download_and_extract
217add_jdk_to_jenv
218
219. ${DIR}/set-jdk.bash ${jdk} ${ABCL_ROOT}
220
221jenv doctor
222exit 0 
Note: See TracBrowser for help on using the repository browser.