source: trunk/abcl/ci/set-jdk.bash

Last change on this file was 15787, checked in by Mark Evenson, 7 days ago

ci: improvements for openjdk21 and beyond

Improve set-jdk.bash for better error handling.

File size: 2.0 KB
Line 
1#!/usr/bin/env bash
2
3function set_jdk() {
4    abcl_jdk=$1
5    if [[ -z ${abcl_jdk} ]]; then
6        abcl_jdk=openjdk8
7    fi
8
9    echo Configuring JDK from ${abcl_jdk}
10
11    dir=$2
12    if [[ -z ${dir} ]]; then
13        dir=${ABCL_ROOT}
14    fi
15
16    if [[ -z ${ABCL_ROOT} ]]; then
17        dir=/var/tmp/set-jdk.$$/
18    fi
19
20    . ${DIR}/ensure-jenv-is-present.bash
21
22    echo Available jenv versions $(jenv versions)
23
24    case ${abcl_jdk} in
25        openjdk8)
26            version=$(jenv versions | grep ^..1\.8\.[0-9] | tail -1 | sed s/*// | awk '{print $1}')
27            ;;
28        openjdk11)
29            version=$(jenv versions | grep ^..11\.[0-9] | tail -1 | sed s/*// | awk '{print $1}')
30            ;;
31        openjdk17)
32            version=$(jenv versions | grep ^..17\.[0-9] | tail -1 | sed s/*// | awk '{print $1}')
33            ;;
34        openjdk17)
35            version=$(jenv versions | grep ^..19\.[0-9] | tail -1 | sed s/*// | awk '{print $1}')
36            ;;
37        openjdk20)
38            version=$(jenv versions | grep ^..20\.[0-9] | tail -1 | sed s/*// | awk '{print $1}')
39            ;;
40        openjdk21)
41            version=$(jenv versions | grep ^..21\.[0-9] | tail -1 | sed s/*// | awk '{print $1}')
42            ;;
43        openjdk22)
44            version=$(jenv versions | grep ^..22\.[0-9] | tail -1 | sed s/*// | awk '{print $1}')
45            ;;
46
47        *)
48            echo Failed to find an available JDK matching ${abcl_jdk}
49            echo   in $(jenv versions)
50            echo
51            echo Falling back to grabbing the last one listed
52            version=$(jenv versions | tail -1 | sed s/*//)
53    esac
54
55    if [[ ! -d ${dir} ]]; then
56        echo Creating directory ${dir}
57        mkdir ${dir}
58    fi
59
60    pushd ${dir}
61
62    jenv local ${version}
63    if [[ 0 -ne $? ]]; then
64        echo Failed to set local JDK in ${dir} to ${version}
65    fi
66
67    jenv global ${version}
68    if [[ 0 -ne $? ]]; then
69        echo Failed to set global JDK to ${version}
70    fi
71
72    popd
73}
74
75set_jdk $1 $2
Note: See TracBrowser for help on using the repository browser.