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 2012/12/10 21:56:07 UTC
svn commit: r1419758 - in /ant/ivy/core/trunk: ./
src/java/org/apache/ivy/plugins/parser/m2/
test/java/org/apache/ivy/core/resolve/
test/repositories/parentPom/org/apache/dm/parent/2.0/
test/repositories/parentPom/org/apache/dm/parent2/1.0/ test/reposi...
Author: maartenc
Date: Mon Dec 10 20:56:05 2012
New Revision: 1419758
URL: http://svn.apache.org/viewvc?rev=1419758&view=rev
Log:
FIX: Maven2: resolve failure when parent has <dependencyManagement> with dependency in 'import' scope (IVY-1376)
Added:
ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/parent3/
ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/parent3/1.0/
ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/parent3/1.0/parent3-1.0.pom
ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test/3.0/
ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test/3.0/test-3.0.pom
ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/
ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/1.0/
ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/1.0/test5-1.0.jar
ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/1.0/test5-1.0.pom
ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/2.0/
ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/2.0/test5-2.0.jar
ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/2.0/test5-2.0.pom
Modified:
ant/ivy/core/trunk/CHANGES.txt
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java
ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java
ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/parent/2.0/parent-2.0.pom
ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/parent2/1.0/parent2-1.0.pom
Modified: ant/ivy/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=1419758&r1=1419757&r2=1419758&view=diff
==============================================================================
--- ant/ivy/core/trunk/CHANGES.txt (original)
+++ ant/ivy/core/trunk/CHANGES.txt Mon Dec 10 20:56:05 2012
@@ -139,6 +139,8 @@ for detailed view of each issue, please
- IMPROVEMENT: add support for source bundles from p2 repositories
- IMPROVEMENT: add support for source URI from OBR repositories
+- FIX: Maven2: resolve failure when parent has <dependencyManagement> with dependency in 'import' scope (IVY-1376)
+
2.3.0-rc2
=====================================
- DOCUMENTATION: Documentation and Implementation mismatch of makepom (IVY-1383) (thanks to Thomas Kurpick)
Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java?rev=1419758&r1=1419757&r2=1419758&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java Mon Dec 10 20:56:05 2012
@@ -252,7 +252,13 @@ public final class PomModuleDescriptorPa
// add dependency management info from imported module
List depMgt = PomModuleDescriptorBuilder.getDependencyManagements(importDescr);
for (Iterator it2 = depMgt.iterator(); it2.hasNext();) {
- mdBuilder.addDependencyMgt((PomDependencyMgt) it2.next());
+ PomDependencyMgt importedDepMgt = (PomDependencyMgt) it2.next();
+ mdBuilder.addDependencyMgt(new DefaultPomDependencyMgt(
+ importedDepMgt.getGroupId(),
+ importedDepMgt.getArtifactId(),
+ importedDepMgt.getVersion(),
+ importedDepMgt.getScope(),
+ importedDepMgt.getExcludedModules()));
}
} else {
throw new IOException("Impossible to import module for " + res.getName() + "."
Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java?rev=1419758&r1=1419757&r2=1419758&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java Mon Dec 10 20:56:05 2012
@@ -4583,6 +4583,33 @@ public class ResolveTest extends TestCas
"test4", "jar", "jar").exists());
}
+ public void testResolveMaven2ParentPomDependencyManagementWithImport() throws Exception {
+ // IVY-1376
+ Ivy ivy = new Ivy();
+ ivy.configure(new File("test/repositories/parentPom/ivysettings.xml"));
+ ivy.getSettings().setDefaultResolver("parentChain");
+
+ ResolveReport report = ivy.resolve(new File(
+ "test/repositories/parentPom/org/apache/dm/test/3.0/test-3.0.pom"),
+ getResolveOptions(new String[] {"*"}));
+ assertNotNull(report);
+
+ //test the report to make sure the right dependencies are listed
+ List dependencies = report.getDependencies();
+ assertFalse(report.hasError());
+ assertEquals(2, dependencies.size());
+
+ IvyNode ivyNode;
+ ivyNode = (IvyNode) dependencies.get(0);
+ assertNotNull(ivyNode);
+ ModuleRevisionId mrid = ModuleRevisionId.newInstance("org.apache.dm", "test5", "2.0");
+ assertEquals(mrid, ivyNode.getId());
+ assertTrue(getIvyFileInCache(
+ ModuleRevisionId.newInstance("org.apache.dm", "test5", "2.0")).exists());
+ assertTrue(getArchiveFileInCache(ivy, "org.apache.dm", "test5", "2.0",
+ "test5", "jar", "jar").exists());
+ }
+
public void testResolveMaven2Snapshot1() throws Exception {
// test case for IVY-501
// here we test maven SNAPSHOT versions handling,
Modified: ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/parent/2.0/parent-2.0.pom
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/parent/2.0/parent-2.0.pom?rev=1419758&r1=1419757&r2=1419758&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/parent/2.0/parent-2.0.pom (original)
+++ ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/parent/2.0/parent-2.0.pom Mon Dec 10 20:56:05 2012
@@ -28,25 +28,27 @@
<artifactId>parent</artifactId>
<name>Test parsing parent POM</name>
<version>2.0</version>
+ <properties>
+ <test4.version>1.0</test4.version>
+ </properties>
<dependencyManagement>
<dependencies>
- <dependency>
- <groupId>org.apache.dm</groupId>
- <artifactId>test2</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.dm</groupId>
- <artifactId>test4</artifactId>
- <version>1.0</version>
- </dependency>
+ <dependency>
+ <groupId>org.apache.dm</groupId>
+ <artifactId>test2</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.dm</groupId>
+ <artifactId>test4</artifactId>
+ <version>${test4.version}</version>
+ </dependency>
</dependencies>
</dependencyManagement>
- <dependencies>
+ <dependencies>
<dependency>
<groupId>org.apache.dm</groupId>
<artifactId>test3</artifactId>
</dependency>
</dependencies>
-
</project>
Modified: ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/parent2/1.0/parent2-1.0.pom
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/parent2/1.0/parent2-1.0.pom?rev=1419758&r1=1419757&r2=1419758&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/parent2/1.0/parent2-1.0.pom (original)
+++ ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/parent2/1.0/parent2-1.0.pom Mon Dec 10 20:56:05 2012
@@ -23,6 +23,9 @@
<artifactId>parent2</artifactId>
<name>Test parsing parent POM</name>
<version>1.0</version>
+ <properties>
+ <test3.version>1.0</test3.version>
+ </properties>
<dependencyManagement>
<dependencies>
<dependency>
@@ -33,7 +36,13 @@
<dependency>
<groupId>org.apache.dm</groupId>
<artifactId>test3</artifactId>
+ <version>${test3.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.dm</groupId>
+ <artifactId>parent3</artifactId>
<version>1.0</version>
+ <scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Added: ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/parent3/1.0/parent3-1.0.pom
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/parent3/1.0/parent3-1.0.pom?rev=1419758&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/parent3/1.0/parent3-1.0.pom (added)
+++ ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/parent3/1.0/parent3-1.0.pom Mon Dec 10 20:56:05 2012
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.dm</groupId>
+ <artifactId>parent3</artifactId>
+ <name>Test parsing parent POM</name>
+ <version>1.0</version>
+ <properties>
+ <test5.version>2.0</test5.version>
+ </properties>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.dm</groupId>
+ <artifactId>test5</artifactId>
+ <version>${test5.version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+</project>
Added: ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test/3.0/test-3.0.pom
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test/3.0/test-3.0.pom?rev=1419758&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test/3.0/test-3.0.pom (added)
+++ ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test/3.0/test-3.0.pom Mon Dec 10 20:56:05 2012
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>parent</artifactId>
+ <groupId>org.apache.dm</groupId>
+ <version>2.0</version>
+ </parent>
+ <groupId>org.apache.dm</groupId>
+ <artifactId>test</artifactId>
+ <name>Test parsing parent POM</name>
+ <version>3.0</version>
+ <url>http://ant.apache.org/ivy</url>
+ <organization>
+ <name>Apache</name>
+ <url>http://www.apache.org/</url>
+ </organization>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.dm</groupId>
+ <artifactId>test5</artifactId>
+ </dependency>
+ </dependencies>
+</project>
Added: ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/1.0/test5-1.0.jar
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/1.0/test5-1.0.jar?rev=1419758&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/1.0/test5-1.0.jar (added)
+++ ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/1.0/test5-1.0.jar Mon Dec 10 20:56:05 2012
@@ -0,0 +1 @@
+
Added: ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/1.0/test5-1.0.pom
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/1.0/test5-1.0.pom?rev=1419758&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/1.0/test5-1.0.pom (added)
+++ ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/1.0/test5-1.0.pom Mon Dec 10 20:56:05 2012
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.dm</groupId>
+ <artifactId>test5</artifactId>
+ <name>Test parsing parent POM</name>
+ <version>1.0</version>
+</project>
Added: ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/2.0/test5-2.0.jar
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/2.0/test5-2.0.jar?rev=1419758&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/2.0/test5-2.0.jar (added)
+++ ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/2.0/test5-2.0.jar Mon Dec 10 20:56:05 2012
@@ -0,0 +1 @@
+
Added: ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/2.0/test5-2.0.pom
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/2.0/test5-2.0.pom?rev=1419758&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/2.0/test5-2.0.pom (added)
+++ ant/ivy/core/trunk/test/repositories/parentPom/org/apache/dm/test5/2.0/test5-2.0.pom Mon Dec 10 20:56:05 2012
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.dm</groupId>
+ <artifactId>test5</artifactId>
+ <name>Test parsing parent POM</name>
+ <version>2.0</version>
+</project>