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 :-(