Skip to content

Commit 72338b7

Browse files
committed
chore(stacks): add self build java
1 parent 0c1d4d2 commit 72338b7

2 files changed

Lines changed: 33 additions & 65 deletions

File tree

stacks/java/build.sh

Lines changed: 1 addition & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -3,74 +3,10 @@
33
# Load stack utils
44
. /usr/bin/stack-utils
55

6-
7-
function get_openjdk_url() {
8-
version="${1:?version is required}"
9-
arch="$(dpkg --print-architecture)"
10-
if [[ "${version}" == "8" ]]; then
11-
case "$arch" in
12-
'amd64')
13-
downloadUrl='https://github.com/AdoptOpenJDK/openjdk8-upstream-binaries/releases/download/jdk8u322-b06/OpenJDK8U-jdk_x64_linux_8u322b06.tar.gz';
14-
;;
15-
'arm64')
16-
downloadUrl='https://github.com/AdoptOpenJDK/openjdk8-upstream-binaries/releases/download/jdk8u322-b06/OpenJDK8U-jdk_aarch64_linux_8u322b06.tar.gz';
17-
;;
18-
*) echo >&2 "error: unsupported architecture: '$arch'"; exit 1 ;;
19-
esac;
20-
elif [[ "${version}" == "11" ]]; then
21-
case "$arch" in
22-
'amd64')
23-
downloadUrl='https://github.com/AdoptOpenJDK/openjdk11-upstream-binaries/releases/download/jdk-11.0.14.1%2B1/OpenJDK11U-jdk_x64_linux_11.0.14.1_1.tar.gz';
24-
;;
25-
'arm64')
26-
downloadUrl='https://github.com/AdoptOpenJDK/openjdk11-upstream-binaries/releases/download/jdk-11.0.14.1%2B1/OpenJDK11U-jdk_aarch64_linux_11.0.14.1_1.tar.gz';
27-
;;
28-
*) echo >&2 "error: unsupported architecture: '$arch'"; exit 1;;
29-
esac
30-
elif [[ "${version}" == "17" ]]; then
31-
case "$arch" in
32-
'amd64')
33-
downloadUrl='https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz';
34-
;; \
35-
'arm64') \
36-
downloadUrl='https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-aarch64_bin.tar.gz';
37-
;;
38-
*) echo >&2 "error: unsupported architecture: '$arch'"; exit 1 ;;
39-
esac;
40-
elif [[ "${version}" == "18" ]]; then
41-
case "$arch" in
42-
'amd64')
43-
downloadUrl='https://download.java.net/java/GA/jdk18/43f95e8614114aeaa8e8a5fcf20a682d/36/GPL/openjdk-18_linux-x64_bin.tar.gz';
44-
;;
45-
'arm64')
46-
downloadUrl='https://download.java.net/java/GA/jdk18/43f95e8614114aeaa8e8a5fcf20a682d/36/GPL/openjdk-18_linux-aarch64_bin.tar.gz';
47-
;;
48-
*) echo >&2 "error: unsupported architecture: '$arch'"; exit 1 ;;
49-
esac;
50-
elif [[ "${version}" == "19" ]]; then
51-
case "$arch" in
52-
'amd64')
53-
downloadUrl='https://download.java.net/java/early_access/jdk19/10/GPL/openjdk-19-ea+10_linux-x64_bin.tar.gz';
54-
;;
55-
'arm64')
56-
downloadUrl='https://download.java.net/java/early_access/jdk19/10/GPL/openjdk-19-ea+10_linux-aarch64_bin.tar.gz';
57-
;;
58-
*) echo >&2 "error: unsupported architecture: '$arch'"; exit 1 ;;
59-
esac;
60-
else
61-
echo >&2 "error: unsupported version: '$version'"
62-
exit 1
63-
fi
64-
}
65-
666
# Implement build function
677
function build() {
688
generate-stack-path
69-
get_openjdk_url "${STACK_VERSION}"
70-
curl -fsSL -o openjdk.tar.gz "${downloadUrl}"
71-
tar -xvzf openjdk.tar.gz
72-
cp -rf *jdk-"${STACK_VERSION}"*/* "${DATA_DIR}"
73-
rm -rf openjdk.tar.gz *jdk-"${STACK_VERSION}"*
9+
./make.sh
7410
mkdir -p "${DATA_DIR}"/env
7511
echo "/opt/drycc/java" > "${DATA_DIR}"/env/JAVA_HOME
7612
cat << EOF >> ${PROFILE_DIR}/${STACK_NAME}.sh

stacks/java/make.sh

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
set -eux
2+
tag=$(echo "${STACK_VERSION}" | awk -F "." '{print "jdk-"$1"+"$2}')
3+
curl -fsSL -o java.tar.gz https://github.com/openjdk/jdk/archive/refs/tags/${tag}.tar.gz
4+
tar -xvzf java.tar.gz
5+
cd jdk-jdk-*-*
6+
install-packages \
7+
openjdk-17-jdk \
8+
libx11-dev \
9+
libxext-dev \
10+
libxrender-dev \
11+
libxrandr-dev \
12+
libxtst-dev \
13+
libxt-dev \
14+
libcups2-dev \
15+
libfontconfig1-dev \
16+
libasound2-dev \
17+
zip
18+
19+
version_build=$(echo "${STACK_VERSION}" | awk -F "." '{print $2}')
20+
21+
bash configure \
22+
--with-jvm-variants=server \
23+
--enable-unlimited-crypto \
24+
--with-version-build="${version_build}" \
25+
--with-version-pre="drycc" \
26+
--with-version-opt="" \
27+
--with-vendor-version-string="$(date '+%Y%m%d%H%M%S')" \
28+
-with-native-debug-symbols=external \
29+
--disable-warnings-as-errors
30+
make
31+
cp -rf build/linux-*-server-release/jdk/* "${DATA_DIR}"
32+
rm -rf /workspace/jdk-jdk-*-* java.tar.gz

0 commit comments

Comments
 (0)