binkley / modern-java-practices

Modern Java/JVM Build Practices
The Unlicense
920 stars 69 forks source link

[Spike] Alternatives to Earthly for containerized builds #545

Open binkley opened 2 weeks ago

binkley commented 2 weeks ago

Context

Originally the build was based on Batect for containerized builds; however that project is [no longer maintained[(https://github.com/batect/batect) by its author.

This project has moved to Earthly that is well-maintained. However, it currently has some features that may interact poorly depending on project setup and configuration.

An obvious approach is a plain Docker container (something that both Batect and Earthly both use under the hood). Since we rely on Gradle and Maven, and plugins are the key for build quality, the 3rd-party wrappers may not offer enough value to be the default.

See https://github.com/earthly/earthly/issues/4220 for an Earthly issue that came up after following our advice in the pages.

Tasks

Acceptance criteria