Skip to content

Commit 2225276

Browse files
CopilotKaniska244
andauthored
Fix Java feature: fallback to LTS when latest feature release is unavailable
When the Adoptium API reports a most_recent_feature_release that is greater than most_recent_lts, the non-LTS version may not be available in SDKMAN distributions (ms, tem). Add fallback_to_lts_if_needed() function that automatically falls back to the most recent LTS version in this case, ensuring reliable installation. Agent-Logs-Url: https://github.com/devcontainers/features/sessions/d1526a89-15e7-4087-bd4b-174e9f3eaf30 Co-authored-by: Kaniska244 <[email protected]>
1 parent d3971c3 commit 2225276

1 file changed

Lines changed: 16 additions & 1 deletion

File tree

src/java/install.sh

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,20 @@ updaterc() {
195195
fi
196196
}
197197

198+
fallback_to_lts_if_needed() {
199+
local all_versions="$1"
200+
local feature_release_version="$2"
201+
local most_recent_lts
202+
most_recent_lts=$(echo "$all_versions" | jq -r '.most_recent_lts')
203+
204+
if [ "${feature_release_version}" -gt "${most_recent_lts}" ]; then
205+
echo "Latest feature release (${feature_release_version}) is newer than most recent LTS (${most_recent_lts}). Falling back to LTS version." >&2
206+
echo "${most_recent_lts}"
207+
else
208+
echo "${feature_release_version}"
209+
fi
210+
}
211+
198212
find_version_list() {
199213
prefix="$1"
200214
suffix="$2"
@@ -208,7 +222,8 @@ find_version_list() {
208222
if [ "${ifLts}" = "true" ]; then
209223
major_version=$(echo "$all_versions" | jq -r '.most_recent_lts')
210224
elif [ "${java_ver}" = "latest" ]; then
211-
major_version=$(echo "$all_versions" | jq -r '.most_recent_feature_release')
225+
major_version=$(echo "$all_versions" | jq -r '.most_recent_feature_release')
226+
major_version=$(fallback_to_lts_if_needed "$all_versions" "$major_version")
212227
else
213228
major_version=$(echo "$java_ver" | cut -d '.' -f 1)
214229
fi

0 commit comments

Comments
 (0)