Skip to main content


bld, our pure #Java build tool has a great update: we now have native support for Java modules as well as Jpackage, Jmod and Jlink operations.

Check it out: https://rife2.com/bld

#java
in reply to Christian Stein

@sormuras I'd be interested in trying this if there were a Debian or Nix package. Especially if it has a bootstrappable build. It’s not happening with Gradle https://github.com/gradle/gradle/issues/26516
in reply to Sean Gilligan

@msgilligan @sormuras you don't even need an installation: https://github.com/rife2/bld/wiki/Installation

bash -c "$(curl -fsSL https://rife2.com/bld/create.sh)"

To create a project and you're set

in reply to Geert Bevin

@sormuras curl|bash is easy, but it doesn’t meet the criterial for boorstrappable/reproducible builds, see: https://reproducible-builds.org/

But something this lightweight is hopefully easy to bootstrap 🤞

in reply to Sean Gilligan

@msgilligan @sormuras once a project is using a specific version of bld, the build process will be fully deterministic and self contained, I've not looked closely into bootstrappable builds and your requirements but with a quick read it seems bld might be already there
in reply to Geert Bevin

@sormuras We would need to download a source tarball (verified with Sha256) of the `bld` project and then build `bld` without using any binaries. We wouldn't want to use `bld` to build itself (unless there was a way to first build an intermediate `bld` using JDK 17 only or something like that.)

This is about avoiding the dangers described by Ken Thompson in “Reflections on Trusting Trust”

in reply to Sean Gilligan

@msgilligan @sormuras a bld build file is just a java project that is executed with a JVM, bld doesn't execute anything, the build project has an actual Java main method, and so on