Hi
I need some help sorting out a NullPointerException that I'm getting
during resolution. The stack looks like this.
java.lang.NullPointerException
at fr.jayasoft.ivy.IvyNode.isEvicted(IvyNode.java:367)
at fr.jayasoft.ivy.IvyNode.loadData(IvyNode.java:590)
at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1417)
at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1443)
at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1492)
at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1424)
at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1492)
at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1424)
at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1492)
at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1433)
at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1476)
at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1424)
at fr.jayasoft.ivy.Ivy.getDependencies(Ivy.java:1343)
at fr.jayasoft.ivy.Ivy.resolve(Ivy.java:1136)
at fr.jayasoft.ivy.Ivy.resolve(Ivy.java:1093)
at fr.jayasoft.ivy.ant.IvyResolve.execute(IvyResolve.java:167)
I'd like to be able to figure out a minimal testcase to reproduce this
so I can log a Jira issue and also hopefully work around it. The trouble
is I'm having problems figuring out what that minimal testcase is. The
problem occurs with certain sets of dependencies and can go away again
when those dependencies are changed, or even when the dependencies are
re-ordered. I'm hoping someone may be able to give me some pointers
about what to look at to help nail this down a bit more firmly.
The problem occurs whilst resolving transitive configurations. We have a
build systems comprising 170 or so modules, each of which have the
following configurations
<conf name="default" extends="package" transitive="true"/>
<conf name="compile" extends="default" visibility="private"
transitive="false"/>
<conf name="runtime" extends="default" visibility="public"
transitive="true"/>
<conf name="test" extends="runtime"/>
These modules declare dependencies amongst themselves or third party
dependencies in their own filesystem repository with Ivy files that just
have the default conf. Incase it's relevant the defaultconfmapping used
throughout is "compile->default(*);*->@(*)".
It's when resolving the transitive runtime of test configurations that
the NPE occurs.
It's difficult for me to give you a selection of the modules and their
dependencies that cause the problem as there would be too many. That is
why I want to try to understand the issue better and produce that
minimal testcase. Any ideas?
thanks
Ross