Author: maartenc
Date: Thu Oct 15 21:53:05 2009
New Revision: 825674

URL: http://svn.apache.org/viewvc?rev=825674&view=rev
Log:
FIX: Ivy couldn't handle maven POMs that depend on theirselves

Modified:
    ant/ivy/core/trunk/CHANGES.txt
    
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java

Modified: ant/ivy/core/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=825674&r1=825673&r2=825674&view=diff
==============================================================================
--- ant/ivy/core/trunk/CHANGES.txt (original)
+++ ant/ivy/core/trunk/CHANGES.txt Thu Oct 15 21:53:05 2009
@@ -94,6 +94,7 @@
        
    trunk
 =====================================
+- FIX: Ivy couldn't handle maven POMs that depend on theirselves
 - FIX: SearchEngine.listModules returns MRID without extra attributes 
(IVY-1128) (thanks to Michael Scheetz)
 - FIX: IvyBuildNumber non-deterministic behaviour (IVY-1120)
 - FIX: Change spelling of 'occured' to 'occurred' (IVY-1123)

Modified: 
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java
URL: 
http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java?rev=825674&r1=825673&r2=825674&view=diff
==============================================================================
--- 
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java
 (original)
+++ 
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java
 Thu Oct 15 21:53:05 2009
@@ -281,6 +281,14 @@
         version = (version == null || version.length() == 0) ? 
getDefaultVersion(dep) : version;
         ModuleRevisionId moduleRevId = 
ModuleRevisionId.newInstance(dep.getGroupId(), dep
                 .getArtifactId(), version);
+
+        // Some POMs depend on theirselfves, don't add this dependency: Ivy 
doesn't allow this!
+        // Example: 
http://repo2.maven.org/maven2/net/jini/jsk-platform/2.1/jsk-platform-2.1.pom
+        ModuleRevisionId mRevId = ivyModuleDescriptor.getModuleRevisionId();
+        if ((mRevId != null) && 
mRevId.getModuleId().equals(moduleRevId.getModuleId())) {
+            return;
+        }
+
         DefaultDependencyDescriptor dd = new 
DefaultDependencyDescriptor(ivyModuleDescriptor,
                 moduleRevId, true, false, true);
         scope = (scope == null || scope.length() == 0) ? getDefaultScope(dep) 
: scope;


Reply via email to