We're not all jumping on Leiningen, some of us are sticking with
maven, using the maven-clojure-compiler plugin, and also the
experimental Maven Polyglot Clojure build support:

It's not the "Leiningen" that's important, it's the "jumping": away from Ant, not Maven. Every library I use had an Ant build script. I never saw a POM.

(Apologies for this diversion. Maybe it'll be of interest to some on this list.)

I'm somewhat swayed by Leiningen because it makes doing some things easy (uberjar! starting a REPL! neat!), at the cost of making other things (such as managing dependencies myself) more frustrating. However, if it wasn't for all the people blindly deleting their Ant build scripts, I would be sticking with my Ant workflow for another few months. I don't think Lein is quite targeted at users like me.*

That's OK, and I'm sure it'll change over time. I'm looking forward to more plugins arriving to perhaps allow me to define per-project tasks (for database operations, say).

I'm not at all swayed by Maven itself. XML *and* bloated opaque dependency management! What's not to love?

(Yes, I know it does a lot of cool stuff -- http://blog.lick-me.org/2010/01/maven-sucks/ is a good start on the pros and cons -- I just don't care about most of that stuff, and I do care about the horrible parts.)


 http://polyglot.sonatype.org/clojure.html

That certainly makes Maven's syntax less repellent, but it still has Maven underneath.

-R

* For those who might ask "and what kind of user are you?":
  * I keep up to date with Clojure master. I don't use binary releases.
* I fix bugs and make changes in my local Clojure/contrib/third- party library trees, and I want *all* of my builds to use *those*, not their own choice of versions. With lein/mvn I have to install a custom version of those libraries into my repo, then change all of my libraries to use the custom version. New build = changing every library's project file again (or overwriting the repo version... not sure how acceptable a solution that is). With my previous approach I simply had to overwrite a jar (allowing my VCS to track the old version). * I prefer using Git commit IDs to unambiguously reference versions, not an arbitrary version string which I have to change in a separate commit. * I run arbitrary Ant tasks -- such as SQL scripts -- in my projects. I don't see that in Leiningen. I'd love someone to point me to it. * Not all of my projects are open-source, so I like to store their cross-dependencies in version control, not in some custom repository server. I don't want to have to figure out how to run my own Maven repo somewhere, solving the auth problem again, etc. etc.

--
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