produce a docker image with 3 main layers:
- OS / java - rarely changes, good caching and sharing among apps in a kubernetes cluster
- dependencies - changes are not too frequent, good caching among app versions
- app jar - changes with every version, but should be quite compact
in build.gradle.kts
: