Polish the Gradle build's configuration phase
What's changed?
Gradle build cleanup.
Before: 1m 58s After: 18s
What's your motivation?
Get to actually having Gradle do work sooner
Anything in particular you'd like reviewers to focus on?
rewrite-javascript had a bit of restructuring, but is fundamentally the same. It should be reviewed carefully though.
Several of the previous rewrite-javascript tasks were using the node-gradle plugin's internal Gradle rule (ie. npm_* which resulted in eager task creation).
Anyone you would like to review specifically?
Anybody
Have you considered any alternatives or workarounds?
N/A
Any additional context
There are additional pieces that can be cleaned up. There are several plugins -- the license plugin being the worst offender -- that still eagerly create tasks and we could investigate next enabling configuration cache as well.
Checklist
- [x] I've added unit tests to cover both positive and negative cases
- [x] I've read and applied the recipe conventions and best practices
- [x] I've used the IntelliJ IDEA auto-formatter on affected files
I'll investigate the build failure for rewrite-javascript. My bet is that it's missing a npmInstall task dependency.
@sambsnyd / @jkschneider this seems a clear performance boost to the builds and the responsiveness in the IDE, but of course we've not been able to test drive the publication for rewrite-javascript while on a branch. Are you comfortable merging this in and watch the snapshot publish from there? Or would you rather hold off until a better moment as to not get in the way of being able to release at any moment?
I'll plan to fix the merge conflicts from the recent JS changes from Knut in order to make this PR mergable again. This'll include optimizing any newly introduced tasks from Knut's PR as well.
Alright, I ended up reapplying my first commit in isolation without rewrite-javascript on top of the latest main. Then redoing the rewrite-javascript updates because there were a few too many changes to keep the direct merge straight for.
I did opt to take rewrite-javascript a little bit further with this latest refactor, but there's still a lot more that can be done.
Thanks @shanman190 !