Was the name Leiningen inspired by the Esquire short story "Leiningen
vs. Ants"?  That would be a brilliantly obscure way to challenge the
predominance of ant.  Or did you have another reference in mind.

Mark

On Nov 18, 2:29 am, Phil Hagelberg <p...@hagelb.org> wrote:
> I'm pleased to announce the initial release of Leiningen.
>
> Leiningen is a build tool for Clojure designed to not set your hair on fire.
>
> Building Clojure projects with tools designed for Java can be an
> exercise in frustration. If you use Ant, you end up copying around a
> lot of the same tasks around between XML files on all your projects;
> there's a lot of repetition. Maven avoids repetition, but provides
> very little transparency into what's really going on behind the scenes
> and forces you to become a Maven expert to script a nontrivial
> build. Either way you end up writing far more XML than is necessary.
>
> With Leiningen, your build is described using Clojure. You can put any
> code you like in your project.clj file; the only requirement is that
> it includes a call to defproject. You can define your own tasks in
> there if you need to, but the majority of projects should be able to
> get by on the tasks that are provided with Leiningen. If you do find a
> common task that you need to add, you can implement it as a plugin
> rather than copying and pasting among each of your projects.
>
> Projects are defined with Clojure syntax, (not XML!) in project.clj:
>
>     (defproject leiningen "0.5.0"
>       :description "A build tool designed not to set your hair on fire."
>       :main leiningen.core
>       :dependencies [[org.clojure/clojure "1.1.0-alpha-SNAPSHOT"]
>                      [org.clojure/clojure-contrib "1.0-SNAPSHOT"]
>                      [ant/ant-launcher "1.6.2"]
>                      [org.apache.maven/maven-ant-tasks "2.0.10"]]
>       :dev-dependencies [[org.clojure/swank-clojure "1.0"]])
>
> A number of tasks are provided:
>
>     $ lein deps # install dependencies in lib/
>
>     $ lein test [PRED] # run the project's tests, optionally filtered on PRED
>
>     $ lein compile # ahead-of-time compile into classes/
>
>     $ lein repl # launch a REPL with the project classpath configured
>
>     $ lein clean # remove all build artifacts
>
>     $ lein jar # create a jar of the project
>
>     $ lein uberjar # create a standalone jar that contains all dependencies
>
>     $ lein pom # output a pom.xml file for interop with Maven
>
>     $ lein install # install in local repo (currently requires mvn)
>
>     $ lein help [TASK] # show a list of tasks or help for a given TASK
>
> Leiningen is extensible, you can define new tasks in project.clj or in
> plugins. Add your plugin as a dev-dependency of your project, and you'll
> be able to call "lein $YOUR_COMMAND". See the lein-swank directory for
> an example of a plugin.
>
> To install simply download the shell script, place it somewhere on your
> $PATH, and run "lein self-install":
>
>  http://github.com/technomancy/leiningen/raw/master/bin/lein
>
> Many people have expressed frustration at trying to use a tool designed
> for Java with their Clojure projects, especially when dealing with
> dependencies. I hope this can move things forward and ease the
> pain. Note that it's still a very young project, (started about two
> weeks ago), but in classic Clojure fashion it is able to leverage a lot
> of functionality from other JVM tools.
>
> Please try it out and let me know how it works for your project!
>
> thanks,
> Phil
>
> Bonus: Leiningen also integrates with the Clojars open-source
> clojure-specific repository coming soon athttp://clojars.org.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to