chore: remove binary-compatibility-validator (BCV)#150
Conversation
Removes the BCV plugin, all .api dump files, and the apiCheck CI step across all 14 library modules. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Review Summary by QodoRemove binary-compatibility-validator plugin and API dump files
WalkthroughsDescription• Removes BCV plugin from 14 library modules' build configurations • Deletes all 21 .api dump files across modules • Removes apiCheck Gradle task from CI pipeline • Removes BCV version and plugin entries from version catalog Diagramflowchart LR
BCV["BCV Plugin<br/>org.jetbrains.kotlinx.binary-compatibility-validator"]
BuildFiles["14 build.gradle.kts<br/>files"]
APIFiles["21 .api dump<br/>files"]
VersionCatalog["gradle/libs.versions.toml"]
CIWorkflow[".github/workflows/ci.yml"]
BCV -- "removed from" --> BuildFiles
BCV -- "removed from" --> VersionCatalog
APIFiles -- "deleted" --> BuildFiles
CIWorkflow -- "apiCheck task<br/>removed" --> CIWorkflow
File Changes1. core/build.gradle.kts
|
Code Review by Qodo
1. Outdated BCV contributor docs
|
There was a problem hiding this comment.
Pull request overview
Removes the Kotlin Binary Compatibility Validator (BCV) from the build and CI pipeline, eliminating API dump maintenance and the apiCheck CI step across the library modules.
Changes:
- Removes the
org.jetbrains.kotlinx.binary-compatibility-validatorplugin alias (libs.plugins.bcv) from library module Gradle scripts. - Deletes the generated
.apidump files previously used by BCV. - Updates CI to drop the
apiCheckstep and renames the job accordingly; removes BCV entries fromgradle/libs.versions.toml.
Reviewed changes
Copilot reviewed 37 out of 37 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| providers/sharedpreferences/build.gradle.kts | Removes BCV plugin from module plugins block. |
| providers/sharedpreferences/api/sharedpreferences-provider.api | Deletes BCV API dump file. |
| providers/nsuserdefaults/build.gradle.kts | Removes BCV plugin from module plugins block. |
| providers/javaprefs/build.gradle.kts | Removes BCV plugin from module plugins block. |
| providers/javaprefs/api/javaprefs-provider.api | Deletes BCV API dump file. |
| providers/firebase/build.gradle.kts | Removes BCV plugin from module plugins block. |
| providers/firebase/api/firebase-provider.api | Deletes BCV API dump file. |
| providers/datastore/build.gradle.kts | Removes BCV plugin from module plugins block. |
| providers/datastore/api/jvm/datastore-provider.api | Deletes BCV API dump file (JVM). |
| providers/datastore/api/android/datastore-provider.api | Deletes BCV API dump file (Android). |
| providers/configcat/build.gradle.kts | Removes BCV plugin from module plugins block. |
| providers/configcat/api/jvm/configcat-provider.api | Deletes BCV API dump file (JVM). |
| providers/configcat/api/android/configcat-provider.api | Deletes BCV API dump file (Android). |
| gradle/libs.versions.toml | Removes BCV version + plugin coordinates from version catalog. |
| featured-testing/build.gradle.kts | Removes BCV plugin from module plugins block. |
| featured-testing/api/jvm/featured-testing.api | Deletes BCV API dump file (JVM). |
| featured-testing/api/android/featured-testing.api | Deletes BCV API dump file (Android). |
| featured-registry/build.gradle.kts | Removes BCV plugin from module plugins block. |
| featured-registry/api/jvm/featured-registry.api | Deletes BCV API dump file (JVM). |
| featured-registry/api/android/featured-registry.api | Deletes BCV API dump file (Android). |
| featured-platform/build.gradle.kts | Removes BCV plugin from module plugins block. |
| featured-platform/api/jvm/featured-platform.api | Deletes BCV API dump file (JVM). |
| featured-platform/api/android/featured-platform.api | Deletes BCV API dump file (Android). |
| featured-lint-rules/build.gradle.kts | Removes BCV plugin from module plugins block. |
| featured-lint-rules/api/featured-lint-rules.api | Deletes BCV API dump file. |
| featured-detekt-rules/build.gradle.kts | Removes BCV plugin from module plugins block. |
| featured-detekt-rules/api/featured-detekt-rules.api | Deletes BCV API dump file. |
| featured-debug-ui/build.gradle.kts | Removes BCV plugin from module plugins block. |
| featured-debug-ui/api/jvm/featured-debug-ui.api | Deletes BCV API dump file (JVM). |
| featured-debug-ui/api/android/featured-debug-ui.api | Deletes BCV API dump file (Android). |
| featured-compose/build.gradle.kts | Removes BCV plugin from module plugins block. |
| featured-compose/api/jvm/featured-compose.api | Deletes BCV API dump file (JVM). |
| featured-compose/api/android/featured-compose.api | Deletes BCV API dump file (Android). |
| core/build.gradle.kts | Removes BCV plugin from module plugins block. |
| core/api/jvm/core.api | Deletes BCV API dump file (JVM). |
| core/api/android/core.api | Deletes BCV API dump file (Android). |
| .github/workflows/ci.yml | Removes apiCheck step and renames the CI job. |
| lint: | ||
| name: Lint & API Check | ||
| name: Lint | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v6 | ||
| - uses: ./.github/actions/setup-build-env | ||
| - run: ./gradlew spotlessCheck | ||
| - name: Check public API | ||
| run: ./gradlew apiCheck | ||
|
|
There was a problem hiding this comment.
With apiCheck removed from CI, the repo docs still state that Binary Compatibility Validator runs in CI and fails without an apiDump update (e.g. CONTRIBUTING.md around the versioning policy section). Please update the documentation to reflect the new workflow (and remove/replace any references to BCV/apiDump/apiCheck).
CI Feedback 🧐A test triggered by this PR failed. Here is an AI-generated analysis of the failure:
|
Summary
bcvplugin (org.jetbrains.kotlinx.binary-compatibility-validator) from all 14 library modules.apidump files across modulesapiCheckGradle task from CI and renames the job fromLint & API ChecktoLintbcvversion and plugin entries fromgradle/libs.versions.tomlTest plan
Lintjob passes (spotlessCheckonly, noapiCheck)Tests & CoverageandBuild Androidjobs unaffected🤖 Generated with Claude Code