Author: xavier
Date: Tue Jan 15 09:54:25 2008
New Revision: 612175
URL: http://svn.apache.org/viewvc?rev=612175&view=rev
Log:
FIX: NPE while resolving dependencies (IVY-701)
Modified:
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResourceResolver.java
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/util/ResourceMDParser.java
Modified:
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResourceResolver.java
URL:
http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResourceResolver.java?rev=612175&r1=612174&r2=612175&view=diff
==============================================================================
---
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResourceResolver.java
(original)
+++
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResourceResolver.java
Tue Jan 15 09:54:25 2008
@@ -158,6 +158,12 @@
}
if (versionMatcher.needModuleDescriptor(mrid, foundMrid)) {
ResolvedResource r = rmdparser.parse(rres.getResource(),
rres.getRevision());
+ if (r == null) {
+ Message.debug("\t" + name
+ + ": impossible to get module descriptor resource: " +
rres);
+ rejected.add(rres.getRevision() + " (no or bad MD)");
+ continue;
+ }
ModuleDescriptor md = ((MDResolvedResource)
r).getResolvedModuleRevision()
.getDescriptor();
if (md.isDefault()) {
Modified:
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/util/ResourceMDParser.java
URL:
http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/util/ResourceMDParser.java?rev=612175&r1=612174&r2=612175&view=diff
==============================================================================
---
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/util/ResourceMDParser.java
(original)
+++
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/util/ResourceMDParser.java
Tue Jan 15 09:54:25 2008
@@ -20,5 +20,15 @@
import org.apache.ivy.plugins.repository.Resource;
public interface ResourceMDParser {
+ /**
+ * Parses the module descriptor designed by the given resource.
+ *
+ * @param resource
+ * the resource at which the module descriptor is located
+ * @param rev
+ * the revision at which the module descriptor should be
+ * @return the parsed module descriptor as a [EMAIL PROTECTED]
MDResolvedResource}, or <code>null</code>
+ * if parsing has failed or if the resource is not available.
+ */
MDResolvedResource parse(Resource resource, String rev);
}