Uploaded image for project: 'Ivy'
  1. Ivy
  2. IVY-1178

Transitive dependencies resolutions issue when eviction is triggered


    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.1.0
    • Fix Version/s: 2.2.0-RC1
    • Component/s: Core
    • Labels:
    • Environment:

      Linux / ant 1.7.0


      Originally described in ivy-user list : http://old.nabble.com/Transitive-resolving-issue---td27984462.html
      Here just a part of the discussion that explain the problem and the temporary work around :
      Consider the following use case :

      moduleA has one of its dependencies like this :
      <dependency org="log4j" name="log4j" rev="1.2.14" transitive="false"/>
      moduleB has one of its dependencies like this :
      <dependency org="log4j" name="log4j" rev="1.2.15" transitive="false"/>

      While moduleC use moduleA and moduleB I have something like this :
      <dependency org="moduleA.org" name="moduleA" rev="moduleA.rev"/>
      <dependency org="moduleB.org" name="moduleB" rev="moduleB.rev"/>

      This seems to be very banal BUT, when running the ivy:resolve task the
      log4j-1.2.15 evicts the log4j-1.2.14 which seems to be a good thing!
      but thereafter the resolve task does not consider the transitivity has false
      and try to resolve all the dependencies of log4j-1.2.15

      If I remove moduleA.org and use only moduleB.org then the resolve task
      behave correctly (I mean there is no resolution of transitives
      The reverse case is also true.

      A work-around is available by resolving conflict explicitly with something like :
      <conflict org="moduleA.org" module="moduleA" rev="moduleA.rev"/>




            • Assignee:
              maartenc Maarten Coene
              david.herviou david herviou
            • Votes:
              0 Vote for this issue
              1 Start watching this issue


              • Created: