ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xavier Hanin" <xavier.ha...@gmail.com>
Subject Re: Conflict problem
Date Fri, 04 May 2007 09:52:17 GMT
On 5/4/07, Jing Xue <jingxue@digizenstudio.com> wrote:
> On Thu, May 03, 2007 at 06:45:25PM +0200, Xavier Hanin wrote:
> > On 5/3/07, Thomas Schoepfer <t.schoepfer@daetwyler-graphics.ch> 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/

Mime
View raw message