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 ma...@apache.org on 2007/03/22 23:01:41 UTC

svn commit: r521518 - in /incubator/ivy/core/trunk: ./ src/java/org/apache/ivy/core/module/descriptor/ test/java/org/apache/ivy/plugins/parser/xml/

Author: maartenc
Date: Thu Mar 22 16:01:40 2007
New Revision: 521518

URL: http://svn.apache.org/viewvc?view=rev&rev=521518
Log:
Ivy should fail if ';' has been used in publications/artifact/@conf of ivy.xml (IVY-441)

Added:
    incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test-incorrectconf2.xml
    incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test-incorrectconf3.xml
Modified:
    incubator/ivy/core/trunk/CHANGES.txt
    incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java
    incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java

Modified: incubator/ivy/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/CHANGES.txt?view=diff&rev=521518&r1=521517&r2=521518
==============================================================================
--- incubator/ivy/core/trunk/CHANGES.txt (original)
+++ incubator/ivy/core/trunk/CHANGES.txt Thu Mar 22 16:01:40 2007
@@ -18,6 +18,7 @@
 - IMPROVE: New "modules in use" section in console report at the end of resolve (IVY-373) (thanks to John Wiliams)
 - IMPROVE: Generated XML reports now contains more information about the resolved module (IVY-446)
 
+- FIX: Ivy should fail if ';' has been used in publications/artifact/@conf of ivy.xml (IVY-441)
 - FIX: Ivy should fail where dependency uses undefined configuration (IVY-442)
 - FIX: Dynamic revision not calculated properly when using multiple directories (IVY-427)
 - FIX: LatestRevisionStrategy.sort() doesn't sort as specified (IVY-435)

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java?view=diff&rev=521518&r1=521517&r2=521518
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java Thu Mar 22 16:01:40 2007
@@ -260,6 +260,11 @@
      * @param artifact
      */
     public void addArtifact(String conf, Artifact artifact) {
+    	if (!_configurations.containsKey(conf)) {
+    		throw new IllegalArgumentException("Configuration '" + conf 
+    				+ "' doesn't exist in module " + this);
+    	}
+    	
         Collection artifacts = (Collection)_artifactsByConf.get(conf);
         if (artifacts == null) {
             artifacts = new ArrayList();

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=521518&r1=521517&r2=521518
==============================================================================
--- 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 Thu Mar 22 16:01:40 2007
@@ -694,4 +694,23 @@
     		// expected
     	}
     }
+    
+    public void testWithNonExistingConfigInPublications() throws Exception {
+    	try {
+    		XmlModuleDescriptorParser.getInstance().parseDescriptor(_settings, getClass().getResource("test-incorrectconf2.xml"), true);
+    		fail("ParseException hasn't been thrown");
+    	} catch (ParseException e) {
+    		// expected
+    	}
+    }
+    
+    public void testWithExistingConfigsInPublicationsSeparatedBySemiColon() throws Exception {
+    	// IVY-441
+    	try {
+    		XmlModuleDescriptorParser.getInstance().parseDescriptor(_settings, getClass().getResource("test-incorrectconf3.xml"), true);
+    		fail("ParseException hasn't been thrown");
+    	} catch (ParseException e) {
+    		// expected
+    	}
+    }
 }

Added: incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test-incorrectconf2.xml
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test-incorrectconf2.xml?view=auto&rev=521518
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test-incorrectconf2.xml (added)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test-incorrectconf2.xml Thu Mar 22 16:01:40 2007
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ivy-module version="1.0">
+	<info organisation="myorg"
+	       module="mymodule"
+	       revision="1.0"
+	       publication="20050913185628"
+	/>
+	<publications>
+        <artifact name="art1" type="jar" conf="default"/>
+        <artifact name="art2" type="jar" conf="default,bad"/>
+    </publications>
+	
+	<dependencies>
+		<dependency name="mod1" rev="1.0"/>
+		<dependency org="test" name="mod2" rev="2.0" conf="*"/>
+		<dependency org="test" name="mod3" rev="2.0" conf="default->*"/>
+		<dependency org="test" name="mod4" rev="2.0" conf="%->*"/>
+	</dependencies>
+</ivy-module>

Added: incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test-incorrectconf3.xml
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test-incorrectconf3.xml?view=auto&rev=521518
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test-incorrectconf3.xml (added)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test-incorrectconf3.xml Thu Mar 22 16:01:40 2007
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ivy-module version="1.0">
+	<info organisation="ivy-bug" module="test_proj" revision="1.0"/>
+	<configurations>
+		<conf name="compile" transitive="false"/>
+		<conf name="runtime"/>
+	</configurations>
+	<publications>
+		<artifact name="test_proj" type="jar" conf="compile;runtime"/>
+	</publications>
+</ivy-module>