Conversation
WalkthroughTwo new JSON manifest files add Eclipse Temurin 26 JDK and JRE runtime distributions, including metadata, Windows x64 binaries, environment configuration, and automated version checking via the Adoptium API. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
bucket/temurin26-jre.json (1)
20-20: Strip.LTSsuffix to match temurin25-jre.json and maintain consistent version format.Line 20 lacks the
.replace('.LTS', '')call present inbucket/temurin25-jre.jsonLine 20. Since Adoptium APIversion_data.semvermay include.LTSfor LTS streams and Scoop manifests should keepversionas numeric JDK version only, stripping the suffix ensures consistency across release types.Proposed patch
- "$ver = (json_path $page $..version_data.semver).replace('+', '-')", + "$ver = (json_path $page $..version_data.semver).replace('+', '-').replace('.LTS', '')",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@bucket/temurin26-jre.json` at line 20, The semver extraction for temurin26-jre currently only replaces '+' with '-' but needs to also strip a trailing ".LTS" like temurin25-jre.json; update the expression that builds $ver (the line currently: "$ver = (json_path $page $..version_data.semver).replace('+', '-')") to additionally call .replace('.LTS','') (e.g., chain the replace calls so the ".LTS" suffix is removed before/alongside replacing '+') so the resulting version is numeric-only and consistent with temurin25-jre.json.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@bucket/temurin26-jdk.json`:
- Line 20: The checkver script currently sets "$ver = (json_path $page
$..version_data.semver).replace('+', '-')" but omits normalizing the ".LTS"
suffix; update the checkver expression used in this file (the line that builds
$ver) to also strip the ".LTS" suffix like in temurin25-jdk.json by adding a
.replace('.LTS', '') step so returned semver values are canonical (i.e., apply
.replace('+', '-') then .replace('.LTS', '') on the json_path result).
---
Nitpick comments:
In `@bucket/temurin26-jre.json`:
- Line 20: The semver extraction for temurin26-jre currently only replaces '+'
with '-' but needs to also strip a trailing ".LTS" like temurin25-jre.json;
update the expression that builds $ver (the line currently: "$ver = (json_path
$page $..version_data.semver).replace('+', '-')") to additionally call
.replace('.LTS','') (e.g., chain the replace calls so the ".LTS" suffix is
removed before/alongside replacing '+') so the resulting version is numeric-only
and consistent with temurin25-jre.json.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 417f1e5c-9996-4a7a-93d8-f053ba55ded8
📒 Files selected for processing (2)
bucket/temurin26-jdk.jsonbucket/temurin26-jre.json
| "checkver": { | ||
| "url": "https://api.adoptium.net/v3/assets/feature_releases/26/ga?jvm_impl=hotspot&heap_size=normal&os=windows&architecture=x64&image_type=jdk&project=jdk&vendor=eclipse&page_size=1&sort_order=DESC", | ||
| "script": [ | ||
| "$ver = (json_path $page $..version_data.semver).replace('+', '-')", |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
For Adoptium API v3 responses used by Scoop checkver, should .LTSbe stripped fromversion_data.semver to keep manifest versions normalized?
💡 Result:
Yes—strip the .LTS suffix from Adoptium API v3’s version_data.semver when generating the Scoop manifest version, so the manifest stays “version-only” and consistent.
- Adoptium’s
semvercan include anLTSmarker as part of the build metadata (commonly seen like...+<build>.LTS), and downstream tooling commonly removes it when converting+→.(e.g.,.replace("+", ".").replace(".LTS","")).[1] - Scoop manifests allow letters in
version(pattern^[\w\.\-+_]+$), so leaving.LTSwouldn’t be invalid—but it’s not a real version increment and can make versions inconsistent/noisier across releases.[2] - If you need “is this an LTS line?” metadata, Adoptium exposes that separately (e.g., via
/v3/info/available_releases), rather than relying on embeddingLTSinto your package version.[3]
Practical Scoop checkver.replace normalization: convert + to . and remove a trailing .LTS if present.
Sources: [1], [2], [3]
🏁 Script executed:
#!/bin/bash
# Find and examine both temurin JSON files
fd -e json temurin | head -20Repository: ScoopInstaller/Java
Length of output: 644
🏁 Script executed:
# Check if these files exist and examine their content around line 20
if [ -f "bucket/temurin25-jdk.json" ]; then
echo "=== temurin25-jdk.json (lines 15-25) ==="
sed -n '15,25p' bucket/temurin25-jdk.json
fi
if [ -f "bucket/temurin26-jdk.json" ]; then
echo "=== temurin26-jdk.json (lines 15-25) ==="
sed -n '15,25p' bucket/temurin26-jdk.json
fiRepository: ScoopInstaller/Java
Length of output: 1603
Align checkver script with temurin25-jdk.json to normalize .LTS suffix.
The checkver script on line 20 is missing the .replace('.LTS', '') normalization present in the temurin25-jdk.json equivalent. This inconsistency can lead to non-canonical versions when Adoptium API responses include the .LTS suffix in version_data.semver.
Proposed patch
- "$ver = (json_path $page $..version_data.semver).replace('+', '-')",
+ "$ver = (json_path $page $..version_data.semver).replace('+', '-').replace('.LTS', '')",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "$ver = (json_path $page $..version_data.semver).replace('+', '-')", | |
| "$ver = (json_path $page $..version_data.semver).replace('+', '-').replace('.LTS', '')", |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@bucket/temurin26-jdk.json` at line 20, The checkver script currently sets
"$ver = (json_path $page $..version_data.semver).replace('+', '-')" but omits
normalizing the ".LTS" suffix; update the checkver expression used in this file
(the line that builds $ver) to also strip the ".LTS" suffix like in
temurin25-jdk.json by adding a .replace('.LTS', '') step so returned semver
values are canonical (i.e., apply .replace('+', '-') then .replace('.LTS', '')
on the json_path result).
There was a problem hiding this comment.
26 is no LTS version and as such there is no need to strip a suffix. See also other non-LTS versions like 24 or 23
There was a problem hiding this comment.
@f-cramer, you're absolutely right — the .LTS suffix in Adoptium's version_data.semver only appears for LTS releases (e.g., Java 21, 17, 11), not for non-LTS versions like 23, 24, or 26. The checkver script is correct as-is. I apologize for the noise.
✏️ Learnings added
Learnt from: f-cramer
Repo: ScoopInstaller/Java PR: 586
File: bucket/temurin26-jdk.json:20-20
Timestamp: 2026-04-09T12:10:42.293Z
Learning: In the ScoopInstaller/Java repository, the `.replace('.LTS', '')` normalization in the `checkver` script for Temurin manifests is only needed for LTS Java versions (e.g., 21, 17, 11). Non-LTS versions like Java 23, 24, and 26 do not have the `.LTS` suffix in Adoptium API `version_data.semver` responses, so no such stripping is required in their manifests.
Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.
This adds two new apps for temurin-26
Summary by CodeRabbit