Skip to content
This repository has been archived by the owner on Aug 30, 2022. It is now read-only.

Add binary compatibility validator #56

Merged
merged 2 commits into from
Jun 24, 2020

Conversation

twyatt
Copy link
Member

@twyatt twyatt commented Apr 12, 2020

Fixes #40.

Use binary-compatibility-validator for validating binary compatibility between releases.

@twyatt twyatt added this to the 1.0.0 milestone Apr 12, 2020
@twyatt twyatt force-pushed the twyatt/binary-compatibility-validator branch from 6d81888 to 7c43481 Compare April 13, 2020 01:58
@twyatt twyatt changed the base branch from develop to twyatt/timber-logger April 13, 2020 01:58
@codecov
Copy link

codecov bot commented Apr 13, 2020

Codecov Report

Merging #56 into develop will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##             develop      #56   +/-   ##
==========================================
  Coverage      83.23%   83.23%           
  Complexity        57       57           
==========================================
  Files             14       14           
  Lines            352      352           
  Branches          34       34           
==========================================
  Hits             293      293           
  Misses            48       48           
  Partials          11       11           

Copy link

@Chris-Corea Chris-Corea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are the *.api files autogenerated?

@twyatt
Copy link
Member Author

twyatt commented Apr 15, 2020

Are the *.api files autogenerated?

They are generated via ./gradlew apiDump (task provided by binary-compatibility-validator).

After you commit the *.api you can easily make code changes and see how your API changed by re-running ./gradlew apiDump and looking at the diff in git. 😄

./gradlew apiCheck fails if your API differs from the existing *.api files. It's not a feature rich as japicmp in that it will fail for any change, not just incompatible changes. It's up to the maintainer to determine if the change warrants a version bump.

@twyatt
Copy link
Member Author

twyatt commented Apr 15, 2020

I especially like this approach as I examine the *.api files and realized that I had some of the logging methods exposed on the public API.

Makes it easy to evaluate how your public API surface looks.

@twyatt twyatt force-pushed the twyatt/binary-compatibility-validator branch from 7c43481 to 37f651e Compare April 15, 2020 03:22
@twyatt twyatt changed the base branch from twyatt/timber-logger to develop April 15, 2020 03:22
@twyatt twyatt force-pushed the twyatt/binary-compatibility-validator branch from 37f651e to c985e1e Compare May 27, 2020 23:28
@twyatt twyatt force-pushed the twyatt/binary-compatibility-validator branch from c985e1e to 82bf835 Compare June 3, 2020 08:01
@twyatt twyatt requested review from a team and Chris-Corea June 24, 2020 07:57
@twyatt twyatt marked this pull request as ready for review June 24, 2020 07:57
@twyatt twyatt merged commit 4b387be into develop Jun 24, 2020
@twyatt twyatt deleted the twyatt/binary-compatibility-validator branch June 24, 2020 18:26
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants