Hi, glad to see you were able to solve this transitive issue.
We should probably add some documentation about which configurations are available for maven modules and which ones you should use. To know which are available and their meaning atm, you have to take a look in your ivy-cache at the ivy.xml of such a maven module. Their you'll see why "*->default" didn't work as you expected it would. Could you give a bit more info about the last remark about using Ivy? We can only improve things if we know what the issues are. thanks, Maarten ----- Original Message ---- From: uberpuppy <[email protected]> To: [email protected] Sent: Tue, June 15, 2010 1:49:12 PM Subject: Addition of conf to dependencies changing transitive behaviour 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.
