fix(licenses): support Java license designations - #636
Conversation
Preserve verified third-party license choices in generated Java notices and inventories. Signed-off-by: Kristina Pathak <kpathak@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughJava dependency metadata now supports validated ChangesDesignated Java license support
Estimated code review effort: 3 (Moderate) | ~20 minutes Suggested reviewers: Sequence Diagram(s)sequenceDiagram
participant CLI
participant Metadata
participant generated_notice
participant NOTICE
participant RuntimeInventory
CLI->>Metadata: load designated license metadata
CLI->>generated_notice: pass resolved metadata and aliases
generated_notice->>NOTICE: format designated and upstream licenses
generated_notice->>RuntimeInventory: record designated and declared licenses
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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.
Inline comments:
In `@tools/bazel/java/generate_notice.py`:
- Around line 591-594: Update the metadata refresh flow around the artifact
update logic and main so aliases are loaded before update_metadata, the updated
entry’s preserved designated_license is validated against the refreshed licenses
before it is returned or written, and an invalid designation is rejected or
cleared before generated metadata is persisted. Add coverage for refreshed POM
licenses that no longer include the existing designation.
🪄 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: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 42ded261-a7ea-4319-9093-b04ce690c253
📒 Files selected for processing (3)
license-compliance.mdtools/bazel/java/generate_notice.pytools/bazel/java/generate_notice_test.py
Reject stale selections before refreshed NOTICE metadata is written. Signed-off-by: Kristina Pathak <kpathak@nvidia.com>
Signed-off-by: Kristina Pathak <kpathak@nvidia.com>
|
🎉 This PR is included in version nvcf-instance-cluster-management-v0.1.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
TL;DR
designated_licensefor reviewed choices among alternative Java dependency licenses.Additional Details
For Reviewer
tools/bazel/java/generate_notice.py.For QA
Testing and Documentation
python3 -m unittest generate_notice_test.pybazel --output_user_root=/private/tmp/nvcf-license-elections-bazel-cache test --repo_contents_cache=/private/tmp/nvcf-bazel-repo-cache //tools/bazel/java:generate_notice_test --test_output=errorslicense-compliance.mdwith the metadata contract.Issues
Closes #635
Checklist
Github commit:
fix(licenses): support Java license designations
Record reviewed ICMS dependency license choices and generate NOTICE and runtime
inventory entries that retain the upstream alternatives for audit.
Summary by CodeRabbit
Documentation
Compliance