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>