ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maarten Coene <maarten_co...@yahoo.com>
Subject Re: Conflict Manager / Latest Strategy
Date Wed, 05 Jan 2011 23:03:17 GMT
I'm not sure, but maybe you can accomplish this by writing your own 
ConflictManager?

Maarten




----- Original Message ----
From: Maurer Philipp <philipp.maurer@rheinmetall-ad.com>
To: ivy-user@ant.apache.org
Sent: Mon, January 3, 2011 3:27:52 PM
Subject: Conflict Manager / Latest Strategy

Hello Folks,



I'd like to realize the following resolve strategy:



Master project A:

A -> D "1.0-build2"

A -> C "2.3"

A -> B "1.0"



B 1.0:

B -> D "[1.0,"

B -> C "[2.2,"



C and D depend on nothing.



When I resolve A, I expect: B 1.0, C 2.3, D 1.0build2. 

"Rules": 

- Get exactly the versions defined in the master project. If they
conflict with any direct or indirect dependency exit with error.

- 1.0-build2 is higher than 1.0 or 0.0.2 (and is lower than e.g.
1.0-build3 etc)



The story:

I started with the latest-compatible conflict manager and the default
latest strategy (latest-revision). Result: Ivy crashes since D
1.0-build2 and D [1.0,   is unresolvable in this configuration - bad. 

Then I tried the latest-compatible conflict manager and the lates-lexico
latest strategy. Result: Ivy resolves D 1.0build2 and D [1.0, to
D1.0-build2 which is exactly what I want, but has some unacceptable
secondary effects:

If there is also an e.g. C 2.4 available, Ivy resolves to that instead
of C 2.3 as defined in the master project. 



Any ideas ?  



PS: I already read that "2.3" in a master project is interpreted as "2.3
or compatible i.e. higher" but this is not the behaviour I would like to
have. Plus, in the setting latest-compatible/latest-revision it works
well but does not support

1.0 < 1.0-build2 :-(


      

Mime
View raw message