On 5/4/07, Jing Xue <[EMAIL PROTECTED]> wrote:
On Thu, May 03, 2007 at 06:45:25PM +0200, Xavier Hanin wrote:
> On 5/3/07, Thomas Schoepfer <[EMAIL PROTECTED]> wrote:
> >
> >App_A depends Runtime 2.3 and Common 1.+
> >App_B depends Runtime 2.4 and Common 1.+
> >Common 1.0.0 depends Runtime 2.3
> >Common 1.1.0 depends Runtime 2.4
> >
> >I can resolve App_B.
> >- This selects Common 1.1.0 and Runtime 2.4.
> >
> >Resolution of App_A fails.
> >- It selects Runtime 2.3 (as expected)
> >- It selects Common 1.1.0 (instead of 1.0.0)
> >
> >defaultConflictManager is set to "strict"
> >
> >Can ivy be configured to try other revs, if the easiest path fails?
> No, for the moment I know no way to use Ivy to adapt dependencies
> depending on their own dependencies. Even if this is something
> interesting, I think it's technically difficult to achieve on complex
> dependencies graph with wide version constraints. It can also lead to
> determination problems, eg:
> A -> B latest and C latest
> B 1 -> C 2
> B 2 -> C 1
> should Ivy select B 1 and C 2 or B 2 and C 1?

Shouldn't Ivy explicitly throw an error, because there is
enough information to drive it to select both C1 and C2, which is
obviously conflicting?
In case of a conflict, Ivy asks the conflict manager what to do. So if
you use a strict conflict manager you will get an error.

What Thomas is asking is something that goes even further: try to find
best possible module set according to the whole set of version
constraints among dependencies. This is something that is not easy to
perform, especially with remote repositories, where metadata
acquisition is not cheap (due to network).

Xavier

--
Jing Xue



--
Learn Ivy at ApacheCon: http://www.eu.apachecon.com/
Manage your dependencies with Ivy!
http://incubator.apache.org/ivy/

Reply via email to