binary-compatibility-validator icon indicating copy to clipboard operation
binary-compatibility-validator copied to clipboard

Public API management tool

Results 83 binary-compatibility-validator issues
Sort by recently updated
recently updated
newest added

Currently, the validator does not create .api files or api declarations for public external declarations, which results into not checking the JS declarations, which could be called from library consumer...

For example, using wildcards. I have a library with a `samples/` directory that contains a bunch of subprojects that aren't published to Maven and don't have any public API, and...

PR welcome
gradle

I have a project where multiple modules have the same name but different path (`:feature1:sample`, `:feature2:sample`) and currently I cannot ignore just one of them since you specify the name...

enhancement
PR welcome
gradle

It is mostly a compiler omission ([KT-26436](https://youtrack.jetbrains.com/issue/KT-26436), [KT-25112](https://youtrack.jetbrains.com/issue/KT-25112)), but creates a false sense that such constructors are part of public ABI

PR welcome
jvm

Looks like the plugin only gets applied to Android modules if they have a [compilationTarget matching `release`](https://github.com/Kotlin/binary-compatibility-validator/blob/6b19ba4a3abfa70c5906750f747bff1e0d4faa76/src/main/kotlin/BinaryCompatibilityValidatorPlugin.kt#L52). This makes it unusable if you have library flavors. Are there any plans...

bug
android

Adding or removing an override function is binary compatible in Java so why are these functions included in the public API spec? I suppose they are technically public or protected...

jvm

... and allow configuring tasks without link to `ApiValidationExtension` An example of using manually configured tasks in a project without applying the plugin: ``` plugins { id("org.jetbrains.kotlinx.binary-compatibility-validator") version ... apply...

The README said `When doing code changes that do not imply any changes in public API, no additional actions should be performed. check task on your CI will validate everything.`....

documentation
android

There's an API to verify KLIB's binary compatibility that'll be released soon: https://youtrack.jetbrains.com/Issue/KT-54402 https://github.com/JetBrains/kotlin/blob/master/compiler/util-klib-abi/ReadMe.md BCV should use it to support KLIBs validation in addition to JVM bytecode validation.

enhancement
klib