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.
