Skip to content

Commit 66385f3

Browse files
authored
Remove hardcoded fallback to tem from ms JDK (#1316)
* REmove hardcoded fallback to tem from ms JDK * Update latest version * address review comments
1 parent efd8832 commit 66385f3

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

src/java/devcontainer-feature.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"id": "java",
3-
"version": "1.6.2",
3+
"version": "1.6.3",
44
"name": "Java (via SDKMAN!)",
55
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/java",
66
"description": "Installs Java, SDKMAN! (if not installed), and needed dependencies.",
@@ -10,6 +10,7 @@
1010
"proposals": [
1111
"latest",
1212
"none",
13+
"21",
1314
"17",
1415
"11",
1516
"8"

src/java/install.sh

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,11 +213,20 @@ find_version_list() {
213213
major_version=$(echo "$java_ver" | cut -d '.' -f 1)
214214
fi
215215

216+
# Remove the hardcoded fallback as this fails for new jdk latest version released ex: 24
217+
# Related Issue: https://github.com/devcontainers/features/issues/1308
216218
if [ "${JDK_DISTRO}" = "ms" ]; then
217-
if [ "${major_version}" = "8" ] || [ "${major_version}" = "18" ] || [ "${major_version}" = "22" ] || [ "${major_version}" = "23" ]; then
219+
# Check if the requested version is available in the 'ms' distribution
220+
echo "Check if OpenJDK is available for version ${major_version} for ${JDK_DISTRO} Distro"
221+
available_versions=$(su ${USERNAME} -c ". ${SDKMAN_DIR}/bin/sdkman-init.sh && sdk list ${install_type} | grep ${JDK_DISTRO} | grep -oE '[0-9]+(\.[0-9]+(\.[0-9]+)?)?' | sort -u")
222+
if echo "${available_versions}" | grep -q "^${major_version}"; then
223+
echo "JDK version ${major_version} is available in ${JDK_DISTRO}..."
224+
else
225+
echo "JDK version ${major_version} not available in ${JDK_DISTRO}.... Switching to (tem)."
218226
JDK_DISTRO="tem"
219227
fi
220228
fi
229+
echo "JDK_DISTRO: ${JDK_DISTRO}"
221230
if [ "${install_type}" != "java" ]; then
222231
regex="${prefix}\\K[0-9]+\\.?[0-9]*\\.?[0-9]*${suffix}"
223232
else

test/java/install_latest_version.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ echo 'public class HelloWorld { public static void main(String[] args) { System.
99
javac HelloWorld.java
1010

1111
check "hello world" /bin/bash -c "java HelloWorld | grep "Hello, World!""
12-
check "java version latest installed" grep "23" <(java --version)
12+
check "java version latest installed" grep "24" <(java --version)
1313

1414
# Report result
1515
reportResults

0 commit comments

Comments
 (0)