Skip to content

Use Jacoco 0.8.15 snapshot#1550

Merged
msridhar merged 1 commit intomasterfrom
jacoco-0.8.15-snapshot
Apr 27, 2026
Merged

Use Jacoco 0.8.15 snapshot#1550
msridhar merged 1 commit intomasterfrom
jacoco-0.8.15-snapshot

Conversation

@msridhar
Copy link
Copy Markdown
Collaborator

@msridhar msridhar commented Apr 26, 2026

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

  • Chores
    • Updated testing infrastructure and code quality verification tooling to enhance development workflows.

@msridhar msridhar enabled auto-merge (squash) April 26, 2026 21:58
@msridhar msridhar requested a review from seemantasaha April 26, 2026 21:58
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 26, 2026

Walkthrough

This 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 org.jacoco group, preventing snapshot artifacts from being pulled for other dependencies.

Possibly related PRs

  • Bump various dependencies #1469: Bumps JaCoCo version in the same build configuration file from an earlier version to 0.8.14, establishing the baseline that this PR further updates to 0.8.15-SNAPSHOT.
  • Test on JDK 27 EA #1540: Modifies JaCoCo handling in the same build file with changes intended to avoid pulling JaCoCo snapshots, representing an alternative approach to snapshot dependency management.

Suggested reviewers

  • yuxincs
  • seemantasaha
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely summarizes the main change: updating Jacoco to version 0.8.15 snapshot, which is the primary objective of the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jacoco-0.8.15-snapshot

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

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

📥 Commits

Reviewing files that changed from the base of the PR and between 4178533 and 05cbff9.

📒 Files selected for processing (1)
  • buildSrc/src/main/groovy/nullaway.java-test-conventions.gradle

Comment on lines +22 to +39
// 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"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧹 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:


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
Copy link
Copy Markdown

codecov Bot commented Apr 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.52%. Comparing base (4178533) to head (05cbff9).

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@msridhar msridhar merged commit 2331d6f into master Apr 27, 2026
12 checks passed
@msridhar msridhar deleted the jacoco-0.8.15-snapshot branch April 27, 2026 03:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants