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

Resolve does not deliver all dependent artifacts

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.3.0-RC1
    • Fix Version/s: 2.3.0-RC2
    • Component/s: Core
    • Labels:

      Description

      We have three configurations.

      Configurations
      <configurations>
         <conf name="runtime" extends="requires, compile" transitive="true"/>
         <conf name="requires" />
         <conf name="compile"/>
      </configurations>
      

      Additional we have the following dependencies between ivy modules (test, a, b, c) (each module has a simple jar as artifact):

      Dependencies
      test "requires->#" a
      test "requires->#" c
      
      c "requires->#" a
      c "requires->#" b
      

      The artifacts have the configuration compile.

      If I do a resolve on test with configuration "runtime" I only get artifacts for modules a and c but not b.

      The problem happens in conflict resolution. Ivy generates the dependendies with wrong rootModuleConfigurations. In out case, the module b is loaded with root module configuration requires and not runtime.

      You find attached the example a unit test and a possible resolution in method computeConflicts of ResolveEngine.

      Possible dependency to IVY-729

        Attachments

        1. IVY-1366.zip
          27 kB
          Wolfgang Frank

          Activity

            People

            • Assignee:
              maartenc Maarten Coene
              Reporter:
              wofrank Wolfgang Frank
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: