Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Improve build configuration time #41392
This PR includes a number of refactorings to generally improve the Gradle build configuration time. The most significant is the migration of the global build info logic into a cacheable task that runs at execution time vs during configuration.
Additionally a handful of other inefficiencies were fixed and some commonly executed code was ported to static groovy.
The big shift here is we've moved all the expensive global build info generation out of configuration time and into execution time. This is done by two tasks
Since some of these properties like java versions and fips compatibility are not known until runtime, we've also had to make some changes around how we access those properties. Where necessary we deferred this evaluation, either by using a lazy
Essentially, yes. FWIW, it looks like this may go away soon according to some upcoming work around FIPS. Essentially testing against FIPS will work via a build flag which will load the FIPS provider vs having to use a whole different JVM implementation. At that point we can ditch the runtime check, as we'll know at configuration time whether this is a FIPS build or not.