ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <james.carne...@nokia.com>
Subject Dependency descriptor mediation/overriding
Date Mon, 15 Mar 2010 12:11:12 GMT
Hi All,

I have a complex dependency graph in which all dependencies are resolved dynamically (using
Version Range Matcher  -  revConstraint="[1.1,2.0[" for example). I have a use case in which
I need to override the revision of a particular transitive dependency from the root of my
graph, without having to introduce a dependence on that transitive dependency in my root node.
I'm hoping to use Ivy to drive SOA integration; that is, I'll be versioning web services,
not binary artefacts at all!

My understanding of the documentation is that using the <override> element in my root
node's <dependencies> element will achieve this:

http://ant.apache.org/ivy/history/latest-milestone/ivyfile/override.html

I'm puzzled however, by the results of my experiments with this. If I make the value of "rev"
outside what is permitted by the "revConstraint" on that dependency, I get the following message:

[ivy:resolve] dependency descriptor has been mediated: dependency: com.nokia#MyDependency;1.1
{*=[*]} => dependency: com.nokia# MyDependency;0.9 {*=[*]}

While this sounds like it's doing the job, the resulting report shows that this mediation
has not occurred at all. If I set the "rev" in the <override> to a value that sits inside
the "revConstraint", my desired use case, the above log message does not appear, and the report
also shows that the override has been ignored.

Are <override> elements ignored for dynamic resolution? If so, does anybody know a way
of achieving this given I have no conflicts?

Kind regards,

James

p.s. BTW - I love the pretty pictures I get from the Report that show our service dependency
graphs.


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