Hi,
I have a strange behavior with the transitive dependencies. I use IVY 2.0.
I have the following configuration:
- I have a first project called A in my repository which references the C++
lib boost. The ivy.xml file of my project A declares the dependency as
follow:
<dependency org="org.boost" name="boost" rev="1.38.+">
When the project A is published, the resolved dependency becomes the
following:
<dependency org="org.boost" name="boost" rev="1.38.0"
revConstraint="1.38.+">
which is perfectly logical.
- I have a second project called B which references both project A and boost
library. The depencies are defined as follow:
<dependency org="com.bluekaizen" name="A" rev="1.0.+"/>
<dependency org="org.boost" name="boost" rev="1.38.+">
When I ask IVY to resolve the dependencies, IVY tells me that there is two
conflicting revision for boost : 1.38.+ and 1.38.0 and decides to keep the
1.38.+. Why IVY does not detect that the revision is the same ? In a simple
case like this example it is not a problem but if you add include/exlucde
instructions to your dependencies declaration, the observed behavior leads
to have only the include/exclude instructions of the 1.38.+ revision and not
the ones of the 1.38.0.
Is this a bug ? Or just a configuration problem ?
--
Alexandre Gacon