Do you already know how to set up a Gradle multi-project / multi-module with Kotlin DSL and Spring Dependency Management?
I have set up an example here, in which I have abstracted the most important logical components and packed them into individual buildSrc modules. This makes the build very modular and also very clear. What do you think?
It has the following details:
- Java 17
- Gradle 8.4
- buildSrc
- Kotlin DSL
- Version Catalog (libs.versions.toml)
- Gradle Build Scan enabled in CI (Attention! Terms of Service are accepted by the environment variable
BUILD_SCAN_TOS_ACCEPTED
and the scan enabled by the environment variableCI
)
- Kotlin 1.9.20
- Spring Boot 3.1.5
- Detekt 1.23.3
- Dokka 1.9.10
- Spring Dependency-Management
Additionally, I added a POC how Maven Publishing could work. In another project, I got it to work like this without Spring boot on Gitlab. Unfortunately it doesn't work with the spring boot plugin in this example yet. But I think it can help others to reach their goals.
If there are any questions or suggestions for improvement, issues, discussions and PRs are welcome.
The factory:
gradle :message-factory:bootRun
The Dashboard:
gradle :message-dashboard:bootRun
And now visit https://localhost:8080/dashboard/Mr.Bean
You can enter every name in place of "Mr.Bean".