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 added to project as Git submodule)
After that build script looks like this:
import by.andd3dfx.build.*
import by.andd3dfx.build.Plugins.Companion.applyPlugins
service(version = "0.0.1") {
dependencies {
springBoot {
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