feat(oracle-graalvm): resurrect oracle-graalvm with new JSON endpoint - #525
Conversation
📝 WalkthroughWalkthroughAdds Oracle GraalVM as a JVM vendor. The implementation fetches Oracle release metadata, filters supported packages, parses modern archive names, records checksums, and registers the vendor globally. ChangesOracle GraalVM support
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant VendorRegistry
participant OracleGraalVM
participant OracleReleaseIndex
participant ReleaseMetadata
VendorRegistry->>OracleGraalVM: invoke vendor implementation
OracleGraalVM->>OracleReleaseIndex: fetch release index
OracleGraalVM->>ReleaseMetadata: fetch release metadata in parallel
OracleGraalVM->>OracleGraalVM: map Core packages into JvmData
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
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 |
Greptile SummaryThis PR restores the Oracle GraalVM vendor using Oracle’s JSON download index.
Confidence Score: 5/5The PR appears safe to merge with no concrete changed-code failure established. The restored vendor follows existing normalization and partial-fetch conventions, and the investigated parsing, metadata mapping, and registration paths revealed no reachable contract violation. Important Files Changed
Reviews (1): Last reviewed commit: "feat(oracle-graalvm): resurrect oracle-g..." | Re-trigger Greptile |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
src/jvm/vendor/oracle_graalvm.rs (1)
145-197: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAdd unit tests for
map_fileandmap_release.Only
meta_from_namehas test coverage.map_file(checksum extraction, innovation-release filtering) andmap_release(Core package selection) contain pure logic that does not require network access, yet neither is covered by tests. Add tests that constructFileData/PackageData/ReleaseDatavalues directly and assert on checksum extraction, innovation-release skipping, and Core-only filtering.Also applies to: 233-305
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/jvm/vendor/oracle_graalvm.rs` around lines 145 - 197, Add unit tests for map_file and map_release, constructing FileData, PackageData, and ReleaseData directly without network access. Cover map_file checksum extraction and innovation-release filtering, and cover map_release selecting only Core packages. Reuse existing test helpers and assert the returned JvmData or skipped/filtered results.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@src/jvm/vendor/oracle_graalvm.rs`:
- Around line 145-197: Add unit tests for map_file and map_release, constructing
FileData, PackageData, and ReleaseData directly without network access. Cover
map_file checksum extraction and innovation-release filtering, and cover
map_release selecting only Core packages. Reuse existing test helpers and assert
the returned JvmData or skipped/filtered results.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Central YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Pro Plus
Run ID: 6356f38c-f38e-446b-b23e-28159b7933bc
📒 Files selected for processing (2)
src/jvm/vendor/mod.rssrc/jvm/vendor/oracle_graalvm.rs
Summary by CodeRabbit