Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions bucket/zulufx25-jdk.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"description": "Open Source Builds of Zulu With OpenJFX",
"homepage": "https://www.azul.com/products/zulu-community/zulufx/",
"version": "25.32.21",
"license": {
"identifier": "GPL-2.0-only WITH Classpath-exception-2.0",
"url": "https://www.azulsystems.com/license/zulu_third_party_licenses.html"
},
"architecture": {
"64bit": {
"url": "https://cdn.azul.com/zulu/bin/zulu25.32.21-ca-fx-jdk25.0.2-win_x64.zip",
"hash": "50d428552aef90f1f36117f68f03a7f52f63753ade454b1319ea4ae44b52ac19",
"extract_dir": "zulu25.32.21-ca-fx-jdk25.0.2-win_x64"
}
},
"env_add_path": "bin",
"env_set": {
"JAVA_HOME": "$dir"
},
"checkver": {
"url": "https://api.azul.com/metadata/v1/zulu/packages/?java_version=&os=windows&arch=x64&archive_type=zip&java_package_type=jdk&javafx_bundled=true&crac_supported=false&release_type=PSU&latest=true&include_fields=sha256_hash&page_size=1",
"jsonpath": "$..download_url",
"regex": "(?<name>zulu(?<version>[\\d.]+)-ca-fx-jdk(?<java>[\\d.]+)-win)_x64.zip",
"replace": "${version}"
},
Comment on lines +20 to +25
Copy link
Copy Markdown

@coderabbitai coderabbitai bot Mar 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Critical: Empty java_version parameter will break version checking.

The checkver URL has java_version= (empty) at line 21, which will cause the Azul API call to fail or return incorrect results. Based on the version 25.32.21 and the pattern established in bucket/zulufx22-jdk.json, this should be java_version=25.

🔧 Proposed fix
-        "url": "https://api.azul.com/metadata/v1/zulu/packages/?java_version=&os=windows&arch=x64&archive_type=zip&java_package_type=jdk&javafx_bundled=true&crac_supported=false&release_type=PSU&latest=true&include_fields=sha256_hash&page_size=1",
+        "url": "https://api.azul.com/metadata/v1/zulu/packages/?java_version=25&os=windows&arch=x64&archive_type=zip&java_package_type=jdk&javafx_bundled=true&crac_supported=false&release_type=PSU&latest=true&include_fields=sha256_hash&page_size=1",

As per the pattern in bucket/zulufx22-jdk.json (lines 20-25), which uses java_version=22 for the corresponding Java 22 distribution.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/zulufx25-jdk.json` around lines 20 - 25, The checkver block's URL in
the checkver object leaves the java_version parameter empty which breaks Azul
API queries; update the "url" value inside the checkver object (the URL string
used by checkver) to set java_version=25 (e.g., replace "java_version=" with
"java_version=25") so the check for the zulufx25-jdk release returns correct
results; target the "checkver" -> "url" string in the zulufx25-jdk.json file.

✅ Confirmed as addressed by @minichiello

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add "java_version=25"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@minichiello, thanks for making the fix! Setting java_version=25 in the checkver URL ensures the Azul API returns the correct results for the ZuluFX 25 distribution. 🎉


🧠 Learnings used
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.

If you found this review helpful, would you consider giving us a shout-out on X?

Thank you for using CodeRabbit!

"autoupdate": {
"architecture": {
"64bit": {
"url": "https://cdn.azul.com/zulu/bin/$matchName_x64.zip",
"extract_dir": "$matchName_x64",
"hash": {
"url": "https://api.azul.com/metadata/v1/zulu/packages/?java_version=&os=windows&arch=x64&archive_type=zip&java_package_type=jdk&javafx_bundled=true&crac_supported=false&release_type=PSU&latest=true&include_fields=sha256_hash&page_size=1",
"jp": "$..sha256_hash"
}
}
}
}
Comment on lines +26 to +37
Copy link
Copy Markdown

@coderabbitai coderabbitai bot Mar 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Critical: Empty java_version parameter will break hash retrieval.

The autoupdate hash URL has java_version= (empty) at line 32, which will prevent the SHA-256 hash from being retrieved from the Azul API during automated updates. This should be java_version=25 to match the package version.

🔧 Proposed fix
-                    "url": "https://api.azul.com/metadata/v1/zulu/packages/?java_version=&os=windows&arch=x64&archive_type=zip&java_package_type=jdk&javafx_bundled=true&crac_supported=false&release_type=PSU&latest=true&include_fields=sha256_hash&page_size=1",
+                    "url": "https://api.azul.com/metadata/v1/zulu/packages/?java_version=25&os=windows&arch=x64&archive_type=zip&java_package_type=jdk&javafx_bundled=true&crac_supported=false&release_type=PSU&latest=true&include_fields=sha256_hash&page_size=1",

As per the pattern in bucket/zulufx22-jdk.json (lines 26-37), which uses java_version=22 in the autoupdate hash URL.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/zulufx25-jdk.json` around lines 26 - 37, The autoupdate hash URL in
the "autoupdate" -> "architecture" -> "64bit" block contains an empty
java_version parameter ("java_version=") which prevents SHA-256 retrieval;
update that URL's query to use "java_version=25" so it matches the package
version used by this manifest (change the java_version value in the hash URL
string in zulufx25-jdk.json to 25, mirroring the pattern used in
zulufx22-jdk.json).

✅ Confirmed as addressed by @minichiello

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add "java_version=25"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@minichiello, thanks for making the fix! Adding java_version=25 to the autoupdate hash URL ensures the Azul API correctly returns the SHA-256 hash for the Zulu 25 package during automated updates. 🎉


🧠 Learnings used
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.

If you found this review helpful, would you consider giving us a shout-out on X?

Thank you for using CodeRabbit!

}
38 changes: 38 additions & 0 deletions bucket/zulufx25-jre.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"description": "Open Source Builds of Zulu With OpenJFX",
"homepage": "https://www.azul.com/products/zulu-community/zulufx/",
"version": "25.32.21",
"license": {
"identifier": "GPL-2.0-only WITH Classpath-exception-2.0",
"url": "https://www.azulsystems.com/license/zulu_third_party_licenses.html"
},
"architecture": {
"64bit": {
"url": "https://cdn.azul.com/zulu/bin/zulu25.32.21-ca-fx-jre25.0.2-win_x64.zip",
"hash": "4042b60589ef40e8d3bf38ae792e8143037ba6a39112ef88ca9ef7d2fa71b259",
"extract_dir": "zulu25.32.21-ca-fx-jre25.0.2-win_x64"
}
},
"env_add_path": "bin",
"env_set": {
"JAVA_HOME": "$dir"
},
"checkver": {
"url": "https://api.azul.com/metadata/v1/zulu/packages/?java_version=25&os=windows&arch=x64&archive_type=zip&java_package_type=jre&javafx_bundled=true&crac_supported=false&release_type=PSU&latest=true&include_fields=sha256_hash&page_size=1",
"jsonpath": "$..download_url",
"regex": "(?<name>zulu(?<version>[\\d.]+)-ca-fx-jre(?<java>[\\d.]+)-win)_x64.zip",
"replace": "${version}"
},
"autoupdate": {
"architecture": {
"64bit": {
"url": "https://cdn.azul.com/zulu/bin/$matchName_x64.zip",
"extract_dir": "$matchName_x64",
"hash": {
"url": "https://api.azul.com/metadata/v1/zulu/packages/?java_version=25&os=windows&arch=x64&archive_type=zip&java_package_type=jre&javafx_bundled=true&crac_supported=false&release_type=PSU&latest=true&include_fields=sha256_hash&page_size=1",
"jp": "$..sha256_hash"
}
}
}
}
}