ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Axelsson <andreas.axels...@combination.se>
Subject Partial transient resolve?
Date Thu, 04 Mar 2010 08:34:02 GMT
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


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message