centrifugal / centrifuge-java

General Java and Android client SDK for bidirectional communication with Centrifugo and Centrifuge-based server over WebSocket
MIT License
65 stars 33 forks source link

API compatibility check on CI #46

Closed ntoskrnl closed 2 years ago

ntoskrnl commented 2 years ago

One of the things we could find helpful in library development is compatibility checks. Sometimes, it is unclear if we did any breaking change. Which version should we increment, minor or major?

There is a plugin for Gradle that allows to capture the state of the API and verify change for compatibility against that state. The plugin is metalava-gradle.

To generate API fixtures use the following command:

./gradlew :centrifuge:metalavaGenerateSignature

To verify API compatibility, run the following command:

./gradlew :centrifuge:metalavaCheckCompatibility
FZambia commented 2 years ago

Thanks!