You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by ma...@apache.org on 2011/05/24 23:07:58 UTC

svn commit: r1127291 - in /ant/ivy/core/trunk: CHANGES.txt src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java

Author: maartenc
Date: Tue May 24 21:07:57 2011
New Revision: 1127291

URL: http://svn.apache.org/viewvc?rev=1127291&view=rev
Log:
IMPROVEMENT: ivy:makepom now honors exclusion of artifacts in generated pom files (IVY-1294) (thanks to Jens Rohloff)

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

Modified: ant/ivy/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=1127291&r1=1127290&r2=1127291&view=diff
==============================================================================
--- ant/ivy/core/trunk/CHANGES.txt (original)
+++ ant/ivy/core/trunk/CHANGES.txt Tue May 24 21:07:57 2011
@@ -92,6 +92,7 @@ for detailed view of each issue, please 
 	Geoff Reedy
 	Torkild U. Resheim
 	Christian Riege
+	Jens Rohloff
 	Andreas Sahlbach
 	Brian Sanders
 	Adrian Sandor
@@ -124,6 +125,7 @@ for detailed view of each issue, please 
 - NEW: Import Bushel into Ivy core (IVY-1241)
 - NEW: An new resolver 'mirroredurl' which can handle a list of mirrored URL repositories
 
+- IMPROVEMENT: ivy:makepom now honors exclusion of artifacts in generated pom files (IVY-1294) (thanks to Jens Rohloff)
 - IMPROVEMENT: Added support for dynamic revisions in <extends> tag (IVY-1281) (thanks to Jean-Louis Boudart)
 - IMPROVEMENT: ivy:makepom child element dependency should support the type and classifier attributes (IVY-1262)
 - IMPROVEMENT: ivy:retrieve can now create a path or fileset containing the retrieved artifacts (IVY-1235)

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java?rev=1127291&r1=1127290&r2=1127291&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java Tue May 24 21:07:57 2011
@@ -36,6 +36,7 @@ import org.apache.ivy.core.IvyContext;
 import org.apache.ivy.core.IvyPatternHelper;
 import org.apache.ivy.core.module.descriptor.Artifact;
 import org.apache.ivy.core.module.descriptor.DependencyDescriptor;
+import org.apache.ivy.core.module.descriptor.ExcludeRule;
 import org.apache.ivy.core.module.descriptor.ModuleDescriptor;
 import org.apache.ivy.core.module.id.ModuleRevisionId;
 import org.apache.ivy.core.settings.IvySettings;
@@ -278,6 +279,10 @@ public final class PomModuleDescriptorWr
                     indent(out, indent * 3);
                     out.println("<optional>true</optional>");
                 }
+                
+                if(dds[i].canExclude()){
+                   printExclusions(dds[i].getAllExcludeRules(), out, indent);
+                }
                 indent(out, indent * 2);
                 out.println("</dependency>");
             }
@@ -289,6 +294,28 @@ public final class PomModuleDescriptorWr
         }
     }
     
+    private static void printExclusions(ExcludeRule[] exclusions, PrintWriter out, int indent ){
+        indent(out, indent * 3);
+        out.println("<exclusions>");        
+        
+        for(int i = 0; i < exclusions.length; i++ ){
+            indent(out, indent * 4);
+            out.println("<exclusion>");
+            ExcludeRule rule = exclusions[i];
+            indent(out, indent * 5);
+            out.println("<groupId>" + rule.getId().getModuleId().getOrganisation() + "</groupId>");
+            indent(out, indent * 5);
+            out.println("<artifactId>" + rule.getId().getModuleId().getName() + "</artifactId>");
+            indent(out, indent * 4);
+            out.println("</exclusion>"); 
+        }
+        
+        indent(out, indent * 3);
+        out.println("</exclusions>");      
+    }
+    
+    
+    
     private static DependencyDescriptor[] getDependencies(ModuleDescriptor md, 
             PomWriterOptions options) {
         String[] confs = ConfigurationUtils.replaceWildcards(options.getConfs(), md);