Add declarative Gradle upgrade recipes #4502
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What's your motivation?
When upgrading Java versions folks also need to upgrade older Gradle versions. While upgrading the wrapper is one part of that upgrade, at times there's required changes as well, in particular going from 4.x to 5.0. Some of these changes we can already automate, others might still follow now that the framework for these migrations is there.
Anything in particular you'd like reviewers to focus on?
RemoveEnableFeaturePreview
record I went by when those keys were dropped from the enum, going by latest.patch; seemed ok, but could be double checked as documentation was hard to find.compile
->api/implementation
, although that'll be a bigger pain point. Anything we can do for reasonable coverage here? Perhaps look ifjava-library
plugin is defined and base our behavior on that? Or at worst merely post a comment on the first case?Have you considered any alternatives or workarounds?
The components here were already available. We could document the steps and considerations for
compile
->api/implementation
, and how they could be achieved with recipes.Any additional context