Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API compatibility check in pipeline #345

Closed
viartemev opened this issue May 27, 2020 · 4 comments
Closed

API compatibility check in pipeline #345

viartemev opened this issue May 27, 2020 · 4 comments
Assignees

Comments

@viartemev
Copy link
Member

Use case
There are several issues related to API incompatible changes:

Describe the solution you'd like
A pipeline should check if new version of the library compatible with old versions.
There is a tool for it: https://github.com/siom79/japicmp
japicmp is customizable and could build if a new version is incompatible.

@viartemev viartemev self-assigned this May 27, 2020
@cowtowncoder
Copy link
Member

I would be interested in seeing how this works in practice: +1 for addressing what has become an issue with the module.

@GreyTeardrop
Copy link
Contributor

There's also Kotlin's own https://github.com/Kotlin/binary-compatibility-validator but it's available only as a Gradle plugin at the moment.

@k163377
Copy link
Contributor

k163377 commented Feb 18, 2023

It is closed as compatibility is believed to be ensured by the grid test added below.
#588

@k163377 k163377 closed this as completed Feb 18, 2023
@cowtowncoder
Copy link
Member

@k163377 Actually I think this is different from Matrix build -- question here is about Kotlin module API changing across module versions (regardless of kotlin-core).

And this is the actual issue for which japicmp maven plugin was added, and which guards against all kinds of changes, even minor ones, giving (IMHO) what amounts to false positives.
Related to CI failure you observed wrt ReflectionCache change (removal of individual cache fields).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants