[java] fix version regex to support graalce jdk 21 (#701)
* [java] fixed feature test scenario check * [java] support for non conentional version * Update src/java/install.sh to not include whitespaces Co-authored-by: Samruddhi Khandale <samruddhikhandale@github.com> * bumped patch version --------- Co-authored-by: Samruddhi Khandale <samruddhikhandale@github.com>
This commit is contained in:
parent
3a22c41940
commit
9852ca8888
5 changed files with 24 additions and 4 deletions
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"id": "java",
|
"id": "java",
|
||||||
"version": "1.2.1",
|
"version": "1.2.2",
|
||||||
"name": "Java (via SDKMAN!)",
|
"name": "Java (via SDKMAN!)",
|
||||||
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/java",
|
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/java",
|
||||||
"description": "Installs Java, SDKMAN! (if not installed), and needed dependencies.",
|
"description": "Installs Java, SDKMAN! (if not installed), and needed dependencies.",
|
||||||
|
|
|
@ -111,13 +111,13 @@ sdk_install() {
|
||||||
elif echo "${requested_version}" | grep -oE "${full_version_check}" > /dev/null 2>&1; then
|
elif echo "${requested_version}" | grep -oE "${full_version_check}" > /dev/null 2>&1; then
|
||||||
echo "${requested_version}"
|
echo "${requested_version}"
|
||||||
else
|
else
|
||||||
local regex="${prefix}\\K[0-9]+\\.[0-9]+\\.[0-9]+${suffix}"
|
local regex="${prefix}\\K[0-9]+\\.?[0-9]*\\.?[0-9]*${suffix}"
|
||||||
local version_list=$(su ${USERNAME} -c ". \${SDKMAN_DIR}/bin/sdkman-init.sh && sdk list ${install_type} 2>&1 | grep -oP \"${regex}\" | tr -d ' ' | sort -rV")
|
local version_list=$(su ${USERNAME} -c ". \${SDKMAN_DIR}/bin/sdkman-init.sh && sdk list ${install_type} 2>&1 | grep -oP \"${regex}\" | tr -d ' ' | sort -rV")
|
||||||
if [ "${requested_version}" = "latest" ] || [ "${requested_version}" = "current" ]; then
|
if [ "${requested_version}" = "latest" ] || [ "${requested_version}" = "current" ]; then
|
||||||
requested_version="$(echo "${version_list}" | head -n 1)"
|
requested_version="$(echo "${version_list}" | head -n 1)"
|
||||||
else
|
else
|
||||||
set +e
|
set +e
|
||||||
requested_version="$(echo "${version_list}" | grep -E -m 1 "^${requested_version//./\\.}([\\.\\s]|$)")"
|
requested_version="$(echo "${version_list}" | grep -E -m 1 "^${requested_version//./\\.}([\\.\\s]|-|$)")"
|
||||||
set -e
|
set -e
|
||||||
fi
|
fi
|
||||||
if [ -z "${requested_version}" ] || ! echo "${version_list}" | grep "^${requested_version//./\\.}$" > /dev/null 2>&1; then
|
if [ -z "${requested_version}" ] || ! echo "${version_list}" | grep "^${requested_version//./\\.}$" > /dev/null 2>&1; then
|
||||||
|
|
|
@ -5,7 +5,7 @@ set -e
|
||||||
# Optional: Import test library
|
# Optional: Import test library
|
||||||
source dev-container-features-test-lib
|
source dev-container-features-test-lib
|
||||||
|
|
||||||
check "java version openjdk 11 installed" grep "openjdk 11." <(java --version)
|
check "java version openjdk 19 installed" grep "openjdk 19." <(java --version)
|
||||||
|
|
||||||
# Report result
|
# Report result
|
||||||
reportResults
|
reportResults
|
||||||
|
|
11
test/java/install_non_conventional_version.sh
Normal file
11
test/java/install_non_conventional_version.sh
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Optional: Import test library
|
||||||
|
source dev-container-features-test-lib
|
||||||
|
|
||||||
|
check "java version openjdk 21 installed" grep "openjdk 21." <(java --version)
|
||||||
|
|
||||||
|
# Report result
|
||||||
|
reportResults
|
|
@ -56,5 +56,14 @@
|
||||||
"mavenVersion": "3.6.3"
|
"mavenVersion": "3.6.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"install_non_conventional_version": {
|
||||||
|
"image": "ubuntu:focal",
|
||||||
|
"features":{
|
||||||
|
"java": {
|
||||||
|
"version": "21",
|
||||||
|
"jdkDistro": "graalce"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue