Migrate project to Gradle
As I now use Gradle entirely in my day job, I've found that it's a much nicer development experience than Maven is.
This migrates over to Gradle and:
- uses
buildSrc
for "build conventions" which are recommended and produced by default in Gradle 7'sinit
task - applies Spotless for both Java and Gradle Groovy code (which needs to be done globally, rather than in a convention, due to conflicts)
- replace gitignore configuration from Maven with Gradle
- update our GitLab builds to use Gradle, and the OpenJDK images, instead of a Maven-specific one
- use Gradle's default parallelisation options, but not yet run tests in parallel
- use Spring Boot's dependency management, bearing0 in mind, so using
an import of the
platform
, rather than using the plugin - making some top-level projects libraries that can then transitively expose dependencies, as Gradle is more strict than Maven
- globally exclude the default spring-boot-starter-logging, log4j's SLF4J bindings for tests (to allow slf4j-test), and JUnit Vintage, as we don't use it
Closes #356 (closed).