From 5afb9694fafbff0ca01a230a350b3ca4ac9b9459 Mon Sep 17 00:00:00 2001 From: Mathiyarasy <157102811+Mathiyarasy@users.noreply.github.com> Date: Wed, 2 Apr 2025 17:00:57 +0000 Subject: [PATCH 1/3] REmove hardcoded fallback to tem from ms JDK --- src/java/install.sh | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/java/install.sh b/src/java/install.sh index ef3d1913a..ffeaf7f18 100644 --- a/src/java/install.sh +++ b/src/java/install.sh @@ -213,11 +213,26 @@ find_version_list() { major_version=$(echo "$java_ver" | cut -d '.' -f 1) fi + # Remove this hardcoded fallback as this fails for latest version released ex: 24 + # Related Issue: https://github.com/devcontainers/features/issues/1308 + # if [ "${JDK_DISTRO}" = "ms" ]; then + # if [ "${major_version}" = "8" ] || [ "${major_version}" = "18" ] || [ "${major_version}" = "22" ] || [ "${major_version}" = "23" ] || [ "${major_version}" = "24" ];then + # JDK_DISTRO="tem" + # fi + # fi + if [ "${JDK_DISTRO}" = "ms" ]; then - if [ "${major_version}" = "8" ] || [ "${major_version}" = "18" ] || [ "${major_version}" = "22" ] || [ "${major_version}" = "23" ]; then + # Check if the requested version is available in the 'ms' distribution + echo "Check if OpenJDK is available for version ${major_version} for ${JDK_DISTRO} Distro" + 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") + if echo "${available_versions}" | grep -q "^${major_version}"; then + echo "JDK version ${major_version} is available in ${JDK_DISTRO}..." + else + echo "JDK version ${major_version} not available in ${JDK_DISTRO}.... Switching to (tem)." JDK_DISTRO="tem" fi fi + echo "JDK_DISTRO: ${JDK_DISTRO}" if [ "${install_type}" != "java" ]; then regex="${prefix}\\K[0-9]+\\.?[0-9]*\\.?[0-9]*${suffix}" else From 4cc6aac32fc71cdcc211adb4efc2c24137f93d26 Mon Sep 17 00:00:00 2001 From: Mathiyarasy <157102811+Mathiyarasy@users.noreply.github.com> Date: Wed, 2 Apr 2025 17:22:31 +0000 Subject: [PATCH 2/3] Update latest version --- test/java/install_latest_version.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/java/install_latest_version.sh b/test/java/install_latest_version.sh index af8a621ce..007699b59 100644 --- a/test/java/install_latest_version.sh +++ b/test/java/install_latest_version.sh @@ -9,7 +9,7 @@ echo 'public class HelloWorld { public static void main(String[] args) { System. javac HelloWorld.java check "hello world" /bin/bash -c "java HelloWorld | grep "Hello, World!"" -check "java version latest installed" grep "23" <(java --version) +check "java version latest installed" grep "24" <(java --version) # Report result reportResults From e1efe7c3d04699d1b52091e37410097b46123ba6 Mon Sep 17 00:00:00 2001 From: Mathiyarasy <157102811+Mathiyarasy@users.noreply.github.com> Date: Thu, 3 Apr 2025 11:23:46 +0000 Subject: [PATCH 3/3] address review comments --- src/java/devcontainer-feature.json | 3 ++- src/java/install.sh | 8 +------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/java/devcontainer-feature.json b/src/java/devcontainer-feature.json index 4e4b6c5d3..c1a96abff 100644 --- a/src/java/devcontainer-feature.json +++ b/src/java/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "java", - "version": "1.6.2", + "version": "1.6.3", "name": "Java (via SDKMAN!)", "documentationURL": "https://github.com/devcontainers/features/tree/main/src/java", "description": "Installs Java, SDKMAN! (if not installed), and needed dependencies.", @@ -10,6 +10,7 @@ "proposals": [ "latest", "none", + "21", "17", "11", "8" diff --git a/src/java/install.sh b/src/java/install.sh index ffeaf7f18..62fd39462 100644 --- a/src/java/install.sh +++ b/src/java/install.sh @@ -213,14 +213,8 @@ find_version_list() { major_version=$(echo "$java_ver" | cut -d '.' -f 1) fi - # Remove this hardcoded fallback as this fails for latest version released ex: 24 + # Remove the hardcoded fallback as this fails for new jdk latest version released ex: 24 # Related Issue: https://github.com/devcontainers/features/issues/1308 - # if [ "${JDK_DISTRO}" = "ms" ]; then - # if [ "${major_version}" = "8" ] || [ "${major_version}" = "18" ] || [ "${major_version}" = "22" ] || [ "${major_version}" = "23" ] || [ "${major_version}" = "24" ];then - # JDK_DISTRO="tem" - # fi - # fi - if [ "${JDK_DISTRO}" = "ms" ]; then # Check if the requested version is available in the 'ms' distribution echo "Check if OpenJDK is available for version ${major_version} for ${JDK_DISTRO} Distro"