A Clojure build framework and ad-hoc script evaluator that provides a runtime environment for building projects from Clojure scripts.
Boot is a build framework and ad-hoc Clojure script evaluator designed for Clojure projects. It provides a runtime environment where build processes are defined as executable Clojure scripts, allowing developers to programmatically handle complex build pipelines, dynamic dependencies, and artifact generation. It solves the problem of rigid, static build configurations by offering a flexible, code-driven approach.
Clojure developers and teams who need fine-grained control over their build processes, especially those working on projects with complex integration requirements like asset pipelines, multi-environment deployments, or custom compilation steps.
Developers choose Boot for its unparalleled flexibility in modeling builds as programmable pipelines, its runtime scriptability, and its composable task architecture. Unlike traditional build tools, it eliminates configuration rigidity by allowing builds to be defined and modified dynamically using Clojure code.
Build tooling for Clojure.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables Turing-complete build specifications written in Clojure, allowing for complex logic and runtime adaptations, as demonstrated in the README with examples of building from the command line, REPL, and scripts.
Dependencies can be added at runtime from Maven repositories using the -d option or set-env!, providing flexibility to adapt the build environment on-the-fly, as shown in the getting started examples.
Tasks are functions that return middleware, forming pipelines that can be composed in the REPL, command line, or scripts, similar to transducers, enabling reusable and modular build steps.
Uses a scoped, append-only filesystem interface that eliminates stale artifacts and the need for a clean task, ensuring build consistency and preventing common issues with file management.
Requires proficiency in Clojure and a deep understanding of boot's pipeline model, which can be daunting for newcomers, as evidenced by the need to write custom scripts and comprehend concepts like classloader isolation.
Has fewer pre-built tasks and plugins compared to Leiningen, often necessitating custom development for common needs, which can increase initial setup time and maintenance overhead.
While Windows 10 is fully supported, the README notes outstanding issues for other Windows versions, limiting cross-platform compatibility and potentially causing headaches for diverse development environments.
Boot is an open-source alternative to the following products: