source: tags/1.9.1/ci/install-openjdk.bash

Last change on this file was 15633, checked in by Mark Evenson, 16 months ago

ci: update openjdk installations

Added ability to test various combinations by specifying a uname as a
second parameter.

File size: 5.0 KB
Line 
1#!/usr/bin/env bash
2DIR="$(cd -P "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
3
4. ${DIR}/install-jenv.bash
5
6jdk=$1
7if [[ -z $jdk ]]; then
8    jdk=openjdk8
9fi
10
11uname=$2
12if [[ -z $uname ]]; then
13    uname=$(uname)
14fi
15
16# empty variables are not necessary, but a hint that these are not
17# lexically scoped in their modification.
18topdir=
19dist=
20function determine_openjdk() {
21    case $uname in
22        Darwin)
23            case $jdk in
24                openjdk8)
25                    topdir=jdk8u362-b09
26                    dist="https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u362-b09/OpenJDK8U-jdk_x64_mac_hotspot_8u362b09.tar.gz"
27                    ;;
28                openjdk11)
29                    topdir=jdk-11.0.18+10
30                    dist="https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.18%2B10/OpenJDK11U-jdk_x64_mac_hotspot_11.0.18_10.tar.gz"
31                    ;;
32                # deprecated
33                openjdk14)  # Need version from adoptium
34                    topdir=jdk-14.0.2+12
35                    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"
36                    ;;
37                # deprecated
38                openjdk15) # Need version from adoptium
39                    topdir=jdk-15+36
40                    dist="https://github.com/AdoptOpenJDK/openjdk15-binaries/releases/download/jdk-15%2B36/OpenJDK15U-jdk_x64_mac_hotspot_15_36.tar.gz"
41                    ;;
42                # deprecated
43                openjdk16)
44                    topdir=jdk-16.0.2+7
45                    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"
46                    ;;
47                # just x86_64 for now.  We've got Rosseta2 c'est nes pas?
48                openjdk17)
49                    topdir="jdk-17.0.6+10"
50                    dist="https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.6%2B10/OpenJDK17U-jdk_x64_mac_hotspot_17.0.6_10.tar.gz"
51                    ;;
52                openjdk19)
53                    v="19"
54                    id="${v}.0.2"
55                    rev="7"
56                    arch="jdk_x64_mac_hotspot"
57                    topdir="jdk-${id}+${rev}"
58                    dist="https://github.com/adoptium/temurin${v}-binaries/releases/download/jdk-${id}%2B${rev}/OpenJDK${v}U-${arch}_${id}_${rev}.tar.gz"
59                    ;;
60
61            esac
62            ;;
63        Linux)
64            case $jdk in
65                openjdk8)
66                    topdir=jdk8u362-b09
67                    dist="https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u362-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u362b09.tar.gz"
68                    ;;
69                openjdk11)
70                    topdir=jdk-11.0.18+10
71                    dist="https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.18%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.18_10.tar.gz"
72                    ;;
73                openjdk14) # Need version from adoptium
74                    topdir=jdk-14.0.2+12
75                    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"
76                    ;;
77                # deprecated
78                openjdk15) # Need version from adoptium
79                    topdir=jdk-15+36
80                    dist="https://github.com/AdoptOpenJDK/openjdk15-binaries/releases/download/jdk-15%2B36/OpenJDK15U-jdk_x64_linux_hotspot_15_36.tar.gz"
81                    ;;
82                # deprecated
83                openjdk16)
84                    topdir=jdk-16.0.2+7
85                    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"
86                    ;;
87                openjdk17)
88                    topdir="jdk-17.0.6+10"
89                    dist="https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.6%2B10/OpenJDK17U-jdk_x64_linux_hotspot_17.0.6_10.tar.gz"
90                    ;;
91                openjdk19)
92                    v="19"
93                    id="${v}.0.2"
94                    rev="7"
95                    arch="jdk_x64_linux_hotspot"
96                    topdir="jdk-${id}+${rev}"
97                    dist="https://github.com/adoptium/temurin${v}-binaries/releases/download/jdk-${id}%2B${rev}/OpenJDK${v}U-${arch}_${id}_${rev}.tar.gz"
98                    ;;
99
100esac
101            ;;
102        *)
103            echo No known dist for $(uname)
104    esac
105}
106
107tmpdir=/var/tmp
108
109function download_and_extract() {
110    pushd ${tmpdir} && wget --continue ${dist}
111   
112    tar xvz -f $(basename ${dist})
113
114    popd
115}
116
117function add_jdk() {
118    echo $dist
119    echo $tmpdir
120    case $(uname) in
121        Darwin)
122            jenv add ${tmpdir}/${topdir}/Contents/Home
123            ;;
124        Linux)
125            jenv add ${tmpdir}/${topdir}
126            ;;
127    esac
128}
129
130determine_openjdk
131download_and_extract
132add_jdk
133
134. ${DIR}/set-jdk.bash
135
136jenv doctor
Note: See TracBrowser for help on using the repository browser.