From 13ad0b7235bac2efc6f5e6081865bd84577b31b2 Mon Sep 17 00:00:00 2001 From: redth Date: Mon, 24 Aug 2026 20:17:22 -0400 Subject: [PATCH] [build] Recommend latest supported JDK in workload metadata Select the newest non-preview JDK from the installer feed within the workload's supported range instead of reusing the build JDK version. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4b3f9f46-be20-4288-af69-a4f32ef172a1 --- tools/workload-dependencies/Program.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/workload-dependencies/Program.cs b/tools/workload-dependencies/Program.cs index 4fb9483189d..9ff934d9c13 100644 --- a/tools/workload-dependencies/Program.cs +++ b/tools/workload-dependencies/Program.cs @@ -165,7 +165,7 @@ JProperty CreateJdkProperty (XDocument doc) var v = new Version (JdkVersion ?? "17.0"); var start = new Version (v.Major, v.Minor); var end = GetMaxJdkVersion (v); - var latestRevision = JdkVersion ?? GetLatestRevision (doc, "jdk"); + var latestRevision = GetLatestRevision (doc, "jdk", start, new Version (end)); var contents = new JObject ( new JProperty ("version", $"[{start},{end})")); if (!string.IsNullOrEmpty (latestRevision)) @@ -202,9 +202,13 @@ IEnumerable GetSupportedElements (XDocument doc, string element) .OrderByRevision (); } -string? GetLatestRevision (XDocument doc, string element) +string? GetLatestRevision (XDocument doc, string element, Version minimumVersion, Version maximumVersion) { return GetByRevisions (doc, element) + .Where (item => { + var version = new Version (item.Revision); + return version >= minimumVersion && version < maximumVersion; + }) .LastOrDefault () .Revision; }