Obviously I mean transitive wherever I write transient... Doh! /axl
> -----Original Message----- > From: Andreas Axelsson [mailto:[email protected]] > Sent: den 4 mars 2010 09:34 > To: [email protected] > Subject: Partial transient resolve? > > I've got some modules which are only required during development and I > would like to mark them as such so that they are not pulled in as > transient dependencies even if a project asks for them. > > Example: > > A depends on B, always > B depends on C, always > B depends on D, but only during development > > Running retrieve on A with transient dependencies enabled, I would like > to get B and C, but not D. What would be the approach to use? > > All my modules have the same configs available, build, dev and runtime. > Build is effectively the same as runtime, but the resolve chain is > "build->dev(*);dev->runtime(*);runtime->runtime(*)" so that a module is > built using the "build" config, making it resolve it's dependencies in > the "dev" config and transient dependencies in the "runtime" config. > > I think what I want is for A to look at the transient flag of B's > dependencies and ignore them if it's false, even if it's true for A > itself. Right now it only looks at the flag in the top level Ivy > config, which makes it impossible to selectively ignore D but still get > C. Or at least that's what my tests are indicating. > > A real life example might be: > A and B depends on different versions of a testing framework during > development. If transient dependencies are resolved, B might override > the version A requires. But still, B might also require C, that I want > to resolve, so I cannot completely turn off transient dependencies and > I don't want A to have to know about C. > > Thanks for any insight. > /axl
