Skip to content

Commit f375f4d

Browse files
authored
Add support for older IBM JDKs (#55)
Pulls JDKs from https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/ Closes #54
1 parent 6fb898c commit f375f4d

File tree

2 files changed

+98
-0
lines changed

2 files changed

+98
-0
lines changed

bin/ibm.bash

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
#!/usr/bin/env bash
2+
set -e
3+
set -Euo pipefail
4+
5+
TEMP_DIR=$(mktemp -d)
6+
trap 'rm -rf ${TEMP_DIR}' EXIT
7+
8+
if [[ "$#" -lt 2 ]]
9+
then
10+
echo "Usage: ${0} metadata-directory checksum-directory"
11+
exit 1
12+
fi
13+
14+
# shellcheck source=bin/functions.bash
15+
source "$(dirname "${0}")/functions.bash"
16+
17+
VENDOR='ibm'
18+
METADATA_DIR="${1}/${VENDOR}"
19+
CHECKSUM_DIR="${2}/${VENDOR}"
20+
21+
ensure_directory "${METADATA_DIR}"
22+
ensure_directory "${CHECKSUM_DIR}"
23+
24+
25+
INDEX_FILE="${TEMP_DIR}/index.html"
26+
download_file 'https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/' "${INDEX_FILE}"
27+
28+
JDK_VERSIONS=$(grep -o -E '<a href="([8]\.[01]\.[0-9]+\.[0-9]+)/">' "${INDEX_FILE}" | perl -pe 's#<a href="([78][^/]+)/">#$1#g' | sort -V)
29+
30+
for JDK_VERSION in ${JDK_VERSIONS}
31+
do
32+
download_file "https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/${JDK_VERSION}/linux/" "${INDEX_FILE}"
33+
ARCHITECTURES=$(grep -o -E '<a href="([a-z0-9_]+)/">' "${INDEX_FILE}" | perl -pe 's#<a href="([a-z0-9_]+)/">#$1#g' | sort -V)
34+
for ARCHITECTURE in ${ARCHITECTURES}
35+
do
36+
download_file "https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/${JDK_VERSION}/linux/${ARCHITECTURE}/" "${INDEX_FILE}"
37+
IBM_FILES=$(grep -o -E '<a href="(.*\.tgz)">' "${INDEX_FILE}" | perl -pe 's#<a href="(.*\.tgz)">#$1#g' | sort -V)
38+
for IBM_FILE in ${IBM_FILES}
39+
do
40+
if [[ "${IBM_FILE}" == *"sfj"* ]]
41+
then
42+
echo "Ignoring ${IBM_FILE}"
43+
else
44+
METADATA_FILE="${METADATA_DIR}/${IBM_FILE}.json"
45+
IBM_ARCHIVE="${TEMP_DIR}/${IBM_FILE}"
46+
47+
RELEASE_TYPE="ga"
48+
VERSION=$JDK_VERSION
49+
JAVA_VERSION=$JDK_VERSION
50+
JVM_IMPL="openj9"
51+
OS="linux"
52+
ARCH=$ARCHITECTURE
53+
ARCHIVE=$(echo "$IBM_FILE" | perl -pe 's#.*\.([^.]+)$#$1#g')
54+
if [[ "${IBM_FILE}" = *"jdk"* ]]
55+
then
56+
IMAGE_TYPE="jdk"
57+
else
58+
IMAGE_TYPE="jre"
59+
fi
60+
FEATURES=""
61+
IBM_URL="https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/${JDK_VERSION}/linux/${ARCHITECTURE}/${IBM_FILE}"
62+
63+
download_file "${IBM_URL}" "${IBM_ARCHIVE}"
64+
65+
METADATA_JSON="$(metadata_json \
66+
"${VENDOR}" \
67+
"${IBM_FILE}" \
68+
"${RELEASE_TYPE}" \
69+
"${VERSION}" \
70+
"${JAVA_VERSION}" \
71+
"${JVM_IMPL}" \
72+
"${OS}" \
73+
"$(normalize_arch "${ARCH}")" \
74+
"${ARCHIVE}" \
75+
"${IMAGE_TYPE}" \
76+
"${FEATURES}" \
77+
"${IBM_URL}" \
78+
"$(hash_file 'md5' "${IBM_ARCHIVE}" "${CHECKSUM_DIR}")" \
79+
"$(hash_file 'sha1' "${IBM_ARCHIVE}" "${CHECKSUM_DIR}")" \
80+
"$(hash_file 'sha256' "${IBM_ARCHIVE}" "${CHECKSUM_DIR}")" \
81+
"$(hash_file 'sha512' "${IBM_ARCHIVE}" "${CHECKSUM_DIR}")" \
82+
"$(file_size "${IBM_ARCHIVE}")" \
83+
"${IBM_FILE}"
84+
)"
85+
86+
echo "${METADATA_JSON}" > "${METADATA_FILE}"
87+
rm -f "${IBM_ARCHIVE}"
88+
89+
fi
90+
done
91+
92+
done
93+
94+
95+
done
96+
97+
jq -s -S . "${METADATA_DIR}"/ibm-*.json > "${METADATA_DIR}/all.json"

bin/update.bash

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ vendors=(
6464
"$(cmd 'kona8')"
6565
"$(cmd 'kona11')"
6666
"$(cmd 'kona17')"
67+
"$(cmd 'ibm')"
6768
)
6869

6970
printf '%s\n' "${vendors[@]}" | parallel -P 4 --verbose "bash {} ${METADATA_DIR}/vendor ${CHECKSUM_DIR} ; echo \"{} EXIT CODE: \$?\""

0 commit comments

Comments
 (0)