It also supports installing Maven or Gradle wrappers, so that a new contributor or CI runner can clone the repo, run ./build init, and build the project without touching system state.
I made this because I kept jumping between projects with different JDK versions, and I wanted a zero-dependency way to ensure reproducible builds. Inspired by the simplicity of scripts like mvnw or gradlew, but extended to also bootstrap the JDK itself.
It currently supports macOS and Linux. Curious if others find this useful and happy for feedback or contributions.