Repository navigation
chore: restore apiCheck for Android library modules - #3506
Merged
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3506 +/- ##
==========================================
- Coverage 57.81% 57.80% -0.02%
==========================================
Files 1129 1129
Lines 33281 33281
Branches 4965 4965
==========================================
- Hits 19241 19237 -4
- Misses 12112 12116 +4
Partials 1928 1928 🚀 New features to boost your workflow:
|
ekjotmultani
previously approved these changes
Oct 27, 2026
The binary compatibility validator registers its api tasks only for projects that apply a Kotlin plugin of their own. Android modules take Kotlin from AGP instead as of AGP 9, so since #3465 they have had no apiCheck or apiDump at all and the dumps in their api directories went unvalidated — the apiCheck step in PR verification was covering foundation alone, 1 module out of 32. Drive the validator's own task types off the release variant's compiled classes so every Android library module gets apiBuild, apiCheck and apiDump back, with apiCheck wired into check. The validator puts ASM on the classpath its worker runs on but adds the metadata reader that determines Kotlin visibility only for projects applying a Kotlin plugin, so that dependency is declared here too. All 31 restored modules pass byte-identical against the dumps their previous apiDump runs produced, so the task wiring reproduces the validator's own output rather than an approximation of it. Also drops an unused import and a suppression in the Android library convention plugin, both left behind by #3465 removing the delegated property reads they existed for.
mattcreaser
force-pushed
the
mattcreaser/restore-android-api-check
branch
from
October 28, 2026 14:35
dc948ab to
602424d
Compare
VarshithaPamisetty
approved these changes
Oct 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue #, if available:
Description of changes:
API validation was broken for all modules except
foundationby the AGP update in #3465, since AGP 9 no longer allowskotlin-androidwhich is required for the Binary Compatibility Validator (BCV). With newer versions of Kotlin the expected replacement for BCV is to use ABI validation built into the Kotlin plugin, but this does not yet support Android modules at all.This PR manually re-wires BCV back into the build while keeping AGP 9. The expectation is that this is a temporary workaround until Kotlin ABI Validation is updated to support Android projects.
How did you test these changes?
(Please add a line here how the changes were tested)
Documentation update required?
General Checklist
fix(storage): message,feat(auth): message,chore(all): message)By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.