91e956e96a
* Simplify jdk downloads via artifact transforms This reworks the jdk download plugin to use artifact transforms. That allows us to simplify the jdk download plugin by a lot. The benefits of using artifact transforms are: - they transform an artifact to an upacked folder on the fly as part of the dependenc resolution allowing us to remove all the custom created unpack tasks and configurations - Artifact transforms support gradle build cache. Requesting a jdk folder on a clean machine will likely be resolved from the build cache - The manual mingling about not extracting jdks multiple times by all jdks channeling through root project configurations can be removed as they support up-to-date checking and build cache which will ensure these archives are only resolved once per build at max. Also the test coverage has been ported to Spock that supports data driven testing. This porting includes an introduction to a wiremock fixture that can be used later on for mocking repository urls in other integration tests * Simplify artifact transform registration * Change jdk finalization and repository setup Jdk finalization is now done via `configuration.defaultDependencies`. This has two benefits: - we only configure and finalize the JDKs we actually use during the build - afterEvaluate hooks are problematic in combination with task avoidance api. Relying on task avoidance api in Gradle moves more configuration logic into the materialization of tasks which is, with task avoidance api, is done ideally during the task graph calculation. Anything created (e.g. jdks) created late in this task graph calculation would never be finalized via afterEvaluate hooks as this has been fired before already with the jdk not there yet. Furthermore we now only configure repositories in the projects where the jdk is declared (aka the jdk-download plugin is applied) and only if the jdk is actually requested during the build. * Fix javadoc * Fix jdk download repo content filtering * Minor cleanup * Apply review feedback and cleanup |
||
---|---|---|
.. | ||
reaper | ||
src | ||
.gitignore | ||
build.gradle | ||
formatterConfig.xml | ||
settings.gradle | ||
version.properties |