dysinger wrote:
> It's good to see other examples of dep management for other setups.
> 
> However, IMO working on 20 modules would be a PITA with ant+ivy. Can
> you show an example with multi-module? (I tried checking out the
> latest release of IVY and it wouldn't compile on my Mac w/ JDK 1.6 so
> I didn't get far.)

Looks like Krešimir already obliged.

>>From what I read briefly, multi-module ivy is alpha and even more
> complex than your example with even more XML. (
> http://ant.apache.org/ivy/history/2.0.0-alpha2/tutorial/multiproject.html
> )

Multi-module Ivy is not alpha, it has been possible for several versions 
(and for several years).  The documentation could obviously use an 
update there.

> Also since there is no POM with ivy, you cannot inherit from a parent
> you would have to include common xml. Am I wrong?  Maven multi-module
> also works well with git submodules/hg forest/svn externals. I can't
> see how that works with Ant/Ivy

You are right - the normal way you would achieve sharing is just as you 
would in Ant -- via includes/custom tasks.  I am not sure what you mean 
you can't achieve with submodules etc, so can't speak to that.

> Ant build.xml also just feels one-off to me.
> Every_single_ant_project_I_have_ever_worked_on has a different flavor/
> structure of build.xml.  This is my biggest irritation.  Trying to
> build a even modestly (6 modules) complex releases with different
> flavored ant build files is a PITA.

This is the weakness and strength of ant+ivy.  There is no enforced 
structure - so you need to define one.  Once you've defined it, though, 
you just share the common XML.  And if you can't or don't want to use 
the Maven structure, Ivy gives you this flexibility.

> I loved Ant when it came out 10 years ago but that was 10 years ago.
> I think I'll stick with simple short poms for now.  It's working
> awesome for me. It standardizes the project layout/deps/repl-script
> for all my clojure modules.

I'm also not a huge Ant fan, but it works for me and needs very little 
care/feeding after you have your common XML.  Most crucially, if I want 
to make a small change/customisation it is easy with Ant -- but not 
always so with Maven (not least, I'm sure, as I am not a Maven expert).

Of course, there is no arguing that when Maven works -- as it is for you 
-- that it works very well and with less initial setup.  I'd never argue 
someone should switch away from something that's working for them.

> Everybody loves to bash Maven. As long as you keep POMs simple, I have
> yet to see anything simpler for dealing with dep. management and multi-
> language & multi-module (java & clojure together) real-world component-
> based projects (real world needs).

Agreed, at its simple best it doesn't get any easier than Maven.

The reason I personally prefer Ivy is that it takes care of one thing 
(dependencies) and does it well, and that just fits better with the way 
I like to put things together.

> *********
> My hope is in the not too distant future we have declarative
> (Metadata?) dependency management declared in clojure than can pull
> libs from maven repos and we can all ditch any XML -- Something like
> "Ties".
> *********

I personally would be delighted to see Ivy paired with something more 
declarative than Ant -- one promising project from the Groovy world is 
Gradle but it's pretty raw at the moment.

In the end, though, the key point you make is that Maven-style 
repositories are the de-facto standard for Java.  So if clojure 
libraries are made available in this way then people can build tools and 
projects around the repositories using Maven/Ivy/etc, however they prefer.

Cheers,
Jason

<snip>

-- 
Pulse - Continuous Integration made easy.
Does your project have a pulse?
Try it free at: http://zutubi.com

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