Boot (software)

Boot is a build automation and dependency management tool written primarily in the Clojure programming language.

Boot was originally written by Micha Niskin and Alan Dipert as part of the Hoplon web framework. As of May 2015, Boot is developed and released independently of Hoplon. Boot is implemented as an executable entry point and a set of Clojure libraries that can be used to develop build processes programmatically. The spirit of Boot's design is captured by its tag line, "Builds are programs. Let's start treating them that way."

Build tasks supported natively by Boot include compiling Java, creating .jar files, and creating servlets. As a Clojure program, Boot can be extended on a per-project basis using the Clojure language. Boot's primary means of extension are tasks, or functions that take and return Filesets. A Fileset is a managed, immutable representation of the filesystem and classpath that can be synchronized to disk at any point during the build. Like Leiningen, Boot supports resolving and publishing Maven dependencies using the Aether library.

Boot also supports:
 * In-process classloader isolation with pods
 * Shebang scripts

Boot is featured in Appendix B of the book "Clojure for the Brave and True".