Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.3.0
-
None
-
None
Description
A variant of IVY-1333 is possible with some interesting properties:
- Mediations having an effect on resolution (presence being necessary to trigger the issue in question) even when no children of the descriptors to which they apply match their specifiers.
- IllegalStateException only triggering when multiple confs are resolved in a single pass.
See attached reproducer. Using same, the exception excerpted below is thrown:
[ivy:resolve] :: resolving dependencies :: reproducer#top-level;working@duffy [ivy:resolve] confs: [master, with-direct-dep, without-direct-dep] [ivy:resolve] found reproducer#phase-one;1 in testcase [ivy:resolve] found reproducer#phase-two;1 in testcase [ivy:resolve] found empty-module#empty-module;1 in testcase [ivy:resolve] found conflict#conflict;2 in testcase [ivy:resolve] [ivy:resolve] :: problems summary :: [ivy:resolve] :::: ERRORS [ivy:resolve] impossible to get artifacts when data has not been loaded. IvyNode = conflict#conflict;1 [ivy:resolve] [ivy:resolve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS BUILD FAILED /home/duffy/tmp/IVY-1455-repro/build.xml:29: impossible to resolve dependencies: java.lang.IllegalStateException: impossible to get artifacts when data has not been loaded. IvyNode = conflict#conflict;1 at org.apache.ivy.core.resolve.IvyNode.getArtifacts(IvyNode.java:809) at org.apache.ivy.core.resolve.IvyNode.getSelectedArtifacts(IvyNode.java:786) at org.apache.ivy.core.report.ResolveReport.setDependencies(ResolveReport.java:240) at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:235) at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:195) at org.apache.ivy.Ivy.resolve(Ivy.java:507)