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/03/08 13:06:17 UTC
svn commit: r516029 - in /incubator/ivy/core/trunk: ./
src/java/org/apache/ivy/plugins/parser/m2/
test/java/org/apache/ivy/plugins/parser/m2/
Author: xavier
Date: Thu Mar 8 05:06:16 2007
New Revision: 516029
URL: http://svn.apache.org/viewvc?view=rev&rev=516029
Log:
FIX: Incorrect pom parsing with profile (IVY-423)
Added:
incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/mule-module-builders-1.3.3.pom
Modified:
incubator/ivy/core/trunk/CHANGES.txt
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java
incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java
Modified: incubator/ivy/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/CHANGES.txt?view=diff&rev=516029&r1=516028&r2=516029
==============================================================================
--- incubator/ivy/core/trunk/CHANGES.txt (original)
+++ incubator/ivy/core/trunk/CHANGES.txt Thu Mar 8 05:06:16 2007
@@ -18,6 +18,7 @@
- FIX: NPE when no organisation or no name is provided in module element of ivyconf (IVY-422)
- FIX: FileUtil#copy(File src, File dest, CopyProgressListener l, boolean overwrite) (IVY-420)
+- FIX: Incorrect pom parsing with profile (IVY-423)
- FIX: Ivy doesn't recognize maven2 classifiers (IVY-418)
- FIX: Static revision replacement is not working when delivering an artifact with a dependency having extra attributes (IVY-415)
- FIX: Static revision replacement is not working when delivering an artifact with a dependency on a branch (IVY-404)
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java?view=diff&rev=516029&r1=516028&r2=516029
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java Thu Mar 8 05:06:16 2007
@@ -101,9 +101,10 @@
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
_contextStack.push(qName);
+ String context = getContext();
if ("optional".equals(qName)) {
_optional = true;
- } else if ("exclusions".equals(qName)) {
+ } else if ("project/dependencies/dependency/exclusions".equals(context)) {
if (_dd == null) {
// stores dd now cause exclusions will override org and module
_dd = new DefaultDependencyDescriptor(_md, ModuleRevisionId.newInstance(_organisation, _module, _revision), true, false, true);
@@ -111,8 +112,11 @@
_module = null;
_revision = null;
}
- } else if (_md.getModuleRevisionId() == null && ("project/dependencies/dependency".equals(getContext()))) {
- fillMrid();
+ } else if (_md.getModuleRevisionId() == null) {
+ if ("project/dependencies".equals(context)
+ || "project/profiles".equals(context)) {
+ fillMrid();
+ }
}
}
@@ -230,7 +234,8 @@
if (context.startsWith("project/parent")) {
return;
}
- if (_md.getModuleRevisionId() == null || context.startsWith("project/dependencies/dependency")) {
+ if (_md.getModuleRevisionId() == null
+ || context.startsWith("project/dependencies/dependency")) {
if (context.equals("project/groupId")) {
_organisation = txt;
} else if (_organisation == null && context.endsWith("groupId")) {
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=516029&r1=516028&r2=516029
==============================================================================
--- 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 Thu Mar 8 05:06:16 2007
@@ -169,6 +169,14 @@
assertEquals(ModuleRevisionId.newInstance("junit", "junit", "3.7"), dds[0].getDependencyRevisionId());
}
+ public void testDependenciesInProfile() throws Exception {
+ // test case for IVY-423
+ ModuleDescriptor md = PomModuleDescriptorParser.getInstance().parseDescriptor(new IvySettings(), getClass().getResource("mule-module-builders-1.3.3.pom"), false);
+ assertNotNull(md);
+
+ assertEquals(ModuleRevisionId.newInstance("org.mule.modules", "mule-module-builders", "1.3.3"), md.getModuleRevisionId());
+ }
+
public void testOptional() throws Exception {
ModuleDescriptor md = PomModuleDescriptorParser.getInstance().parseDescriptor(new IvySettings(), getClass().getResource("test-optional.pom"), false);
assertNotNull(md);
Added: incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/mule-module-builders-1.3.3.pom
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/mule-module-builders-1.3.3.pom?view=auto&rev=516029
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/mule-module-builders-1.3.3.pom (added)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/mule-module-builders-1.3.3.pom Thu Mar 8 05:06:16 2007
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>mule-modules</artifactId>
+ <groupId>org.mule.modules</groupId>
+ <version>1.3.3</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>mule-module-builders</artifactId>
+ <name>Mule Configuration Builders</name>
+ <version>1.3.3</version>
+ <description>Standard configuration builders for Mule</description>
+ <profiles>
+ <profile>
+ <id>java14</id>
+
+ <activation>
+ <jdk>1.4</jdk>
+ </activation>
+ <dependencies>
+ <dependency>
+ <groupId>xml-apis</groupId>
+ <artifactId>xml-apis</artifactId>
+
+ <version>1.3.03</version>
+ </dependency>
+ <dependency>
+ <groupId>xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ <version>2.8.1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-digester</groupId>
+ <artifactId>commons-digester</artifactId>
+ <version>1.7</version>
+ </dependency>
+ </dependencies>
+ </profile>
+
+ <profile>
+ <id>java5</id>
+ <activation>
+ <jdk>1.5</jdk>
+ </activation>
+ <dependencies>
+ <dependency>
+ <groupId>commons-digester</groupId>
+
+ <artifactId>commons-digester</artifactId>
+ <version>1.7</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>xml-apis</artifactId>
+ <groupId>xml-apis</groupId>
+ </exclusion>
+
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+
+ <artifactId>geronimo-servlet_2.4_spec</artifactId>
+ <version>1.0.1</version>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+
+</project>
\ No newline at end of file