Execute a docker compose script; invoke the local docker compose client through a java JSR 223 script engine.
Run ./gradlew to create a JAR.
Add JAR to classpath; it will make the script engine discoverable with "docker-compose" as a script engine name. More information here.
How it works
The script engine takes a Reader or String which contains the docker-compose yaml file. That yaml file will be written to disk and variables will be replaced. After that docker-compose will be executed with the configuration file.
Bindings are used to have variables inside compose scripts.