Maarten, great point. The wonderful thing about Ivy as a framework is that it is accommodating of so many different philosophies towards using it.
Certainly, there's no absolute justification for having a special Ivy module as a wrapper around your build dependencies. In some sense, declaring those dependencies inline, as you show, is just cutting out the middleman. The thing I like about having a special Ivy module for build dependencies (whether it's actually published out on the Ivy repo or it's treated as a reused source build.ivy or the like) is that it makes for a somewhat more succinct ivy:resolve in your build script and, more important, it separates the specifics of your build dependencies, in particular the version, from your build scripts. In other words, your build Ivy module provides an abstraction layer. Plus, it's helpful for a team to know there's one place to go, a mediator of sorts, where they can look up all the build dependencies, with versions, that the team's suite of projects is using. To be fair (for Marc's sake), someone should only use the build Ivy module approach for the potential advantages it provides over establishing build dependencies inline, not because one is not aware of the latter. On Wed, Mar 10, 2010 at 2:13 PM, Maarten Coene <[email protected]>wrote: > It's not required to create an ivy.xml for you build-dependencies, you can > resolve them inline in your build.xml. > The build.xml of Ivy uses this approach, for instance to load the emma > taskdef: > > <target name="emma" depends="jar" unless="skip.test"> > <ivy:cachepath organisation="emma" module="emma" revision="2.0.5312" > inline="true" conf="default" pathid="emma.classpath" > log="download-only" /> > <ivy:cachepath organisation="emma" module="emma_ant" > revision="2.0.5312" > inline="true" conf="default" > pathid="emma.ant.classpath" transitive="false" > log="download-only" /> > <taskdef resource="emma_ant.properties"> > <classpath refid="emma.classpath" /> > <classpath refid="emma.ant.classpath" /> > </taskdef> > ... > </target> > Cfr. https://svn.apache.org/repos/asf/ant/ivy/core/trunk/build.xml > > regards, > Maarten > >
