Skip to content

docs(readme): add a Gradle 9 compatibility table - #6

Open
krassx wants to merge 1 commit into
mainfrom
docs/gradle9-compatibility
Open

krassx wants to merge 1 commit into
mainfrom
docs/gradle9-compatibility

Conversation

@krassx

@krassx krassx commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

Adds a Compatibility section to the README, prompted by a customer report that the plugin "isn't compatible with Gradle 9".

What the section says

  • Gradle 9 needs plugin 4.0.3+. 4.0.0 – 4.0.2 call ProjectDependency.getDependencyProject(), which Gradle 9.0 removed, so the consumer's build fails during configuration. The section includes the exact error text so it can be matched against support tickets. The fix is ProjectDependencyCompat (2066da5), shipped in 4.0.3.
  • Verified Gradle/AGP combinations for 4.0.7.
  • Two pitfalls that are not ours: AGP must be compatible with the Gradle version (AGP 8.13 fails on Gradle 9.7), and AGP 9's built-in Kotlin rejects org.jetbrains.kotlin.android.

How it was verified

Standalone apps using the published plugin from Maven Central. Each ran assembleRelease with R8, and I checked that bytecode was instrumented (javap), BUILD_UUID was injected into the release manifests, and the mapping upload task ran against a dead local endpoint. --configuration-cache ran on the rows marked ✅ in that column.

  • 4.0.0 – 4.0.2 fail on Gradle 9.0.0 and 9.8.0. 4.0.2 passes on Gradle 8.14.3, which shows the regression comes from Gradle 9.
  • 4.0.3 – 4.0.7 pass on Gradle 9.8.0 + AGP 9.4.1.
  • 4.0.7 passes on 9.7.0/9.4.1, 9.1.0/9.0.1, 9.0.0/8.13.2 and 8.14.3/8.13.2.
  • 4.0.7 passes on 9.8.0/9.4.1 in a multi-module app (library module, flavors, Compose, NDK, feedback). This covers the project-dependency path that 2066da5 had only checked on Gradle 8.7.

The same table goes into the public docs in bugsee/docs (companion PR).

🤖 Generated with Claude Code

Plugin 4.0.0 - 4.0.2 fail on Gradle 9 (ProjectDependency.getDependencyProject()
was removed in 9.0); 4.0.3 fixed it via ProjectDependencyCompat. A customer
report prompted re-validation: record which plugin versions support Gradle 9,
the exact failure text, and the Gradle/AGP combinations verified with 4.0.7.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
@krassx

krassx commented Sep 28, 2026

Copy link
Copy Markdown
Contributor Author

Companion docs PR: bugsee/docs#70

Comment thread README.md
Comment on lines +36 to +41
and the mapping upload. Plugin 4.0.3 – 4.0.6 were also verified on Gradle 9.8.0
with AGP 9.4.1. Verified September 2026.

| Gradle | AGP | Configuration cache | Result |
|---|---|---|---|
| 9.8.0 | 9.4.1 | ✅ | ✅ Also verified on a multi-module app (library module, product flavors, Compose, NDK) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The "✅ ... NDK" claim here is misleading for the shipped 4.0.7 artifact. Commit a82e98c (present in the released 4.0.7 on the release branch, i.e. ancestor of dfd2c18) introduced a regression where initializeExtensions() is left empty while the manifest task still strips every extension provider — NDK, feedback, Compose, and OkHttp never register, with a green build. This was only fixed by 1a5847e ("fix(extensions): stop 4.0.6 from dropping every SDK extension"), which landed on main but is not in the release branch / not part of any tagged 4.0.x release yet.

The verification method described in the PR body (javap bytecode check, BUILD_UUID injection, mapping upload against a dead endpoint) is exactly the kind of static/build-time check that wouldn't catch this — the commit message for 1a5847e explicitly notes the bug shipped "with a green build." So documenting 4.0.7 (and 4.0.6, referenced on line 36) as verified working with NDK/Compose extensions risks pointing affected users at versions that are known to silently drop those exact extensions. Recommend caveating this row/line, or holding the table until a release containing 1a5847e ships.

@claude

claude Bot commented Sep 28, 2026

Copy link
Copy Markdown

Code review

Docs-only change: adds a Gradle 9 compatibility section and a verified Gradle/AGP combination table to the README. The ProjectDependencyCompat / getDependencyProject() history and the 2066da5 fix are accurately described and match the code and commit history.

Findings: 1 inline (1 blocking).

The verified-combinations table (README.md:36-41) documents 4.0.6/4.0.7 as verified working with NDK and Compose extensions, but the actually-released 4.0.7 (on the release branch) contains a82e98c, a regression that silently drops all extension providers (NDK, feedback, Compose, OkHttp) with a green build — fixed only by 1a5847e on main, which hasn't shipped in any tagged release. The verification method described (bytecode/manifest/mapping checks) wouldn't have caught this runtime issue. See the inline comment for details.

Recommend fixing the blocking finding — either caveat the affected rows or hold the table until a release containing 1a5847e ships — before merging; everything else in the diff checks out.

This branch has not been deployed

No deployments
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.

1 participant