kwenza
A simple, declarative build tool for the JVM.
Your build is a TOML file, not a program.
kwenza.toml
[package]
name = "hello-world"
group = "com.example"
version = "0.1.0"
java-version = "21"
main-class = "com.example.Main"
[dependencies]
guava = { module = "com.google.guava:guava", version = "33.2.1-jre" }
Terminal
$ kwenza run
resolve: using locked dependencies (kwenza.lock)
compile: target/classes
run: java -cp target/classes (+7 dependency jars) com.example.Main
Hello from Kwenza: kwenza builds java
Install
kwenza needs JDK 21 or newer. Until the first release is packaged, build it from source:
git clone https://github.com/kwenza-build/kwenza.git && cd kwenza
./bootstrap.sh && bin/kwenza package
export PATH="$PWD/bin:$PATH"
-
Declarative The manifest is data. It never runs, so reading it tells you everything.
-
Interoperable Maven Central,
~/.m2,src/main/java. Your IDE and cache keep working. -
Reproducible
kwenza.lockwins by default. No network unless your dependencies changed. -
Transparent Every command prints what it actually ran.