You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-commits@incubator.apache.org by xa...@apache.org on 2007/04/03 17:45:56 UTC

svn commit: r525217 [2/2] - in /incubator/ivy/core/trunk: ./ src/java/org/apache/ivy/core/module/descriptor/ src/java/org/apache/ivy/core/resolve/ src/java/org/apache/ivy/plugins/parser/m2/ src/java/org/apache/ivy/plugins/parser/xml/ src/java/org/apach...

Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/AbstractModuleDescriptorParserTester.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/AbstractModuleDescriptorParserTester.java?view=diff&rev=525217&r1=525216&r2=525217
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/AbstractModuleDescriptorParserTester.java (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/AbstractModuleDescriptorParserTester.java Tue Apr  3 10:45:54 2007
@@ -25,6 +25,8 @@
 import org.apache.ivy.core.module.descriptor.Configuration;
 import org.apache.ivy.core.module.descriptor.DependencyArtifactDescriptor;
 import org.apache.ivy.core.module.descriptor.DependencyDescriptor;
+import org.apache.ivy.core.module.descriptor.ExcludeRule;
+import org.apache.ivy.core.module.descriptor.IncludeRule;
 import org.apache.ivy.core.module.descriptor.ModuleDescriptor;
 import org.apache.ivy.core.module.descriptor.Configuration.Visibility;
 
@@ -56,11 +58,8 @@
         }
     }
 
-    protected void assertDependencyArtifactsIncludes(DependencyDescriptor dd, String[] confs, String[] artifactsNames) {
-    	assertDependencyArtifactsIncludes(dd, confs, artifactsNames, false);
-    }
-    protected void assertDependencyArtifactsIncludes(DependencyDescriptor dd, String[] confs, String[] artifactsNames, boolean assumePublished) {
-        DependencyArtifactDescriptor[] dads = dd.getDependencyArtifactsIncludes(confs);
+    protected void assertDependencyArtifacts(DependencyDescriptor dd, String[] confs, String[] artifactsNames) {
+        DependencyArtifactDescriptor[] dads = dd.getDependencyArtifacts(confs);
         assertNotNull(dads);
         assertEquals(artifactsNames.length, dads.length);
         for (int i = 0; i < artifactsNames.length; i++) {
@@ -68,41 +67,57 @@
             for (int j = 0; j < dads.length; j++) {
                 assertNotNull(dads[j]);
                 if (dads[j].getName().equals(artifactsNames[i])) {
-                	assertEquals("unexpected value for assumePublished on "+artifactsNames[i], assumePublished, dads[j].isAssumePublished());
                     found = true;
                     break;
                 }
             }
-            assertTrue("dependency artifact include not found: "+artifactsNames[i], found);
+            assertTrue("dependency artifact not found: "+artifactsNames[i], found);
         }
     }
 
-    protected void assertDependencyArtifactsExcludes(DependencyDescriptor dd, String[] confs, String[] artifactsNames) {
-        DependencyArtifactDescriptor[] dads = dd.getDependencyArtifactsExcludes(confs);
+    protected void assertDependencyArtifactIncludeRules(DependencyDescriptor dd, String[] confs, String[] artifactsNames) {
+        IncludeRule[] dads = dd.getIncludeRules(confs);
         assertNotNull(dads);
         assertEquals(artifactsNames.length, dads.length);
         for (int i = 0; i < artifactsNames.length; i++) {
             boolean found = false;
             for (int j = 0; j < dads.length; j++) {
                 assertNotNull(dads[j]);
-                if (dads[j].getName().equals(artifactsNames[i])) {
+                if (dads[j].getId().getName().equals(artifactsNames[i])) {
+                    found = true;
+                    break;
+                }
+            }
+            assertTrue("dependency include not found: "+artifactsNames[i], found);
+        }
+    }
+
+    protected void assertDependencyArtifactExcludeRules(DependencyDescriptor dd, String[] confs, String[] artifactsNames) {
+        ExcludeRule[] rules = dd.getExcludeRules(confs);
+        assertNotNull(rules);
+        assertEquals(artifactsNames.length, rules.length);
+        for (int i = 0; i < artifactsNames.length; i++) {
+            boolean found = false;
+            for (int j = 0; j < rules.length; j++) {
+                assertNotNull(rules[j]);
+                if (rules[j].getId().getName().equals(artifactsNames[i])) {
                     found = true;
                     break;
                 }
             }
-            assertTrue("dependency artifact exclude not found: "+artifactsNames[i], found);
+            assertTrue("dependency exclude not found: "+artifactsNames[i], found);
         }
     }
 
     protected void assertDependencyModulesExcludes(DependencyDescriptor dd, String[] confs, String[] moduleNames) {
-        DependencyArtifactDescriptor[] dads = dd.getDependencyArtifactsExcludes(confs);
-        assertNotNull(dads);
-        assertEquals(moduleNames.length, dads.length);
+    	ExcludeRule[] rules = dd.getExcludeRules(confs);
+        assertNotNull(rules);
+        assertEquals(moduleNames.length, rules.length);
         for (int i = 0; i < moduleNames.length; i++) {
             boolean found = false;
-            for (int j = 0; j < dads.length; j++) {
-                assertNotNull(dads[j]);
-                if (dads[j].getId().getModuleId().getName().equals(moduleNames[i])) {
+            for (int j = 0; j < rules.length; j++) {
+                assertNotNull(rules[j]);
+                if (rules[j].getId().getModuleId().getName().equals(moduleNames[i])) {
                     found = true;
                     break;
                 }

Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java?view=diff&rev=525217&r1=525216&r2=525217
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java Tue Apr  3 10:45:54 2007
@@ -116,8 +116,8 @@
         assertEquals(ModuleRevisionId.newInstance("commons-logging", "commons-logging", "1.0.4"), dds[0].getDependencyRevisionId());
         Map extraAtt = new HashMap();
         extraAtt.put("classifier", "asl");
-        assertEquals(1, dds[0].getAllDependencyArtifactsIncludes().length);
-        assertEquals(extraAtt, dds[0].getAllDependencyArtifactsIncludes()[0].getExtraAttributes());
+        assertEquals(1, dds[0].getAllDependencyArtifacts().length);
+        assertEquals(extraAtt, dds[0].getAllDependencyArtifacts()[0].getExtraAttributes());
     }
     
     // IVY-392
@@ -263,7 +263,7 @@
         assertEquals(new HashSet(Arrays.asList(new String[] {"compile", "runtime"})), new HashSet(Arrays.asList(dds[0].getModuleConfigurations())));
         assertEquals(new HashSet(Arrays.asList(new String[] {"master(*)", "compile(*)"})), new HashSet(Arrays.asList(dds[0].getDependencyConfigurations("compile"))));
         assertEquals(new HashSet(Arrays.asList(new String[] {"runtime(*)"})), new HashSet(Arrays.asList(dds[0].getDependencyConfigurations("runtime"))));
-        assertEquals(0, dds[0].getAllDependencyArtifactsExcludes().length);
+        assertEquals(0, dds[0].getAllExcludeRules().length);
         
         assertEquals(ModuleRevisionId.newInstance("dom4j", "dom4j", "1.6"), dds[1].getDependencyRevisionId());
         assertEquals(new HashSet(Arrays.asList(new String[] {"compile", "runtime"})), new HashSet(Arrays.asList(dds[1].getModuleConfigurations())));
@@ -276,7 +276,7 @@
         assertEquals(new HashSet(Arrays.asList(new String[] {"compile", "runtime"})), new HashSet(Arrays.asList(dds[2].getModuleConfigurations())));
         assertEquals(new HashSet(Arrays.asList(new String[] {"master(*)", "compile(*)"})), new HashSet(Arrays.asList(dds[2].getDependencyConfigurations("compile"))));
         assertEquals(new HashSet(Arrays.asList(new String[] {"runtime(*)"})), new HashSet(Arrays.asList(dds[2].getDependencyConfigurations("runtime"))));
-        assertEquals(0, dds[2].getAllDependencyArtifactsExcludes().length);
+        assertEquals(0, dds[2].getAllExcludeRules().length);
     }
 
     public void testWithPlugins() throws Exception {

Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java?view=diff&rev=525217&r1=525216&r2=525217
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java Tue Apr  3 10:45:54 2007
@@ -28,6 +28,7 @@
 import org.apache.ivy.core.module.descriptor.Artifact;
 import org.apache.ivy.core.module.descriptor.Configuration;
 import org.apache.ivy.core.module.descriptor.DependencyDescriptor;
+import org.apache.ivy.core.module.descriptor.ExcludeRule;
 import org.apache.ivy.core.module.descriptor.License;
 import org.apache.ivy.core.module.descriptor.ModuleDescriptor;
 import org.apache.ivy.core.module.descriptor.Configuration.Visibility;
@@ -36,6 +37,8 @@
 import org.apache.ivy.plugins.conflict.ConflictManager;
 import org.apache.ivy.plugins.conflict.FixedConflictManager;
 import org.apache.ivy.plugins.conflict.NoConflictManager;
+import org.apache.ivy.plugins.matcher.ExactPatternMatcher;
+import org.apache.ivy.plugins.matcher.GlobPatternMatcher;
 import org.apache.ivy.plugins.matcher.PatternMatcher;
 import org.apache.ivy.plugins.parser.AbstractModuleDescriptorParserTester;
 import org.apache.ivy.util.XMLHelper;
@@ -178,7 +181,7 @@
         assertEquals(Arrays.asList(new String[] {"*"}), Arrays.asList(dd.getModuleConfigurations()));
         assertEquals(Arrays.asList(new String[] {"*"}), Arrays.asList(dd.getDependencyConfigurations("myconf1")));        
         assertEquals(Arrays.asList(new String[] {"*"}), Arrays.asList(dd.getDependencyConfigurations(new String[] {"myconf2", "myconf3", "myconf4"})));
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf1", "myconf2", "myconf3", "myconf4"}, new String[0]);
+        assertDependencyArtifactIncludeRules(dd, new String[] {"myconf1", "myconf2", "myconf3", "myconf4"}, new String[0]);
         assertFalse(dd.isChanging());
         assertTrue(dd.isTransitive());
         
@@ -196,7 +199,7 @@
         assertEquals(Arrays.asList(new String[] {"myconf1"}), Arrays.asList(dd.getModuleConfigurations()));
         assertEquals(Arrays.asList(new String[] {"myconf1"}), Arrays.asList(dd.getDependencyConfigurations("myconf1")));        
         assertEquals(Arrays.asList(new String[] {}), Arrays.asList(dd.getDependencyConfigurations(new String[] {"myconf2", "myconf3", "myconf4"})));
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf1", "myconf2", "myconf3", "myconf4"}, new String[0]);
+        assertDependencyArtifactIncludeRules(dd, new String[] {"myconf1", "myconf2", "myconf3", "myconf4"}, new String[0]);
         
         // conf="myconf1->yourconf1"
         dd = getDependency(dependencies, "yourmodule2");
@@ -206,7 +209,7 @@
         assertEquals(Arrays.asList(new String[] {"myconf1"}), Arrays.asList(dd.getModuleConfigurations()));
         assertEquals(Arrays.asList(new String[] {"yourconf1"}), Arrays.asList(dd.getDependencyConfigurations("myconf1")));        
         assertEquals(Arrays.asList(new String[] {}), Arrays.asList(dd.getDependencyConfigurations(new String[] {"myconf2", "myconf3", "myconf4"})));
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf1", "myconf2", "myconf3", "myconf4"}, new String[0]);
+        assertDependencyArtifactIncludeRules(dd, new String[] {"myconf1", "myconf2", "myconf3", "myconf4"}, new String[0]);
         
         // conf="myconf1->yourconf1, yourconf2"
         dd = getDependency(dependencies, "yourmodule3");
@@ -216,7 +219,7 @@
         assertEquals(Arrays.asList(new String[] {"myconf1"}), Arrays.asList(dd.getModuleConfigurations()));
         assertEquals(Arrays.asList(new String[] {"yourconf1", "yourconf2"}), Arrays.asList(dd.getDependencyConfigurations("myconf1")));        
         assertEquals(Arrays.asList(new String[] {}), Arrays.asList(dd.getDependencyConfigurations(new String[] {"myconf2", "myconf3", "myconf4"})));
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf1", "myconf2", "myconf3", "myconf4"}, new String[0]);
+        assertDependencyArtifactIncludeRules(dd, new String[] {"myconf1", "myconf2", "myconf3", "myconf4"}, new String[0]);
         
         // conf="myconf1, myconf2->yourconf1, yourconf2"
         dd = getDependency(dependencies, "yourmodule4");
@@ -227,7 +230,7 @@
         assertEquals(Arrays.asList(new String[] {"yourconf1", "yourconf2"}), Arrays.asList(dd.getDependencyConfigurations("myconf1")));        
         assertEquals(Arrays.asList(new String[] {"yourconf1", "yourconf2"}), Arrays.asList(dd.getDependencyConfigurations("myconf2")));        
         assertEquals(Arrays.asList(new String[] {}), Arrays.asList(dd.getDependencyConfigurations(new String[] {"myconf3", "myconf4"})));
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf1", "myconf2", "myconf3", "myconf4"}, new String[0]);
+        assertDependencyArtifactIncludeRules(dd, new String[] {"myconf1", "myconf2", "myconf3", "myconf4"}, new String[0]);
         
         // conf="myconf1->yourconf1;myconf2->yourconf1, yourconf2"
         dd = getDependency(dependencies, "yourmodule5");
@@ -238,7 +241,7 @@
         assertEquals(Arrays.asList(new String[] {"yourconf1"}), Arrays.asList(dd.getDependencyConfigurations("myconf1")));        
         assertEquals(Arrays.asList(new String[] {"yourconf1", "yourconf2"}), Arrays.asList(dd.getDependencyConfigurations("myconf2")));        
         assertEquals(Arrays.asList(new String[] {}), Arrays.asList(dd.getDependencyConfigurations(new String[] {"myconf3", "myconf4"})));
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf1", "myconf2", "myconf3", "myconf4"}, new String[0]);
+        assertDependencyArtifactIncludeRules(dd, new String[] {"myconf1", "myconf2", "myconf3", "myconf4"}, new String[0]);
         
         // conf="*->@"
         dd = getDependency(dependencies, "yourmodule11");
@@ -259,7 +262,7 @@
         assertEquals(Arrays.asList(new String[] {"yourconf1"}), Arrays.asList(dd.getDependencyConfigurations("myconf1")));        
         assertEquals(Arrays.asList(new String[] {"yourconf1", "yourconf2"}), Arrays.asList(dd.getDependencyConfigurations("myconf2")));        
         assertEquals(Arrays.asList(new String[] {}), Arrays.asList(dd.getDependencyConfigurations(new String[] {"myconf3", "myconf4"})));
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf1", "myconf2", "myconf3", "myconf4"}, new String[0]);
+        assertDependencyArtifactIncludeRules(dd, new String[] {"myconf1", "myconf2", "myconf3", "myconf4"}, new String[0]);
         
         dd = getDependency(dependencies, "yourmodule7");
         assertNotNull(dd);
@@ -269,45 +272,45 @@
         assertEquals(Arrays.asList(new String[] {"yourconf1"}), Arrays.asList(dd.getDependencyConfigurations("myconf1")));        
         assertEquals(Arrays.asList(new String[] {"yourconf1", "yourconf2"}), Arrays.asList(dd.getDependencyConfigurations("myconf2")));        
         assertEquals(Arrays.asList(new String[] {}), Arrays.asList(dd.getDependencyConfigurations(new String[] {"myconf3", "myconf4"})));
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf1", "myconf2", "myconf3", "myconf4"}, new String[0], false);
+        assertDependencyArtifactIncludeRules(dd, new String[] {"myconf1", "myconf2", "myconf3", "myconf4"}, new String[0]);
         
         dd = getDependency(dependencies, "yourmodule8");
         assertNotNull(dd);
         assertEquals("yourorg", dd.getDependencyId().getOrganisation());
         assertEquals("8.1", dd.getDependencyRevisionId().getRevision());
         assertEquals(new HashSet(Arrays.asList(new String[] {"*"})), new HashSet(Arrays.asList(dd.getModuleConfigurations())));
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf1"}, new String[] {"yourartifact8-1", "yourartifact8-2"}, true);
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf2"}, new String[] {"yourartifact8-1", "yourartifact8-2"}, true);
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf3"}, new String[] {"yourartifact8-1", "yourartifact8-2"}, true);
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf4"}, new String[] {"yourartifact8-1", "yourartifact8-2"}, true);
+        assertDependencyArtifacts(dd, new String[] {"myconf1"}, new String[] {"yourartifact8-1", "yourartifact8-2"});
+        assertDependencyArtifacts(dd, new String[] {"myconf2"}, new String[] {"yourartifact8-1", "yourartifact8-2"});
+        assertDependencyArtifacts(dd, new String[] {"myconf3"}, new String[] {"yourartifact8-1", "yourartifact8-2"});
+        assertDependencyArtifacts(dd, new String[] {"myconf4"}, new String[] {"yourartifact8-1", "yourartifact8-2"});
         
         dd = getDependency(dependencies, "yourmodule9");
         assertNotNull(dd);
         assertEquals("yourorg", dd.getDependencyId().getOrganisation());
         assertEquals("9.1", dd.getDependencyRevisionId().getRevision());
         assertEquals(new HashSet(Arrays.asList(new String[] {"myconf1", "myconf2", "myconf3"})), new HashSet(Arrays.asList(dd.getModuleConfigurations())));
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf1"}, new String[] {"yourartifact9-1"}, true);
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf2"}, new String[] {"yourartifact9-1", "yourartifact9-2"}, true);
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf3"}, new String[] {"yourartifact9-2"}, true);
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf4"}, new String[] {}, true);
-        assertDependencyArtifactsExcludes(dd, new String[] {"myconf1"}, new String[] {});
-        assertDependencyArtifactsExcludes(dd, new String[] {"myconf2"}, new String[] {});
-        assertDependencyArtifactsExcludes(dd, new String[] {"myconf3"}, new String[] {});
-        assertDependencyArtifactsExcludes(dd, new String[] {"myconf4"}, new String[] {});
+        assertDependencyArtifacts(dd, new String[] {"myconf1"}, new String[] {"yourartifact9-1"});
+        assertDependencyArtifacts(dd, new String[] {"myconf2"}, new String[] {"yourartifact9-1", "yourartifact9-2"});
+        assertDependencyArtifacts(dd, new String[] {"myconf3"}, new String[] {"yourartifact9-2"});
+        assertDependencyArtifacts(dd, new String[] {"myconf4"}, new String[] {});
+        assertDependencyArtifactExcludeRules(dd, new String[] {"myconf1"}, new String[] {});
+        assertDependencyArtifactExcludeRules(dd, new String[] {"myconf2"}, new String[] {});
+        assertDependencyArtifactExcludeRules(dd, new String[] {"myconf3"}, new String[] {});
+        assertDependencyArtifactExcludeRules(dd, new String[] {"myconf4"}, new String[] {});
         
         dd = getDependency(dependencies, "yourmodule10");
         assertNotNull(dd);
         assertEquals("yourorg", dd.getDependencyId().getOrganisation());
         assertEquals("10.1", dd.getDependencyRevisionId().getRevision());
         assertEquals(new HashSet(Arrays.asList(new String[] {"*"})), new HashSet(Arrays.asList(dd.getModuleConfigurations())));
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf1"}, new String[] {"your.*", PatternMatcher.ANY_EXPRESSION}, false);
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf2"}, new String[] {"your.*", PatternMatcher.ANY_EXPRESSION}, false);
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf3"}, new String[] {"your.*", PatternMatcher.ANY_EXPRESSION}, false);
-        assertDependencyArtifactsIncludes(dd, new String[] {"myconf4"}, new String[] {"your.*", PatternMatcher.ANY_EXPRESSION}, false);
-        assertDependencyArtifactsExcludes(dd, new String[] {"myconf1"}, new String[] {"toexclude"});
-        assertDependencyArtifactsExcludes(dd, new String[] {"myconf2"}, new String[] {"toexclude"});
-        assertDependencyArtifactsExcludes(dd, new String[] {"myconf3"}, new String[] {"toexclude"});
-        assertDependencyArtifactsExcludes(dd, new String[] {"myconf4"}, new String[] {"toexclude"});
+        assertDependencyArtifactIncludeRules(dd, new String[] {"myconf1"}, new String[] {"your.*", PatternMatcher.ANY_EXPRESSION});
+        assertDependencyArtifactIncludeRules(dd, new String[] {"myconf2"}, new String[] {"your.*", PatternMatcher.ANY_EXPRESSION});
+        assertDependencyArtifactIncludeRules(dd, new String[] {"myconf3"}, new String[] {"your.*", PatternMatcher.ANY_EXPRESSION});
+        assertDependencyArtifactIncludeRules(dd, new String[] {"myconf4"}, new String[] {"your.*", PatternMatcher.ANY_EXPRESSION});
+        assertDependencyArtifactExcludeRules(dd, new String[] {"myconf1"}, new String[] {"toexclude"});
+        assertDependencyArtifactExcludeRules(dd, new String[] {"myconf2"}, new String[] {"toexclude"});
+        assertDependencyArtifactExcludeRules(dd, new String[] {"myconf3"}, new String[] {"toexclude"});
+        assertDependencyArtifactExcludeRules(dd, new String[] {"myconf4"}, new String[] {"toexclude"});
                 
         ConflictManager cm = md.getConflictManager(new ModuleId("yourorg", "yourmodule1"));
         assertNotNull(cm);
@@ -327,6 +330,14 @@
 
         cm = md.getConflictManager(new ModuleId("theirorg", "theirmodule2"));
         assertNull(cm);
+        
+        ExcludeRule[] rules = md.getAllExcludeRules();
+        assertNotNull(rules);
+        assertEquals(2, rules.length);
+        assertEquals(GlobPatternMatcher.INSTANCE, rules[0].getMatcher());
+        assertEquals(ExactPatternMatcher.INSTANCE, rules[1].getMatcher());
+        assertEquals(Arrays.asList(new String[] {"myconf1"}), Arrays.asList(rules[0].getConfigurations()));
+        assertEquals(Arrays.asList(new String[] {"myconf1", "myconf2", "myconf3", "myconf4","myoldconf"}), Arrays.asList(rules[1].getConfigurations()));
     }
 
     public void testBug60() throws Exception {

Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test-update.xml
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test-update.xml?view=diff&rev=525217&r1=525216&r2=525217
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test-update.xml (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test-update.xml Tue Apr  3 10:45:54 2007
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<?xml-stylesheet type="text/xsl" href="http://www.jayasoft.fr/org/ivyrep/ivy-doc.xsl"?>
+<?xml-stylesheet type="text/xsl" href="http://www.somesite.com/ivy-doc.xsl"?>
 <!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
@@ -19,7 +19,7 @@
    under the License.    
 -->
 <!-- A comment before the first tag -->
-<ivy-module version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://incubator.apache.org/ivy/schemas/ivy.xsd">
+<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://incubator.apache.org/ivy/schemas/ivy.xsd">
 	<!-- A comment with accent é & special characters -->
 	<info organisation="myorg"
 	       module="mymodule"
@@ -101,7 +101,11 @@
 		<dependency org="yourorg" name="yourmodule11" rev="11.1" conf="*->@"/>
 	</dependencies>
 	<conflicts>
-		<manager org="yourorg" module=".*" name="all"/>
+		<manager org="yourorg" module=".*" name="all" matcher="regexp"/>
 		<manager org="theirorg" module="theirmodule1" rev="1.0, 1.1"/>
 	</conflicts>
+	<exclude>
+		<rule module="*servlet*" matcher="glob" conf="myconf1" /> 
+		<rule org="acme" module="test" artifact="test" type="source" ext="jar" /> 
+	</exclude>
 </ivy-module>

Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test.xml
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test.xml?view=diff&rev=525217&r1=525216&r2=525217
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test.xml (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test.xml Tue Apr  3 10:45:54 2007
@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<?xml-stylesheet type="text/xsl" href="http://www.jayasoft.fr/org/ivyrep/ivy-doc.xsl"?>
 <!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
@@ -18,7 +17,7 @@
    specific language governing permissions and limitations
    under the License.    
 -->
-<ivy-module version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://incubator.apache.org/ivy/schemas/ivy.xsd">
+<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://incubator.apache.org/ivy/schemas/ivy.xsd">
 	<info organisation="myorg"
 	       module="mymodule"
 	       revision="myrev"
@@ -98,7 +97,11 @@
 		<dependency org="yourorg" name="yourmodule11" rev="11.1" conf="*->@"/>
 	</dependencies>
 	<conflicts>
-		<manager org="yourorg" module=".*" name="all"/>
+		<manager org="yourorg" module=".*" name="all" matcher="regexp"/>
 		<manager org="theirorg" module="theirmodule1" rev="1.0, 1.1"/>
 	</conflicts>
+	<exclude>
+		<rule module="*servlet*" matcher="glob" conf="myconf1" /> 
+		<rule org="acme" module="test" artifact="test" type="source" ext="jar" /> 
+	</exclude>
 </ivy-module>

Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/updated.xml
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/updated.xml?view=diff&rev=525217&r1=525216&r2=525217
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/updated.xml (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/updated.xml Tue Apr  3 10:45:54 2007
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<?xml-stylesheet type="text/xsl" href="http://www.jayasoft.fr/org/ivyrep/ivy-doc.xsl"?>
+<?xml-stylesheet type="text/xsl" href="http://www.somesite.com/ivy-doc.xsl"?>
 <!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
@@ -19,7 +19,7 @@
    under the License.    
 -->
 <!-- A comment before the first tag -->
-<ivy-module version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://incubator.apache.org/ivy/schemas/ivy.xsd">
+<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://incubator.apache.org/ivy/schemas/ivy.xsd">
 	<!-- A comment with accent é & special characters -->
 	<info organisation="myorg" module="mymodule" revision="mynewrev" status="release" publication="20050322143254">
 	       
@@ -98,7 +98,11 @@
 		<dependency org="yourorg" name="yourmodule11" rev="11.1" conf="*->@"/>
 	</dependencies>
 	<conflicts>
-		<manager org="yourorg" module=".*" name="all"/>
+		<manager org="yourorg" module=".*" name="all" matcher="regexp"/>
 		<manager org="theirorg" module="theirmodule1" rev="1.0, 1.1"/>
 	</conflicts>
+	<exclude>
+		<rule module="*servlet*" matcher="glob" conf="myconf1"/> 
+		<rule org="acme" module="test" artifact="test" type="source" ext="jar"/> 
+	</exclude>
 </ivy-module>

Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/IBiblioResolverTest.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/IBiblioResolverTest.java?view=diff&rev=525217&r1=525216&r2=525217
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/IBiblioResolverTest.java (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/IBiblioResolverTest.java Tue Apr  3 10:45:54 2007
@@ -29,6 +29,8 @@
 import org.apache.ivy.core.module.descriptor.DefaultArtifact;
 import org.apache.ivy.core.module.descriptor.DefaultDependencyArtifactDescriptor;
 import org.apache.ivy.core.module.descriptor.DefaultDependencyDescriptor;
+import org.apache.ivy.core.module.descriptor.DefaultIncludeRule;
+import org.apache.ivy.core.module.id.ArtifactId;
 import org.apache.ivy.core.module.id.ModuleRevisionId;
 import org.apache.ivy.core.report.ArtifactDownloadReport;
 import org.apache.ivy.core.report.DownloadReport;
@@ -214,8 +216,8 @@
         
         ModuleRevisionId mrid = ModuleRevisionId.newInstance("apache", "nanning", "0.9");
         DefaultDependencyDescriptor dd = new DefaultDependencyDescriptor(mrid, false);
-        dd.addDependencyArtifactIncludes("default", new DefaultDependencyArtifactDescriptor(dd, "nanning-profiler", "jar", "jar", true, ExactPatternMatcher.INSTANCE));
-        dd.addDependencyArtifactIncludes("default", new DefaultDependencyArtifactDescriptor(dd, "nanning-trace", "jar", "jar", true, ExactPatternMatcher.INSTANCE));
+        dd.addIncludeRule("default", new DefaultIncludeRule(new ArtifactId(mrid.getModuleId(), "nanning-profiler", "jar", "jar"), ExactPatternMatcher.INSTANCE, null));
+        dd.addIncludeRule("default", new DefaultIncludeRule(new ArtifactId(mrid.getModuleId(), "nanning-trace", "jar", "jar"), ExactPatternMatcher.INSTANCE, null));
         ResolvedModuleRevision rmr = resolver.getDependency(dd, _data);
         assertNotNull(rmr);
         assertEquals(mrid, rmr.getId());

Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/URLResolverTest.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/URLResolverTest.java?view=diff&rev=525217&r1=525216&r2=525217
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/URLResolverTest.java (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/URLResolverTest.java Tue Apr  3 10:45:54 2007
@@ -29,6 +29,8 @@
 import org.apache.ivy.core.module.descriptor.DefaultArtifact;
 import org.apache.ivy.core.module.descriptor.DefaultDependencyArtifactDescriptor;
 import org.apache.ivy.core.module.descriptor.DefaultDependencyDescriptor;
+import org.apache.ivy.core.module.descriptor.DefaultIncludeRule;
+import org.apache.ivy.core.module.id.ArtifactId;
 import org.apache.ivy.core.module.id.ModuleRevisionId;
 import org.apache.ivy.core.report.ArtifactDownloadReport;
 import org.apache.ivy.core.report.DownloadReport;
@@ -191,8 +193,8 @@
         
         ModuleRevisionId mrid = ModuleRevisionId.newInstance("apache", "nanning", "0.9");
         DefaultDependencyDescriptor dd = new DefaultDependencyDescriptor(mrid, false);
-        dd.addDependencyArtifactIncludes("default", new DefaultDependencyArtifactDescriptor(dd, "nanning-profiler", "jar", "jar", true, ExactPatternMatcher.INSTANCE));
-        dd.addDependencyArtifactIncludes("default", new DefaultDependencyArtifactDescriptor(dd, "nanning-trace", "jar", "jar", true, ExactPatternMatcher.INSTANCE));
+        dd.addIncludeRule("default", new DefaultIncludeRule(new ArtifactId(mrid.getModuleId(), "nanning-profiler", "jar", "jar"), ExactPatternMatcher.INSTANCE, null));
+        dd.addIncludeRule("default", new DefaultIncludeRule(new ArtifactId(mrid.getModuleId(), "nanning-trace", "jar", "jar"), ExactPatternMatcher.INSTANCE, null));
         ResolvedModuleRevision rmr = resolver.getDependency(dd, _data);
         assertNotNull(rmr);
         assertEquals(mrid, rmr.getId());

Added: incubator/ivy/core/trunk/test/repositories/1/org2/mod2.6/ivys/ivy-0.11.xml
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/repositories/1/org2/mod2.6/ivys/ivy-0.11.xml?view=auto&rev=525217
==============================================================================
--- incubator/ivy/core/trunk/test/repositories/1/org2/mod2.6/ivys/ivy-0.11.xml (added)
+++ incubator/ivy/core/trunk/test/repositories/1/org2/mod2.6/ivys/ivy-0.11.xml Tue Apr  3 10:45:54 2007
@@ -0,0 +1,31 @@
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<ivy-module version="1.0">
+	<info organisation="org2"
+	       module="mod2.6"
+	       revision="0.11"
+	       status="integration"
+	/>
+	<dependencies>
+		<dependency name="mod2.1" rev="0.3" />
+	</dependencies>
+	<exclude>
+		<rule module="mod1.1" />
+	</exclude>
+</ivy-module>