Oracle OpenJDK: pick up release status changes of known packages - #163
danishnawab wants to merge 2 commits into
Conversation
Oracle serves release candidates from the final GA location on download.java.net, so filename and download link of a build do not change when jdk.java.net switches the page from "Release-Candidate" to GA. The incremental update skipped every known filename/link pair and therefore never re-evaluated the release status, leaving the GA build labelled as early access (JDK 27 build 35 is reported as 27-ea+35, see foojayio#162). The check now also compares the release status, computed with the same rules the package would be stored with (GA link, release candidate page, GA date not reached yet), and re-emits the package when it differs. The pkg id is the MD5 of the download link, so the existing record is updated in place.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review. 📝 WalkthroughWalkthroughThe change adds a shared future-GA date check, applies it during Oracle OpenJDK extraction, and updates package deduplication to include release status. Tests verify future, current, and unknown feature-version dates. ChangesOracle release status handling
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix · Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to No confirmed merge-blocking issue remains. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning Git: CodeRabbit could not clone the repository, so clone-backed analysis was skipped and this review may be incomplete. Verify repository clone access, such as SSH credentials, before requesting another full review. If clone access is intentionally unavailable, use 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 |
Fixes #162
JDK 27 build 35 is still reported as
27-ea+35although jdk.java.net serves it as GA. Root cause: Oracle hosts release candidates at the final GA location, so filename and download link do not change when the page switches from "Release-Candidate" to GA. The incremental update skips every known filename/link pair and never re-evaluates the release status.Changes
OracleOpenJDK.extractPackagesFromHtml: theonlyNewPkgscheck now also compares the release status. A known package is skipped only if the cached record already has the status computed from the current page. Otherwise it is re-emitted; since the pkg id is the MD5 of the download link, the existing record is updated in place.ga_dates.properties) is applied before that comparison, so the status compared is exactly the one that would be stored. Without this a GA-hosted build before its GA date would be re-emitted every run.Helper.isTooEarlyForGA(int)extracted for that purpose;checkPkgsForTooEarlyGAnow delegates to it, behaviour unchanged.isTooEarlyForGA(future date, reached date, unknown major).Notes
HelperTest.testExtractingFilenamesfails onmainas well and is unrelated.Summary by CodeRabbit