Aaron Brooks - lein-voom: Projects Want to Be Values

4,018 views · Published 25 March 2014 · 32:36 · Indexed 16 October 2026

Channel: ClojureTV · 2014 · Science & Technology

Watch on YouTube

Clojure projects start out small but, given enough love and attention, are destined to grow wildly out of control. As they grow, they shed their namespaces into separate projects, accumulate dependencies and sprawl across repositories. In this talk, we introduce lein-voom and its accomplice, box. Together these tools keep your project and its dependency relationships stable and fresh.

The voom and box tools were forged at ViaSat to address the complexities of scaling the relationships between a multitude of fast-moving internal and open source projects. The ideas behind voom are straight out of the Clojure playbook: project identities are immutable trees of values across time. box is all about ease.

Regardless of the maturity or scale of your project, the benefits of using voom and box are numerous: ending the misery that Maven SNAPSHOTs and version ranges bring, keeping your project dependencies up-to-date, using commits as fine grained releases (even for dependency projects unaware of voom) and delivering both precision and freedom so you can focus on efficiently moving your project forwards.

More from this channel