Leiningen (software)

Leiningen is a build automation and dependency management tool for the simple configuration of software projects written in the Clojure programming language.

Leiningen was created by Phil Hagelberg. Phil started the project with the aim of simplifying the complexities of Apache Maven, while offering a way of describing the most common build requirements of Clojure projects in idiomatic Clojure. These aims are succinctly captured in the project's tag line, "Automate Clojure projects without setting your hair on fire".

Leiningen's features can be extended via a plugin system, and it is supplied with a command line interface that can initiate a number of actions, which include:


 * The generation of a simple Clojure project skeleton
 * Ahead-of-time (AOT) compilation
 * Dependency resolution (with automatic library downloading)
 * Start an interactive REPL that has the classpath correctly set to load project dependencies
 * Packaging of project code and dependencies into an "uberjar" .jar file

Leiningen is the most widely-contributed-to open-source Clojure project. It is featured in chapter 8 of the book Clojure Programming.