Skip to content

Commit 9852ca8

Browse files
[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 <[email protected]> * bumped patch version --------- Co-authored-by: Samruddhi Khandale <[email protected]>
1 parent 3a22c41 commit 9852ca8

File tree

5 files changed

+24
-4
lines changed

5 files changed

+24
-4
lines changed

src/java/devcontainer-feature.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"id": "java",
3-
"version": "1.2.1",
3+
"version": "1.2.2",
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.",

src/java/install.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,13 +111,13 @@ sdk_install() {
111111
elif echo "${requested_version}" | grep -oE "${full_version_check}" > /dev/null 2>&1; then
112112
echo "${requested_version}"
113113
else
114-
local regex="${prefix}\\K[0-9]+\\.[0-9]+\\.[0-9]+${suffix}"
114+
local regex="${prefix}\\K[0-9]+\\.?[0-9]*\\.?[0-9]*${suffix}"
115115
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")
116116
if [ "${requested_version}" = "latest" ] || [ "${requested_version}" = "current" ]; then
117117
requested_version="$(echo "${version_list}" | head -n 1)"
118118
else
119119
set +e
120-
requested_version="$(echo "${version_list}" | grep -E -m 1 "^${requested_version//./\\.}([\\.\\s]|$)")"
120+
requested_version="$(echo "${version_list}" | grep -E -m 1 "^${requested_version//./\\.}([\\.\\s]|-|$)")"
121121
set -e
122122
fi
123123
if [ -z "${requested_version}" ] || ! echo "${version_list}" | grep "^${requested_version//./\\.}$" > /dev/null 2>&1; then

test/java/install_from_non_default_distro.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set -e
55
# Optional: Import test library
66
source dev-container-features-test-lib
77

8-
check "java version openjdk 11 installed" grep "openjdk 11." <(java --version)
8+
check "java version openjdk 19 installed" grep "openjdk 19." <(java --version)
99

1010
# Report result
1111
reportResults
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
# Optional: Import test library
6+
source dev-container-features-test-lib
7+
8+
check "java version openjdk 21 installed" grep "openjdk 21." <(java --version)
9+
10+
# Report result
11+
reportResults

test/java/scenarios.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,5 +56,14 @@
5656
"mavenVersion": "3.6.3"
5757
}
5858
}
59+
},
60+
"install_non_conventional_version": {
61+
"image": "ubuntu:focal",
62+
"features":{
63+
"java": {
64+
"version": "21",
65+
"jdkDistro": "graalce"
66+
}
67+
}
5968
}
6069
}

0 commit comments

Comments
 (0)