You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by Sven Zethelius <sv...@expedia.com> on 2012/04/13 00:47:26 UTC

force=true with latestcompatibleconflictrresolver

I've been testing the latestcompatibleconflictresolver in 2.2 trunk (now I guess its going to be 2.4 now) as an upgrade from a custom resolver in 1.4 that was trying to do what latestcompatibleconflictresolver does.  I'm using the trunk version of latestcompatibleconflictresolver (2.4.0.alpha_20120412190413) with a module that needs force="true" due to a dependency conflict.  Below is the dependency chain.  What happens is all versions of C get blacklisted, since there are no version of C that satisfy the dependency (that's why force="true" was there), even though we've said force="true" to override at the root node.  Should the expected behavior be that A 3.2.1 gets chosen instead?  Otherwise force attribute doesn't have any meaning to the latestcompatibleconflictresolver.

Module0 being built:
A rev=3.2.1 force=true
B rev=[3.0.10,4.0[

ModuleA: Available 3.2.1, 3.1.0, ...
No dependencies

ModuleB: Available 3.1.0, ... and earlier all with same dependencies
C rev=[1.9,2.0[

ModuleC: Available 1.24.0, ... and earlier all with same dependencies
A rev=3.1


BTW, the first time a resolve happens the output is different than repeat attempts.  Once its cached, the blacklist of A due to C's conflict doesn't even show up.  It is not until I clear the cache that the output tells me the problem originates with A.