Hi, given I have the following module structure:
* Module A ("the application") * depends on B ("a lib") in version "latest integration" (= 2 at build time) * which depends on C ("the framework") in a version "[1,3[" (= 3 at build time) * depends on C in version "2" (= 2 at build time) When I build A, I'd _naturally_ assume there are two options: a) A overrules B and dependency on C will be used in version 2; this would even be aligned with the version constraint expressed by B's ivy.xml, but after built time the version constraint will be replaced by the fixed version; revConstraint still holds that information but is not being considered here. or b) A conflict happens This behaviour can be triggered by using the "strict" conflict manager; but strict is too strict here:-) What happens in Ivy's default config is that version 3 is chosen (by the "latest-revision" default conflict manager) because it's the newest version. Is there any way to make Ivy prefer direct version matches for built dependencies, but in case this isn't sufficient take the original revision constraint expression as an indicator whether the version actually matches? Given that my build "A" sets the dependency to C to a fixed version, I'd assume it just cannot easily have version 3 working, also. Regards, -Alex