Based on this Spring Boot app template. Sources was not changed almost, only build script adjusted
- JDK 21
- Docker
Gradle isn't required because of embedded Gradle in the project
Composite Build
is externalization of build by put dependencies and plugins into separate Git repository
(which should be added as Git submodule of project)
After that build script will looks like this:
import by.andd3dfx.build.*
import by.andd3dfx.build.Plugins.Companion.applyPlugins
service(version = "0.0.1") {
dependencies {
springBoot(project) {
web()
test()
dataJpa()
validation()
// ...
}
lombok()
apacheCommonsLang()
mapstruct()
springDoc()
swagger()
postgres()
h2()
flywayCore()
testContainers()
postgresTestContainers()
// ...
applyPlugins {
springBoot()
}
}
}
git submodule init
git submodule update
./gradlew clean build
cd func-test
./gradlew clean build
Check functional test report here