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.