Getting started
Barista is a Maven-compatible build tool for the JVM. Point it at an existing Maven project and it resolves dependencies with a parallel, lock-aware resolver and caches every artifact in a content-addressed store. No pom.xml edits, no migration step.
Pre-release. v0.1 is in active development — command surfaces and on-disk formats may change before the first tagged release. The Maven lifecycle commands (compile,test,package, …) build your project on macOS and Linux via thebarbackdaemon; Windows lifecycle execution is still landing — see what works today below.
Prerequisites
- A JDK on your
PATH(the same one your project builds with). - An existing Maven project — a directory with a
pom.xml.
Barista bundles its own pinned Apache Maven distribution, so you do not need a separate mvn install for it to resolve and cache. See Install to get the binary, and Maven compatibility for how it sits next to an existing mvn / mvnd.
What works today
The dependency-resolution and caching path — the part that is fast and ready — is driven by barista pull:
cd path/to/your-maven-project
# Resolve the dependency graph, fetch artifacts into the
# content-addressed cache, hardlink them into ~/.m2/repository,
# and write barista.lock.
barista pull
# Inspect what was resolved.
barista grind treebarista pull reads your pom.xml (with parent merge, BOM imports, profiles, and dependencyManagement), resolves the graph, and writes a reviewable barista.lock. Artifacts are verified by SHA-256 on the way into the cache and hardlinked into ~/.m2/repository, so any tool that reads the local Maven repository — including mvn — sees them immediately.
For CI that separates fetch from execution, resolve without fetching and materialize later:
barista pull --no-fetch # resolve + write the lockfile only
barista pour # materialize locked artifacts into ~/.m2Running your build
On macOS and Linux, the Maven lifecycle commands — barista clean, compile, test, package, verify, install, deploy — execute through the warm-JVM barback daemon (embedded Maven 4), building byte-identically to mvn <phase>. Single-module builds are proven; multi-module reactor support is maturing. The daemon needs a JDK.
cd path/to/your-maven-project
barista pull # resolve + cache + write barista.lock
barista verify # build through the warm barback daemonOn Windows, lifecycle execution isn’t wired yet: pass --no-daemon to fork to your installed mvn, or run mvn after barista pull has warmed ~/.m2/repository.
Project setup helpers
# Generate a baristaw wrapper (like mvnw) so collaborators run a
# pinned Barista version without installing it globally.
barista wrapper
# Interactive first-run configuration wizard, writing ~/.barista/config.toml.
barista dial-inNext steps
- CLI reference — every command and the global flags (
--output,--ci,--frozen, …). - Maven compatibility — how Barista shares
~/.m2and coexists withmvnandmvnd. - FAQ — telemetry, licensing, the cache, and how Barista differs from
mvnd.