ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mben...@apache.org
Subject svn commit: r1133126 - in /ant/ivy/core/trunk: src/java/org/apache/ivy/plugins/parser/m2/ test/java/org/apache/ivy/core/resolve/ test/java/org/apache/ivy/plugins/parser/m2/
Date Tue, 07 Jun 2011 18:34:01 GMT
Author: mbenson
Date: Tue Jun  7 18:34:01 2011
New Revision: 1133126

URL: http://svn.apache.org/viewvc?rev=1133126&view=rev
Log:
[IVY-1301] Ivy does not apply overridden properties to parent dependency versions specified
using dependencyManagement properties

Added:
    ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-overrideParentVersionPropertyDependencyMgt.pom
    ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-versionPropertyDependencyMgt.pom
Modified:
    ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomReader.java
    ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java
    ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java?rev=1133126&r1=1133125&r2=1133126&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java
(original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java
Tue Jun  7 18:34:01 2011
@@ -184,7 +184,7 @@ public class PomModuleDescriptorBuilder 
 
     
     
-    private final DefaultModuleDescriptor ivyModuleDescriptor;
+    private final PomModuleDescriptor ivyModuleDescriptor;
 
 
     private ModuleRevisionId mrid;
@@ -199,7 +199,7 @@ public class PomModuleDescriptorBuilder 
     
     public PomModuleDescriptorBuilder(
             ModuleDescriptorParser parser, Resource res, ParserSettings ivySettings) {
-        ivyModuleDescriptor = new DefaultModuleDescriptor(parser, res);
+        ivyModuleDescriptor = new PomModuleDescriptor(parser, res);
         ivyModuleDescriptor.setResolvedPublicationDate(new Date(res.getLastModified()));
         for (int i = 0; i < MAVEN2_CONFIGURATIONS.length; i++) {
             ivyModuleDescriptor.addConfiguration(MAVEN2_CONFIGURATIONS[i]);
@@ -365,6 +365,8 @@ public class PomModuleDescriptorBuilder 
 
 
     public void addDependencyMgt(PomDependencyMgt dep) {
+        ivyModuleDescriptor.addDependencyManagement(dep);
+
         String key = getDependencyMgtExtraInfoKeyForVersion(dep.getGroupId(), dep.getArtifactId());
         ivyModuleDescriptor.addExtraInfo(key, dep.getVersion());
         if (dep.getScope() != null) {
@@ -450,13 +452,25 @@ public class PomModuleDescriptorBuilder 
     }
 
     private String getDefaultVersion(PomDependencyData dep) {
+        ModuleId moduleId = ModuleId.newInstance(dep.getGroupId(), dep.getArtifactId());
+        if (ivyModuleDescriptor.getDependencyManagementMap().containsKey(moduleId)) {
+            return ((PomDependencyMgt) ivyModuleDescriptor.getDependencyManagementMap().get(
+                moduleId)).getVersion();
+        }
         String key = getDependencyMgtExtraInfoKeyForVersion(dep.getGroupId(), dep.getArtifactId());
         return (String) ivyModuleDescriptor.getExtraInfo().get(key);
     }
 
     private String getDefaultScope(PomDependencyData dep) {
-        String key = getDependencyMgtExtraInfoKeyForScope(dep.getGroupId(), dep.getArtifactId());
-        String result = (String) ivyModuleDescriptor.getExtraInfo().get(key);
+        String result;
+        ModuleId moduleId = ModuleId.newInstance(dep.getGroupId(), dep.getArtifactId());
+        if (ivyModuleDescriptor.getDependencyManagementMap().containsKey(moduleId)) {
+            result = ((PomDependencyMgt) ivyModuleDescriptor.getDependencyManagementMap().get(
+                moduleId)).getScope();
+        } else {
+            String key = getDependencyMgtExtraInfoKeyForScope(dep.getGroupId(), dep.getArtifactId());
+            result = (String) ivyModuleDescriptor.getExtraInfo().get(key);
+        }
         if ((result == null) || !MAVEN2_CONF_MAPPING.containsKey(result)) {
             result = "compile";
         }
@@ -488,6 +502,13 @@ public class PomModuleDescriptorBuilder 
                                 ModuleDescriptor descriptor,
                                 String groupId,
                                 String artifactId) {
+        if (descriptor instanceof PomModuleDescriptor) {
+            PomDependencyMgt dependencyMgt = (PomDependencyMgt) ((PomModuleDescriptor) descriptor)
+                    .getDependencyManagementMap().get(ModuleId.newInstance(groupId, artifactId));
+            if (dependencyMgt != null) {
+                return dependencyMgt.getExcludedModules();
+            }
+        }
         String exclusionPrefix = getDependencyMgtExtraInfoPrefixForExclusion(
                 groupId, artifactId);
         List /*<ModuleId>*/ exclusionIds = new LinkedList /*<ModuleId>*/ ();
@@ -506,23 +527,30 @@ public class PomModuleDescriptorBuilder 
                 exclusionIds.add(ModuleId.newInstance(exclusionParts[0], exclusionParts[1]));
             }
         }
-
         return exclusionIds;
     }
 
     public static Map/*<ModuleId, String version>*/ 
             getDependencyManagementMap(ModuleDescriptor md) {
         Map ret = new LinkedHashMap();
-        for (Iterator iterator = md.getExtraInfo().entrySet().iterator(); iterator.hasNext();)
{
-            Map.Entry entry = (Map.Entry) iterator.next();
-            String key = (String) entry.getKey();
-            if ((key).startsWith(DEPENDENCY_MANAGEMENT)) {
-                String[] parts = key.split(EXTRA_INFO_DELIMITER);
-                if (parts.length != DEPENDENCY_MANAGEMENT_KEY_PARTS_COUNT) {
-                    Message.warn("what seem to be a dependency management extra info "
-                        + "doesn't match expected pattern: " + key);
-                } else {
-                    ret.put(ModuleId.newInstance(parts[1], parts[2]), entry.getValue());
+        if (md instanceof PomModuleDescriptor) {
+            for (final Iterator iterator = ((PomModuleDescriptor) md).getDependencyManagementMap().entrySet().iterator();
iterator.hasNext();) {
+                Map.Entry e = (Entry) iterator.next();
+                PomDependencyMgt dependencyMgt = (PomDependencyMgt) e.getValue();
+                ret.put(e.getKey(), dependencyMgt.getVersion());
+            }
+        } else {
+            for (Iterator iterator = md.getExtraInfo().entrySet().iterator(); iterator.hasNext();)
{
+                Map.Entry entry = (Map.Entry) iterator.next();
+                String key = (String) entry.getKey();
+                if ((key).startsWith(DEPENDENCY_MANAGEMENT)) {
+                    String[] parts = key.split(EXTRA_INFO_DELIMITER);
+                    if (parts.length != DEPENDENCY_MANAGEMENT_KEY_PARTS_COUNT) {
+                        Message.warn("what seem to be a dependency management extra info
"
+                            + "doesn't match expected pattern: " + key);
+                    } else {
+                        ret.put(ModuleId.newInstance(parts[1], parts[2]), entry.getValue());
+                    }
                 }
             }
         }
@@ -532,34 +560,37 @@ public class PomModuleDescriptorBuilder 
     public static List getDependencyManagements(ModuleDescriptor md) {
         List result = new ArrayList();
         
-        for (Iterator iterator = md.getExtraInfo().entrySet().iterator(); iterator.hasNext();)
{
-            Map.Entry entry = (Map.Entry) iterator.next();
-            String key = (String) entry.getKey();
-            if ((key).startsWith(DEPENDENCY_MANAGEMENT)) {
-                String[] parts = key.split(EXTRA_INFO_DELIMITER);
-                if (parts.length != DEPENDENCY_MANAGEMENT_KEY_PARTS_COUNT) {
-                    Message.warn("what seem to be a dependency management extra info "
-                        + "doesn't match expected pattern: " + key);
-                } else {
-                    String versionKey = DEPENDENCY_MANAGEMENT + EXTRA_INFO_DELIMITER + parts[1]

-                                        + EXTRA_INFO_DELIMITER + parts[2] 
-                                        + EXTRA_INFO_DELIMITER + "version";
-                    String scopeKey = DEPENDENCY_MANAGEMENT + EXTRA_INFO_DELIMITER + parts[1]

-                                        + EXTRA_INFO_DELIMITER + parts[2] 
-                                        + EXTRA_INFO_DELIMITER + "scope";
-
-                    String version = (String) md.getExtraInfo().get(versionKey);
-                    String scope = (String) md.getExtraInfo().get(scopeKey);
-                    
-                    List /*<ModuleId>*/ exclusions = getDependencyMgtExclusions(md,
parts[1], parts[2]);
-                    result.add(new DefaultPomDependencyMgt(parts[1], parts[2], version, scope,
exclusions));
+        if (md instanceof PomModuleDescriptor) {
+            result.addAll(((PomModuleDescriptor) md).getDependencyManagementMap().values());
+        } else {
+            for (Iterator iterator = md.getExtraInfo().entrySet().iterator(); iterator.hasNext();)
{
+                Map.Entry entry = (Map.Entry) iterator.next();
+                String key = (String) entry.getKey();
+                if ((key).startsWith(DEPENDENCY_MANAGEMENT)) {
+                    String[] parts = key.split(EXTRA_INFO_DELIMITER);
+                    if (parts.length != DEPENDENCY_MANAGEMENT_KEY_PARTS_COUNT) {
+                        Message.warn("what seem to be a dependency management extra info
"
+                            + "doesn't match expected pattern: " + key);
+                    } else {
+                        String versionKey = DEPENDENCY_MANAGEMENT + EXTRA_INFO_DELIMITER
+ parts[1] 
+                                            + EXTRA_INFO_DELIMITER + parts[2] 
+                                            + EXTRA_INFO_DELIMITER + "version";
+                        String scopeKey = DEPENDENCY_MANAGEMENT + EXTRA_INFO_DELIMITER +
parts[1] 
+                                            + EXTRA_INFO_DELIMITER + parts[2] 
+                                            + EXTRA_INFO_DELIMITER + "scope";
+    
+                        String version = (String) md.getExtraInfo().get(versionKey);
+                        String scope = (String) md.getExtraInfo().get(scopeKey);
+                        
+                        List /*<ModuleId>*/ exclusions = getDependencyMgtExclusions(md,
parts[1], parts[2]);
+                        result.add(new DefaultPomDependencyMgt(parts[1], parts[2], version,
scope, exclusions));
+                    }
                 }
             }
         }
-        
         return result;
     }
-    
+
 
     public void addExtraInfos(Map extraAttributes) {
         for (Iterator it = extraAttributes.entrySet().iterator(); it.hasNext();) {
@@ -651,4 +682,20 @@ public class PomModuleDescriptorBuilder 
             return pomDependencyData;
         }
     }
+
+    public static class PomModuleDescriptor extends DefaultModuleDescriptor {
+        private final Map/*<ModuleId, PomDependencyMgt>*/ dependencyManagementMap =
new HashMap();
+
+        public PomModuleDescriptor(ModuleDescriptorParser parser, Resource res) {
+            super(parser, res);
+        }
+
+        public void addDependencyManagement(PomDependencyMgt dependencyMgt) {
+            dependencyManagementMap.put(ModuleId.newInstance(dependencyMgt.getGroupId(),
dependencyMgt.getArtifactId()), dependencyMgt);
+        }
+
+        public Map getDependencyManagementMap() {
+            return dependencyManagementMap;
+        }
+    }
 }

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=1133126&r1=1133125&r2=1133126&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
Tue Jun  7 18:34:01 2011
@@ -46,6 +46,7 @@ import org.apache.ivy.plugins.parser.Mod
 import org.apache.ivy.plugins.parser.ParserSettings;
 import org.apache.ivy.plugins.parser.m2.PomModuleDescriptorBuilder.PomDependencyDescriptor;
 import org.apache.ivy.plugins.parser.m2.PomReader.PomDependencyData;
+import org.apache.ivy.plugins.parser.m2.PomReader.PomDependencyMgtElement;
 import org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorWriter;
 import org.apache.ivy.plugins.repository.Resource;
 import org.apache.ivy.plugins.repository.url.URLResource;
@@ -221,7 +222,11 @@ public final class PomModuleDescriptorPa
                     // add dependency management info from parent
                     List depMgt = PomModuleDescriptorBuilder.getDependencyManagements(parentDescr);
                     for (Iterator it = depMgt.iterator(); it.hasNext();) {
-                        mdBuilder.addDependencyMgt((PomDependencyMgt) it.next());
+                        PomDependencyMgt dep = (PomDependencyMgt) it.next();
+                        if (dep instanceof PomDependencyMgtElement) {
+                            dep = domReader.new PomDependencyMgtElement((PomDependencyMgtElement)
dep);
+                        }
+                        mdBuilder.addDependencyMgt(dep);
                     }
                     
                     // add plugins from parent

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomReader.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomReader.java?rev=1133126&r1=1133125&r2=1133126&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomReader.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomReader.java Tue Jun  7
18:34:01 2011
@@ -294,6 +294,10 @@ public class PomReader {
     public class PomDependencyMgtElement implements PomDependencyMgt {
         private final Element depElement;
         
+        public PomDependencyMgtElement(PomDependencyMgtElement copyFrom) {
+            this(copyFrom.depElement);
+        }
+
         PomDependencyMgtElement(Element depElement) {
             this.depElement = depElement; 
         }

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=1133126&r1=1133125&r2=1133126&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 Tue Jun  7 18:34:01
2011
@@ -4326,14 +4326,24 @@ public class ResolveTest extends TestCas
         IvyNode ivyNode;
         ivyNode = (IvyNode) dependencies.get(0);
         assertNotNull(ivyNode);
-        mrid = ModuleRevisionId.newInstance("org.apache.dm", "test2", "2.0");
+
+//      Bad assertions based on IVY-1301 bug, corrected below:
+//        mrid = ModuleRevisionId.newInstance("org.apache.dm", "test2", "2.0");
+//        assertEquals(mrid, ivyNode.getId());
+//        // dependencies
+//        assertTrue(getIvyFileInCache(
+//            ModuleRevisionId.newInstance("org.apache.dm", "test2", "2.0")).exists());
+//        assertTrue(getArchiveFileInCache(ivy, "org.apache.dm", "test2", "2.0",
+//            "test2", "jar", "jar").exists());
+
+        mrid = ModuleRevisionId.newInstance("org.apache.dm", "test2", "1.0");
         assertEquals(mrid, ivyNode.getId());
         // dependencies
         assertTrue(getIvyFileInCache(
-            ModuleRevisionId.newInstance("org.apache.dm", "test2", "2.0")).exists());
-        assertTrue(getArchiveFileInCache(ivy, "org.apache.dm", "test2", "2.0",
+            ModuleRevisionId.newInstance("org.apache.dm", "test2", "1.0")).exists());
+        assertTrue(getArchiveFileInCache(ivy, "org.apache.dm", "test2", "1.0",
             "test2", "jar", "jar").exists());
-        
+
         ivyNode = (IvyNode) dependencies.get(1);
         assertNotNull(ivyNode);
         mrid = ModuleRevisionId.newInstance("org.apache.dm", "test3", "1.0");
@@ -4423,14 +4433,24 @@ public class ResolveTest extends TestCas
         IvyNode ivyNode;
         ivyNode = (IvyNode) dependencies.get(0);
         assertNotNull(ivyNode);
-        mrid = ModuleRevisionId.newInstance("org.apache.dm", "test2", "2.0");
+
+//      Bad assertions based on IVY-1301 bug, corrected below:
+//        mrid = ModuleRevisionId.newInstance("org.apache.dm", "test2", "2.0");
+//        assertEquals(mrid, ivyNode.getId());
+//        // dependencies
+//        assertTrue(getIvyFileInCache(
+//            ModuleRevisionId.newInstance("org.apache.dm", "test2", "2.0")).exists());
+//        assertTrue(getArchiveFileInCache(ivy, "org.apache.dm", "test2", "2.0",
+//            "test2", "jar", "jar").exists());
+
+        mrid = ModuleRevisionId.newInstance("org.apache.dm", "test2", "1.0");
         assertEquals(mrid, ivyNode.getId());
         // dependencies
         assertTrue(getIvyFileInCache(
-            ModuleRevisionId.newInstance("org.apache.dm", "test2", "2.0")).exists());
-        assertTrue(getArchiveFileInCache(ivy, "org.apache.dm", "test2", "2.0",
+            ModuleRevisionId.newInstance("org.apache.dm", "test2", "1.0")).exists());
+        assertTrue(getArchiveFileInCache(ivy, "org.apache.dm", "test2", "1.0",
             "test2", "jar", "jar").exists());
-        
+
         ivyNode = (IvyNode) dependencies.get(1);
         assertNotNull(ivyNode);
         mrid = ModuleRevisionId.newInstance("org.apache.dm", "test3", "1.0");

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java?rev=1133126&r1=1133125&r2=1133126&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java
(original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java
Tue Jun  7 18:34:01 2011
@@ -675,6 +675,42 @@ public class PomModuleDescriptorParserTe
         assertEquals("jms", excludes[1].getId().getModuleId().getName());
     }
 
+    public void testOverrideParentVersionPropertyDependencyMgt() throws ParseException, IOException
{        
+        settings.setDictatorResolver(new MockResolver() {
+            public ResolvedModuleRevision getDependency(DependencyDescriptor dd, ResolveData
data) throws ParseException {
+                try {
+                    ModuleDescriptor moduleDescriptor = PomModuleDescriptorParser.getInstance().parseDescriptor(
+                        settings, getClass().getResource("test-versionPropertyDependencyMgt.pom"),
false);
+                    return new ResolvedModuleRevision(null,null,moduleDescriptor,null);
+                } catch (IOException e) {
+                    throw new AssertionError(e);
+                }
+            }
+        });
+        
+        ModuleDescriptor md = PomModuleDescriptorParser.getInstance().parseDescriptor(
+            settings, getClass().getResource("test-overrideParentVersionPropertyDependencyMgt.pom"),
false);
+        assertNotNull(md);        
+        assertEquals(ModuleRevisionId.newInstance("org.apache", "test-parentdep", "1.0"),
md
+            .getModuleRevisionId());
+        
+        DependencyDescriptor[] dds = md.getDependencies();
+        assertNotNull(dds);
+        assertEquals(2, dds.length);
+        assertEquals(ModuleRevisionId.newInstance("commons-collections", "commons-collections",
"3.2.1"),
+            dds[0].getDependencyRevisionId());
+        assertEquals(ModuleRevisionId.newInstance("commons-logging", "commons-logging", "1.1.1"),
+            dds[1].getDependencyRevisionId());
+        
+        ExcludeRule[] excludes = dds[0].getAllExcludeRules();
+        assertNotNull(excludes);
+        assertEquals(2, excludes.length);
+        assertEquals("javax.mail", excludes[0].getId().getModuleId().getOrganisation());
+        assertEquals("mail", excludes[0].getId().getModuleId().getName());
+        assertEquals("javax.jms", excludes[1].getId().getModuleId().getOrganisation());
+        assertEquals("jms", excludes[1].getId().getModuleId().getName());
+    }
+
     public void testParentProperties() throws ParseException, IOException {
         settings.setDictatorResolver(new MockResolver() {
             public ResolvedModuleRevision getDependency(DependencyDescriptor dd, ResolveData
data) throws ParseException {

Added: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-overrideParentVersionPropertyDependencyMgt.pom
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-overrideParentVersionPropertyDependencyMgt.pom?rev=1133126&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-overrideParentVersionPropertyDependencyMgt.pom
(added)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-overrideParentVersionPropertyDependencyMgt.pom
Tue Jun  7 18:34:01 2011
@@ -0,0 +1,46 @@
+<?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>test-depMgt</artifactId>
+    <groupId>org.apache</groupId>
+    <version>1.0</version>
+  </parent>
+  <groupId>org.apache</groupId>
+  <artifactId>test-parentdep</artifactId>
+  <name>Test Module for Ivy M2 parsing</name>
+  <version>1.0</version>
+  <url>http://ivy.jayasoft.org/</url>
+  <organization>
+    <name>Jayasoft</name>
+    <url>http://www.jayasoft.org/</url>
+  </organization>
+  <properties>
+  	<commons.logging.version>1.1.1</commons.logging.version>
+  	<commons.collections.version>3.2.1</commons.collections.version>
+  </properties>
+  <dependencies>
+	<dependency>
+        <groupId>commons-collections</groupId>
+        <artifactId>commons-collections</artifactId>
+    </dependency>
+  </dependencies>
+</project>

Added: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-versionPropertyDependencyMgt.pom
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-versionPropertyDependencyMgt.pom?rev=1133126&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-versionPropertyDependencyMgt.pom
(added)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-versionPropertyDependencyMgt.pom
Tue Jun  7 18:34:01 2011
@@ -0,0 +1,65 @@
+<?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</groupId>
+    <artifactId>test-depMgt</artifactId>
+    <name>Test Module for Ivy M2 parsing</name>
+    <version>1.0</version>
+    <url>http://ivy.jayasoft.org/</url>
+    <organization>
+        <name>Jayasoft</name>
+        <url>http://www.jayasoft.org/</url>
+    </organization>
+    <properties>
+    	<commons.logging.version>1.0.4</commons.logging.version>
+    	<commons.collections.version>1.0.5</commons.collections.version>
+    </properties>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>commons-logging</groupId>
+                <artifactId>commons-logging</artifactId>
+                <version>${commons.logging.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>commons-collections</groupId>
+                <artifactId>commons-collections</artifactId>
+                <version>${commons.collections.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>javax.mail</groupId>
+                        <artifactId>mail</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>javax.jms</groupId>
+                        <artifactId>jms</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+    <dependencies>
+        <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+        </dependency>
+    </dependencies>
+</project>



Mime
View raw message