Restructure dependency declarations in Gradle build
- Separates dependencies of main build (Gradle distribution), buildSrc,
and test-only dependencies
- Replaces all "old" rules with constraints and/or metadata rules
- Declares dependencies that end up in the Gradle distribution as strict
To avoid unnecessary downgrade rules, we now respect the wish for version
upgrades from transitive dependencies where possible. As consequence,
the following upgrades were performed in the Gradle distribution:
- com.beust:jcommander 1.12 -> 1.47
- com.google.code.findbugs:jsr305 1.3.9 -> 2.0.1
- commons-codec:commons-codec 1.6 -> 1.9
- commons-io:commons-io 2.2 -> 2.4
- net.sourceforge.nekohtml:nekohtml 1.9.14 -> 1.9.20
- org.apache.httpcomponents:httpclient 4.4.1 -> 4.5.2
- org.codehaus.plexus:plexus-utils 2.1 -> 3.0.8
25 Jan 18 2f0a587fe0c92ab48e47e28de62625103fa70032
Extract idiomatic test-fixtures plugin to buildSrc
Plugin is applied to all "groovy projects", see `groovyProject.gradle`.
The plugin configures the Project as a test fixtures producer if
`src/testFixtures` is a directory.
The plugin configures the Project as a test fixtures consumer according
to the `testFixtures` extension configuration.
No more Groovy Closure with optional parameters as a Project extra
Test-fixtures configuration rely on a Groovy DSL only feature that
allows to pass a collection of dependency notations when declaring
dependencies. The Kotlin DSL lacks this feature, see
A workaround has been put in place in `build-extensions.kt` in order to
move forward until this is properly fixed in the Kotlin DSL.
Signed-off-by: Paul Merlin <firstname.lastname@example.org>
20 Dec 17 0d1ea128e02776982c00718fc6ea3114086bf342