Conversation
WalkthroughThis change updates the JaCoCo code coverage tool version from 0.8.14 to 0.8.15-SNAPSHOT in the Gradle test conventions configuration. To enable fetching the snapshot version, a scoped Maven repository configuration is added that restricts snapshot artifact resolution to the Sonatype snapshots repository exclusively for the Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 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
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@buildSrc/src/main/groovy/nullaway.java-test-conventions.gradle`:
- Around line 22-39: Add a clear TODO comment next to the Jacoco snapshot pin
(the jacoco { toolVersion = "0.8.15-SNAPSHOT" } declaration) indicating this is
temporary and must be switched to the released 0.8.15 once available; mention
the reason (SNAPSHOT is mutable), scope (we limit to
SonatypeSnapshots/mavenContent includeGroup("org.jacoco")), and include a
tracking issue or ticket link (or placeholder) so it can be reverted later.
🪄 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: ASSERTIVE
Plan: Pro
Run ID: f6383d70-a0e1-42dd-8492-3992d0abc419
📒 Files selected for processing (1)
buildSrc/src/main/groovy/nullaway.java-test-conventions.gradle
| // we pull in the snapshot version of Jacoco to support running on JDK 27 early access builds | ||
| // This repositories declaration is scoped so we can only pull in a snapshot version of Jacoco | ||
| // from the snapshots repo, not any other dependency | ||
| repositories { | ||
| maven { | ||
| name = "SonatypeSnapshots" | ||
| url = uri("https://central.sonatype.com/repository/maven-snapshots/") | ||
| mavenContent { | ||
| snapshotsOnly() | ||
| } | ||
| content { | ||
| includeGroup("org.jacoco") | ||
| } | ||
| } | ||
| } | ||
|
|
||
| jacoco { | ||
| toolVersion = "0.8.14" | ||
| toolVersion = "0.8.15-SNAPSHOT" |
There was a problem hiding this comment.
🧹 Nitpick | 🔵 Trivial
🧩 Analysis chain
🌐 Web query:
Sonatype Central Portal maven snapshots repository URL 2026
💡 Result:
The Sonatype Central Portal Maven snapshots repository URL is https://central.sonatype.com/repository/maven-snapshots/. This is the current URL as of 2026 for publishing and consuming Maven SNAPSHOT artifacts via the Central Portal. Note that the legacy OSSRH snapshots URL (https://oss.sonatype.org/content/repositories/snapshots/) has been deprecated since around mid-2025.
Citations:
- 1: https://central.sonatype.com/repository/maven-snapshots/
- 2: https://central.sonatype.org/publish/publish-portal-snapshots/
- 3: https://ralph.blog.imixs.com/2025/07/07/maven-sonatype-central-repository/
Pinning to a -SNAPSHOT makes builds non-reproducible; add a TODO to switch to the release.
Snapshot artifacts on Sonatype are mutable, so two builds of the same NullAway commit can resolve different org.jacoco:*:0.8.15-SNAPSHOT jars, producing different coverage behavior or transitive dependency sets over time. Gradle caches snapshots for 24h by default, so locally-cached vs. fresh CI agents may also diverge.
The repository scoping (snapshotsOnly() + includeGroup("org.jacoco")) correctly limits the blast radius to Jacoco only. Add a // TODO (and ideally a tracking issue link) to revert to the released 0.8.15 once it ships, so this doesn't silently linger:
📝 Suggested TODO marker
-// we pull in the snapshot version of Jacoco to support running on JDK 27 early access builds
+// TODO: revert to released Jacoco once 0.8.15 is published; tracking: <issue-link>
+// We temporarily pull in the snapshot version to support JDK 27 early access builds.
// This repositories declaration is scoped so we can only pull in a snapshot version of Jacoco
// from the snapshots repo, not any other dependency🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@buildSrc/src/main/groovy/nullaway.java-test-conventions.gradle` around lines
22 - 39, Add a clear TODO comment next to the Jacoco snapshot pin (the jacoco {
toolVersion = "0.8.15-SNAPSHOT" } declaration) indicating this is temporary and
must be switched to the released 0.8.15 once available; mention the reason
(SNAPSHOT is mutable), scope (we limit to SonatypeSnapshots/mavenContent
includeGroup("org.jacoco")), and include a tracking issue or ticket link (or
placeholder) so it can be reverted later.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1550 +/- ##
=========================================
Coverage 88.52% 88.52%
Complexity 2862 2862
=========================================
Files 103 103
Lines 9522 9522
Branches 1911 1911
=========================================
Hits 8429 8429
Misses 528 528
Partials 565 565 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This is to support running tests on JDK 27 ea builds. Without this, Jacoco crashes for such tests. The tests still pass, but seeing the stack traces in the console is annoying and slows down the tests.
Summary by CodeRabbit