Ensure binary compatibility for every change on CI.
Going forward, I think we should use a tool such as the binary compatibility validator plugin to avoid making unconscious binary-incompatible changes to the library API.
I see we previously introduced japicmp plugin (7c48b52db6be7c8917ebcf38436e72aab2dd675e) for checking binary/source compatibility.
However, usage of japicmp in CI was lost in Travis -> GitHub Actions migration (0f657d445562adac09197939545cdf63134899ba)
Wondering what's the best way forward:
- We could just reintroduce the task in the GitHub Actions CI, or
- Use the JetBrains Binary Compatibility Validator plugin now that we are fully Kotlin on the Android RIBs library.
We should re-enable japicmp for the short term, then discuss the trade-offs between the Jetbrains solution for a longer term approach. @jbarr21 You originally chose japicmp, was that only because it needed compat between a java to kt migration?
i wasn't aware of the latter at the time & had seen other popular community libraries using japicmp, so that was the initial reasoning for going with that tool