1
+ #! /bin/bash
2
+ # #===----------------------------------------------------------------------===##
3
+ # #
4
+ # # This source file is part of the Swift.org open source project
5
+ # #
6
+ # # Copyright (c) 2024 Apple Inc. and the Swift.org project authors
7
+ # # Licensed under Apache License v2.0
8
+ # #
9
+ # # See LICENSE.txt for license information
10
+ # # See CONTRIBUTORS.txt for the list of Swift.org project authors
11
+ # #
12
+ # # SPDX-License-Identifier: Apache-2.0
13
+ # #
14
+ # #===----------------------------------------------------------------------===##
15
+ set -euo pipefail
16
+
17
+ # Supported JDKs: Corretto or OpenJDK
18
+ declare -r JDK_VENDOR=Corretto
19
+ echo " Installing $JDK_VENDOR JDK..."
20
+
21
+ apt-get update && apt-get install -y wget
22
+
23
+ echo " Download JDK for: $( uname -m) "
24
+
25
+ if [ " $JDK_VENDOR " = ' OpenJDK' ]; then
26
+ if [ " $( uname -m) " = ' aarch64' ]; then
27
+ declare -r JDK_URL=" https://download.java.net/java/GA/jdk23/3c5b90190c68498b986a97f276efd28a/37/GPL/openjdk-23_linux-aarch64_bin.tar.gz"
28
+ declare -r EXPECT_JDK_SHA=" 076dcf7078cdf941951587bf92733abacf489a6570f1df97ee35945ffebec5b7"
29
+ else
30
+ declare -r JDK_URL=" https://download.java.net/java/GA/jdk23/3c5b90190c68498b986a97f276efd28a/37/GPL/$JDK_NAME "
31
+ declare -r EXPECT_JDK_SHA=" 08fea92724127c6fa0f2e5ea0b07ff4951ccb1e2f22db3c21eebbd7347152a67"
32
+ fi
33
+
34
+ wget -q -O jdk.tar.gz " $JDK_URL "
35
+ declare -r JDK_SHA=" $( sha256sum jdk.tar.gz | cut -d ' ' -f 1) "
36
+ if [ " $JDK_SHA " != " $EXPECT_JDK_SHA " ]; then
37
+ echo " Downloaded JDK SHA does not match expected!"
38
+ echo " Expected: $EXPECT_JDK_SHA "
39
+ echo " Was: $JDK_SHA "
40
+ exit 1;
41
+ else
42
+ echo " JDK SHA is correct." ;
43
+ fi
44
+ elif [ " $JDK_VENDOR " = ' Corretto' ]; then
45
+ if [ " $( uname -m) " = ' aarch64' ]; then
46
+ declare -r JDK_URL=" https://corretto.aws/downloads/latest/amazon-corretto-22-aarch64-linux-jdk.tar.gz"
47
+ declare -r EXPECT_JDK_MD5=" 1ebe5f5229bb18bc784a1e0f54d3fe39"
48
+ else
49
+ declare -r JDK_URL=" https://corretto.aws/downloads/latest/amazon-corretto-22-x64-linux-jdk.tar.gz"
50
+ declare -r EXPECT_JDK_MD5=" 5bd7fe30eb063699a3b4db7a00455841"
51
+ fi
52
+
53
+ wget -q -O jdk.tar.gz " $JDK_URL "
54
+ declare -r JDK_MD5=" $( md5sum jdk.tar.gz | cut -d ' ' -f 1) "
55
+ if [ " $JDK_MD5 " != " $EXPECT_JDK_MD5 " ]; then
56
+ echo " Downloaded JDK MD5 does not match expected!"
57
+ echo " Expected: $EXPECT_JDK_MD5 "
58
+ echo " Was: $JDK_MD5 "
59
+ exit 1;
60
+ else
61
+ echo " JDK MD5 is correct." ;
62
+ fi
63
+ fi
64
+
65
+ # Extract and verify the JDK installation
66
+
67
+ mkdir -p /usr/lib/jvm/ && cd /usr/lib/jvm/
68
+ tar xzvf /jdk.tar.gz
69
+ ls -lah
70
+ mv " $( ls | head -n1) " default-jdk
71
+ rm /jdk.tar.gz
72
+
73
+ echo " JAVA_HOME = /usr/lib/jvm/default-jdk"
74
+ /usr/lib/jvm/default-jdk/bin/java -version
0 commit comments