ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Davis <>
Subject RE: Please vote: changing the default conflict manager
Date Thu, 23 Sep 2010 15:32:52 GMT
To me, the current default behavior makes sense.  The dependency for X is listed as 1.0 (inclusive)
or newer, not 1.0 explicitly.  I myself would find it confusing and surprising if it resolved
to 1.0 if 2.0 was available.

James Davis * QA Engineer II/Software Engineer
Applied Technical Systems, Inc. * Information Engineering
web: * e-mail:
(p) 360.698.7100 x241 * (f) 360.698.7200

-----Original Message-----
From: [] On Behalf Of Archie Cobbs
Sent: Thursday, September 23, 2010 8:04 AM
To: Ivy Users
Subject: Please vote: changing the default conflict manager

In my opinion, the default behavior of ivy is very non-intuitive and
violates POLA <>

I'm referring specifically to the default conflict manager being
"latest-revision" instead of "latest-compatible".

For a concrete example of what this means, suppose we have modules A, X and
Y with these dependencies:


  <dependency name="X" rev="3.0"/>
  <dependency name="Y" rev="1.0"/>


  <dependency name="Y" rev="[1.0,)"/>


  No dependencies

Now suppose we resolve A. If only version 1.0 of Y exists, then ivy will
choose Y=1.0 and everything is fine. Now suppose a few months later version
2.0 of Y is released and added to the repository. The next time A is
resolved, ivy will choose version Y=2.0... even though the dependency in
module A specifically states rev="1.0" for Y.

To me this seems completely insane... at least for being the
*default*behavior of ivy.

However, this is just my opinion... and fixing it would mean changing ivy's
default behavior in a backward-incompatible manner, by changing the default
conflict manager from "latest-revision" to "latest-compatible".

So the question is: would you support this change, or would it be too
disruptive (or you just don't like it, etc.)?


Archie L. Cobbs

View raw message