Fork me on GitHub
Pure java build tool for developers
who don't like dealing with build tools

What is bld?

bld is a new build system that allows you to write your build logic in pure Java.

bld was created because we're not really interested in build tools. We use them because we have to, but we'd rather just get on with coding the real stuff.

bld is designed with the following principles in mind:

Designed for modern Java

bld relies on Java 17 and leverages many of the features that this version of Java provides. Thanks to the modern language constructs, your Java build logic ends up looking very concise, is easily readable and understood by any IDE. You automatically get support for auto-completion and javadoc documentation, and you can split your build logic into multiple files and classes when you outgrow a single file.

Here is a complete bld file for a Java application using JUnit 5 for its tests. Nothing else is needed to be able to run it, test it and distribute it:


    

Where does bld fit?

From a very high level, build tools can be organized in a matrix:

DeclarativeCodeDescribesImmediate
Maven✔︎✔︎
Gradle✔︎✔︎
bld✔︎✔︎

Writing your build logic in the same language as your application (Java), significantly reduces the cognitive load, and taking actions immediately without having to mentally construct a described plan, makes it easier to reason about your build.

IDE support

Since version 2.0, bld comes with its own IntelliJ IDEA plugin:

Find out more

bld lets your build logic get out of the way so that you can focus on writing applications.