ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Benson <gudnabr...@gmail.com>
Subject [ivy] m2 compatibility WAS Re: 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:38:27 GMT
Hi Ivy devs,
  You may have noticed over the past several days that I have
committed some m2-related fixes, specifically:

https://issues.apache.org/jira/browse/IVY-1299
https://issues.apache.org/jira/browse/IVY-1301

Both of these issues related to overriding parent properties that
specified dependency versions, and I had to do some strange gymnastics
to make this work.  A code review by more experienced eyes would
probably be best.

Thanks,
Matt

On Tue, Jun 7, 2011 at 1:34 PM,  <mbenson@apache.org> wrote:
> 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>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message