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

Improve build avoidance by ignoring ABI-compatible changes #186

Merged
merged 2 commits into from
Dec 16, 2021

Conversation

mark-vieira
Copy link
Contributor

This pull request improves build avoidance (increases the likelyhood that tasks are UP-TO-DATE) by leveraging Gradle's compile classpath input normalization. For the purposes of checking for forbidden APIs, we don't much care about non-API changes in the upstream classpath. That is, if an ABI-compatible change is made to a class on our classpath (say, a single line change to a method body) it doesn't affect the outcome of this task. This avoid having to rerun this check when changes are made to upstream dependencies that don't change the compile classpath.

Since the @CompileClasspath annotation was introduced in Gradle 3.4, that would mean the minimum compatible Gradle version would increase from 3.2 to 3.4.

@uschindler
Copy link
Member

Hi, looks good. Will merge.

@uschindler uschindler merged commit d746151 into policeman-tools:main Dec 16, 2021
@uschindler uschindler self-assigned this Dec 16, 2021
@uschindler uschindler added this to the 3.3 milestone Dec 16, 2021
@mark-vieira
Copy link
Contributor Author

Thanks @uschindler!

@mark-vieira
Copy link
Contributor Author

@uschindler any timeframe on when a 3.3 release will be available with this change?

@uschindler
Copy link
Member

Will normally be released with JDK18.

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

Successfully merging this pull request may close these issues.

2 participants