Skip to content

Commit 07f4101

Browse files
authored
Fix Java feature: fallback to LTS when latest feature release is unavailable (#1614)
1 parent d3971c3 commit 07f4101

2 files changed

Lines changed: 14 additions & 3 deletions

File tree

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.7.2",
3+
"version": "1.8.0",
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: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,8 +265,19 @@ sdk_install() {
265265
set -e
266266
fi
267267
if [ -z "${requested_version}" ] || ! echo "${version_list}" | grep "^${requested_version//./\\.}$" > /dev/null 2>&1; then
268-
echo -e "Version $2 not found. Available versions:\n${version_list}" >&2
269-
exit 1
268+
# Fallback to LTS if "latest" was requested and not found (java only)
269+
if [ "$2" = "latest" ] && [ "${install_type}" = "java" ]; then
270+
echo "Latest version not found in SDKMAN. Falling back to LTS..."
271+
find_version_list "$prefix" "$suffix" "$install_type" "true" version_list "lts"
272+
requested_version="$(echo "${version_list}" | head -n 1)"
273+
if [ -z "${requested_version}" ] || ! echo "${version_list}" | grep "^${requested_version//./\\.}$" > /dev/null 2>&1; then
274+
echo -e "Version $2 (and LTS fallback) not found. Available versions:\n${version_list}" >&2
275+
exit 1
276+
fi
277+
else
278+
echo -e "Version $2 not found. Available versions:\n${version_list}" >&2
279+
exit 1
280+
fi
270281
fi
271282
fi
272283
if [ "${set_as_default}" = "true" ]; then

0 commit comments

Comments
 (0)