Hi list,
I got a nasty NPE this morning, both with alpha1 and alpha2:
------------------------------------------------------------------------
[ivy:resolve] all callers are evicted for [ com.theveniceproject.utils |
utils-core | 1.0.0 ]: evicting too
<snip/>
Caused by: java.lang.NullPointerException
at
org.apache.ivy.core.resolve.IvyNodeEviction$EvictionData.<init>(IvyNodeEviction.java:48)
at
org.apache.ivy.core.resolve.IvyNodeEviction.markEvicted(IvyNodeEviction.java:266)
at org.apache.ivy.core.resolve.IvyNode.markEvicted(IvyNode.java:1101)
at
org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:523)
at
org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:236)
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:207)
... 17 more
------------------------------------------------------------------------
See patch attached to fix the problem.
Also I wanted to report that running "ant eclipse-ivyde" in ivy
core does not work, because ivysettings.xml does not exist.
Furthermore the Ivy library does not appear correctly in Eclipse,
I had to change it manually.
I then used "ant eclipse-default" that took a while. I had hard
times figuring out why the console was stopped, just because of
the ant task waiting for confirmation to overwrite the .classpath
file.
Then there was errors in the IDE telling that jdom.jar and
slide-webdavlib.jar were missing. I had to remove them from the
generated classpath.
Cheers,
--
Jean-Baptiste Quenot
aka John Banana Qwerty
http://caraldi.com/jbq/
Index: src/java/org/apache/ivy/core/resolve/IvyNodeEviction.java
===================================================================
--- src/java/org/apache/ivy/core/resolve/IvyNodeEviction.java (revision
562051)
+++ src/java/org/apache/ivy/core/resolve/IvyNodeEviction.java (working copy)
@@ -45,6 +45,8 @@
this.parent = parent;
this.conflictManager = conflictManager;
this.selected = selected;
+ if (selected == null)
+ return;
for (Iterator iter = selected.iterator(); iter.hasNext();) {
Object o = (Object) iter.next();
if (!(o instanceof IvyNode)) {