ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From uberpuppy <uberpu...@gmail.com>
Subject Addition of conf to dependencies changing transitive behaviour
Date Tue, 15 Jun 2010 11:49:12 GMT

Hi all,

I'm building a series of heavily nested projects with ant and ivy, and had
got everything working nicely without configurations - i.e. the simplest
case. FYI, in all the following cases I get the same behaviour whether using
ivy inside ant or IvyDE in Eclipse.

so, having got the simplest case working I needed to introduce test
configurations. I added some relevant configurations and then focused on the
core dependencies required for all configurations. For these common
dependencies I tried:

<dependency ... transitive="true" conf="*->default"/> 

Except, bizarrely enough this stopped the transitive stuff working. Ivy
would resolve one level of nested dependencies and then just stop. Cue
google and the following attempt at a fix:

<dependecy ... transitive="true" conf="*->*" />

This then broke because it tried to download sources and javadoc - which we
don't publish into this repo - and stopping the build with an error against
the dependency resolution process. Again, google to the rescue and I try the
following:

<dependecy ... transitive="true" conf="*->*,!sources,!javadoc" />
 
Ugly, but effective. Except! This works fine for 2 layers of dependency, but
fails on the 3rd. i.e. Project D depends on Project C which depends on
Project B which depends on Project A. 

D
^-C
   ^-B
      ^-A

I attach ivy to A, B and C. Then I try D... whoops! C and B resolve fine,
but not A! Wtf! Why does transitivity apply twice and the suddenly fail?

Can anyone suggest why I keep coming up against limits on dependency
transitiveness? Please don't point me at Ivy's tutorials etc. because I've
read those literally dozens of times now and they don't address these issues
adequately.

Thanks
Al

p.s. An irrelevant whinge: I've had to write ant scripts to handle ivy's
gaping holes already and I'm seriously beginning to wonder whether I might
have to write a script for every ivy feature we use... which kinda spoils
the point of using ivy. Yeah, I'd have to write an entire build system, but
a) I've practically done that already and b) at least I'd know the quirks!
Sigh. Help greatly appreciated.
-- 
View this message in context: http://old.nabble.com/Addition-of-conf-to-dependencies-changing-transitive-behaviour-tp28890305p28890305.html
Sent from the ivy-user mailing list archive at Nabble.com.


Mime
View raw message