kbendick opened a new pull request, #4638:
URL: https://github.com/apache/iceberg/pull/4638

   ## Purpose
   
   As part of our journey to the 1.0 release, we'd like to have stability / 
binary compatibility guarantees for the `api` package.
   
   ## Added 
   Adds a gradle plugin, that's currently still actively maintained, for the 
`Revapi` tool, for checking API and ABI compatibility and ensuring that any 
breaks are caught during `gradlew check` (or `gradlew revapi`).
   
   It also allows for allowing overrides and setting binary compatibility 
checks against different versions / tags.
   
   Info can be found here: https://github.com/palantir/gradle-revapi
   
   ## Using
   
   A generated override file is added that allows us to accept breaking changes 
and optionally denote why they're allowed.
   
   This plugin requires that we point to some sort of base (to check binary / 
API compatibility from). I pointed it to 0.13.1 for this PR.
   
   With this patch, if `./gradlew check` is run, it fails because it can't 
determine the correct upstream version to compare against.
   
   So I ran the following to generate the config file in 
`./palantir/revapi.yml`.
   ```
   ./gradlew iceberg-api:revapiVersionOverride --replacement-version 0.13.1
   ```
   
   Please feel free to take a look.
   
   ## Why this plugin
   1. MiMa doesn't support Gradle
   2. This plugin is actively maintained and we already use several palantir 
projects in our build / linter infrastructure.
   3. The simplicity of the generated file.
   4. The fact that this adds additional gradle tasks, but also runs during the 
`check` phase so that little to none of our CI needs to change.
   
   Anybody who is interested, please take a look, play around and see how you 
like it.
   
   cc @rdblue @danielcweeks @nastra @jackye1995 @snazy


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to