[ 
https://issues.apache.org/jira/browse/IVY-644?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12543594
 ] 

Xavier Hanin commented on IVY-644:
----------------------------------

IMO configurations are supposed to be independent, ie resolving all confs at a 
time or resolving each of them separately must lead to the same results. The 
only advantage of resolving several confs at a time is better performance. 
That's also the reason behind not cleaning all collected resolution information 
between each root module configuration resolution... but this sometimes lead to 
independence problems as it is the case with this issue. I don't think it's a 
reason good enough to abandon the idea, fixing the issue would be better IMO.

So I think the fix should make sure that eviction of M4 1.0 is only done and 
flagged in the "test" root configuration only, with no influence to the 
"runtime" root conf. Due to the extends this may be pretty complex, but I think 
this is what we'd need to achieve.

Does it make sense?

> NPE in case of eviction by 2 other modules on different confs
> -------------------------------------------------------------
>
>                 Key: IVY-644
>                 URL: https://issues.apache.org/jira/browse/IVY-644
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-beta-1
>            Reporter: Gilles Scokart
>
> java.lang.NullPointerException
>         at org.apache.ivy.core.resolve.IvyNode.getArtifacts(IvyNode.java:759)
>         at 
> org.apache.ivy.core.resolve.IvyNode.getSelectedArtifacts(IvyNode.java:731)
>         at 
> org.apache.ivy.core.report.ResolveReport.setDependencies(ResolveReport.java:172)
>         at 
> org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:233)
>         at 
> org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:194)
>         at org.apache.ivy.Ivy.resolve(Ivy.java:256)
>         at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:212)
>         at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:281)
>         at 
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>         at org.apache.tools.ant.Task.perform(Task.java:364)
>         at org.apache.tools.ant.Target.execute(Target.java:341)
>         at org.apache.tools.ant.Target.performTasks(Target.java:369)
>         at 
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
>         at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
>         at 
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
>         at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
>         at org.apache.tools.ant.Main.runBuild(Main.java:668)
>         at org.apache.tools.ant.Main.startAnt(Main.java:187)
>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
> This error seems to happen because an evicted modules is not loaded by not 
> flagged as completely evicted neither.  I think t happens when we have two 
> evicted revisions that are actually used in different configurations.  I will 
> try to isaolate beter.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to