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 the barback daemon; Windows lifecycle execution is still landing — see what works today below.

Prerequisites

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 tree

barista 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 ~/.m2

Running 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 daemon

On 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-in

Next steps