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

Reply via email to