You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mp...@apache.org on 2007/01/16 18:11:53 UTC
svn commit: r496772 [1/3] - in /maven/sandbox/maven/patches/MNG-1577/trunk:
maven-artifact/src/main/java/org/apache/maven/artifact/resolver/
maven-artifact/src/main/java/org/apache/maven/artifact/versioning/
maven-artifact/src/test/java/org/apache/mave...
Author: mperham
Date: Tue Jan 16 09:11:41 2007
New Revision: 496772
URL: http://svn.apache.org/viewvc?view=rev&rev=496772
Log:
Reapply patch, this time with attitude
Added:
maven/sandbox/maven/patches/MNG-1577/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ManagedVersionMap.java (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t04/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t05/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t06/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t07/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t08/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t09/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t10/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-a-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-b-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-b-2.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-c-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-c-2.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-a-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-b-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-b-2.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-c-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-c-2.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/p0/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/p0/p1/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/p0/p1/pom.xml (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/p0/pom.xml (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/jars/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/jars/maven-test-a-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/jars/maven-test-a-2.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/jars/maven-test-b-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/jars/maven-test-b-1.1.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/jars/maven-test-b-2.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/jars/maven-test-c-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/jars/maven-test-d-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/jars/maven-test-d-1.1.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/jars/maven-test-d-1.2.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/poms/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/poms/maven-test-a-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/poms/maven-test-a-2.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/poms/maven-test-b-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/poms/maven-test-b-1.1.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/poms/maven-test-b-2.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/poms/maven-test-c-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/poms/maven-test-d-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/poms/maven-test-d-1.1.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/maven-test/poms/maven-test-d-1.2.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/p0/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/p0/p1/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/p0/p1/pom.xml (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t05/p0/pom.xml (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/maven-test/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/maven-test/jars/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/maven-test/jars/maven-test-a-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/maven-test/jars/maven-test-b-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/maven-test/jars/maven-test-b-1.1.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/maven-test/jars/maven-test-c-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/maven-test/jars/maven-test-d-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/maven-test/jars/maven-test-d-1.1.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/maven-test/jars/maven-test-d-1.2.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/maven-test/poms/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/maven-test/poms/maven-test-a-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/maven-test/poms/maven-test-b-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/maven-test/poms/maven-test-b-1.1.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/maven-test/poms/maven-test-c-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/maven-test/poms/maven-test-d-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/maven-test/poms/maven-test-d-1.1.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/maven-test/poms/maven-test-d-1.2.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/p0/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/p0/p1/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t06/p0/pom.xml (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/maven-test/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/maven-test/jars/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/maven-test/jars/maven-test-a-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/maven-test/jars/maven-test-b-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/maven-test/jars/maven-test-b-1.1.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/maven-test/jars/maven-test-c-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/maven-test/jars/maven-test-d-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/maven-test/jars/maven-test-d-1.1.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/maven-test/jars/maven-test-d-1.2.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/maven-test/poms/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/maven-test/poms/maven-test-a-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/maven-test/poms/maven-test-b-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/maven-test/poms/maven-test-b-1.1.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/maven-test/poms/maven-test-c-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/maven-test/poms/maven-test-d-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/maven-test/poms/maven-test-d-1.1.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/maven-test/poms/maven-test-d-1.2.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/p0/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/p0/p1/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/p0/p1/pom.xml (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t07/p0/pom.xml (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/maven-test/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/maven-test/jars/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/maven-test/jars/maven-test-a-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/maven-test/jars/maven-test-b-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/maven-test/jars/maven-test-b-1.1.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/maven-test/jars/maven-test-c-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/maven-test/jars/maven-test-d-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/maven-test/jars/maven-test-d-1.1.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/maven-test/jars/maven-test-d-1.2.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/maven-test/poms/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/maven-test/poms/maven-test-a-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/maven-test/poms/maven-test-b-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/maven-test/poms/maven-test-b-1.1.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/maven-test/poms/maven-test-c-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/maven-test/poms/maven-test-d-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/maven-test/poms/maven-test-d-1.1.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/maven-test/poms/maven-test-d-1.2.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/p0/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/p0/p1/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/p0/p1/pom.xml (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t08/p0/pom.xml (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t09/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t09/maven-test/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t09/maven-test/jars/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t09/maven-test/jars/maven-test-a-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t09/maven-test/jars/maven-test-b-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t09/maven-test/jars/maven-test-c-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t09/maven-test/jars/maven-test-d-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t09/maven-test/poms/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t09/maven-test/poms/maven-test-a-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t09/maven-test/poms/maven-test-b-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t09/maven-test/poms/maven-test-c-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t09/maven-test/poms/maven-test-d-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t09/p0/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t09/p0/p1/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t09/p0/p1/pom.xml (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t09/p0/p2/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t09/p0/p2/pom.xml (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t09/p0/pom.xml (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t10/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t10/maven-test/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t10/maven-test/jars/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t10/maven-test/jars/maven-test-a-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t10/maven-test/jars/maven-test-b-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t10/maven-test/jars/maven-test-c-1.0.jar
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t10/maven-test/poms/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t10/maven-test/poms/maven-test-a-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t10/maven-test/poms/maven-test-b-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t10/maven-test/poms/maven-test-c-1.0.pom
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t10/p0/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t10/p0/p1/
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t10/p0/p1/pom.xml (with props)
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t10/p0/pom.xml (with props)
Modified:
maven/sandbox/maven/patches/MNG-1577/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
maven/sandbox/maven/patches/MNG-1577/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java
maven/sandbox/maven/patches/MNG-1577/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
maven/sandbox/maven/patches/MNG-1577/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/MavenProjectTest.java
Modified: maven/sandbox/maven/patches/MNG-1577/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java?view=diff&rev=496772&r1=496771&r2=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java (original)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java Tue Jan 16 09:11:41 2007
@@ -22,9 +22,11 @@
import org.apache.maven.artifact.metadata.ResolutionGroup;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
+import org.apache.maven.artifact.resolver.filter.AndArtifactFilter;
import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.artifact.versioning.ManagedVersionMap;
import java.util.ArrayList;
import java.util.Collections;
@@ -64,7 +66,10 @@
root.addDependencies( artifacts, remoteRepositories, filter );
- recurse( root, resolvedArtifacts, managedVersions, localRepository, remoteRepositories, source, filter,
+ ManagedVersionMap versionMap = (managedVersions != null && managedVersions instanceof ManagedVersionMap) ?
+ (ManagedVersionMap)managedVersions : new ManagedVersionMap(managedVersions);
+
+ recurse( root, resolvedArtifacts, versionMap, localRepository, remoteRepositories, source, filter,
listeners );
Set set = new HashSet();
@@ -99,7 +104,7 @@
return result;
}
- private void recurse( ResolutionNode node, Map resolvedArtifacts, Map managedVersions,
+ private void recurse( ResolutionNode node, Map resolvedArtifacts, ManagedVersionMap managedVersions,
ArtifactRepository localRepository, List remoteRepositories, ArtifactMetadataSource source,
ArtifactFilter filter, List listeners )
throws CyclicDependencyException, ArtifactResolutionException, OverConstrainedVersionException
@@ -114,11 +119,20 @@
fireEvent( ResolutionListener.MANAGE_ARTIFACT, listeners, node, artifact );
- if ( artifact.getVersion() != null )
+ // Before we update the version of the artifact, we need to know
+ // whether we are working on a transitive dependency or not. This
+ // allows depMgmt to always override transitive dependencies, while
+ // explicit child override depMgmt. (viz. depMgmt should only
+ // provide defaults to children, but should override transitives)
+
+ if ( artifact.getVersion() != null
+ && ( node.isChildOfRootNode() ? node.getArtifact().getVersion() == null : true ) )
{
node.getArtifact().setVersion( artifact.getVersion() );
}
- if ( artifact.getScope() != null )
+
+ if ( artifact.getScope() != null
+ && ( node.isChildOfRootNode() ? node.getArtifact().getScope() == null : true ) )
{
node.getArtifact().setScope( artifact.getScope() );
}
@@ -271,6 +285,31 @@
fireEvent( ResolutionListener.SELECT_VERSION_FROM_RANGE, listeners, child );
}
+ if ( managedVersions.containsKey( child.getKey() ) )
+ {
+ // If this child node is a managed dependency, then we
+ // need to ensure that any exclusions it presents are
+ // added to the artifact before we retrive the metadata
+ // for the artifact; otherwise we may end up with unwanted
+ // dependencies.
+ Artifact ma = (Artifact) managedVersions.get( child.getKey() );
+ ArtifactFilter managedExclusionFilter = ma.getDependencyFilter();
+ if ( null != managedExclusionFilter )
+ {
+ if ( null != artifact.getDependencyFilter() )
+ {
+ AndArtifactFilter aaf = new AndArtifactFilter();
+ aaf.add( artifact.getDependencyFilter() );
+ aaf.add( managedExclusionFilter );
+ artifact.setDependencyFilter( aaf );
+ }
+ else
+ {
+ artifact.setDependencyFilter( managedExclusionFilter );
+ }
+ }
+ }
+
artifact.setDependencyTrail( node.getDependencyTrail() );
ResolutionGroup rGroup = source.retrieve( artifact, localRepository, remoteRepositories );
@@ -283,6 +322,7 @@
}
child.addDependencies( rGroup.getArtifacts(), rGroup.getResolutionRepositories(), filter );
+
}
catch ( CyclicDependencyException e )
{
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ManagedVersionMap.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ManagedVersionMap.java?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ManagedVersionMap.java (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ManagedVersionMap.java Tue Jan 16 09:11:41 2007
@@ -0,0 +1,52 @@
+package org.apache.maven.artifact.versioning;
+
+/*
+ * 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.
+ */
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Iterator;
+
+public class ManagedVersionMap extends HashMap
+{
+ public ManagedVersionMap(Map map)
+ {
+ super();
+ if (map != null)
+ {
+ putAll(map);
+ }
+ }
+
+ public String toString()
+ {
+ StringBuffer buffer = new StringBuffer("ManagedVersionMap\n");
+ Iterator iter = this.keySet().iterator();
+ while (iter.hasNext())
+ {
+ String key = (String)iter.next();
+ buffer.append(key).append("=").append(get(key));
+ if (iter.hasNext())
+ {
+ buffer.append("\n");
+ }
+ }
+ return buffer.toString();
+ }
+}
Propchange: maven/sandbox/maven/patches/MNG-1577/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ManagedVersionMap.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: maven/sandbox/maven/patches/MNG-1577/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java?view=diff&rev=496772&r1=496771&r2=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java (original)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java Tue Jan 16 09:11:41 2007
@@ -28,6 +28,7 @@
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.artifact.versioning.ManagedVersionMap;
import org.codehaus.plexus.PlexusTestCase;
import java.util.ArrayList;
Modified: maven/sandbox/maven/patches/MNG-1577/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java?view=diff&rev=496772&r1=496771&r2=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java (original)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java Tue Jan 16 09:11:41 2007
@@ -81,6 +81,7 @@
ArtifactResolutionResult result = artifactResolver.resolveTransitively( Collections.singleton( artifact ),
project.getArtifact(),
+ project.getManagedVersionMap(),
localRepository,
project.getRemoteArtifactRepositories(),
artifactMetadataSource, filter );
Modified: maven/sandbox/maven/patches/MNG-1577/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?view=diff&rev=496772&r1=496771&r2=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Tue Jan 16 09:11:41 2007
@@ -621,6 +621,7 @@
repositories.addAll( project.getRemoteArtifactRepositories() );
ArtifactResolutionResult result = artifactResolver.resolveTransitively( dependencies, pluginArtifact,
+ project.getManagedVersionMap(),
localRepository, repositories,
artifactMetadataSource,
artifactFilter );
@@ -1157,7 +1158,9 @@
project.setDependencyArtifacts( project.createArtifacts( artifactFactory, null, null ) );
}
ArtifactResolutionResult result = artifactResolver.resolveTransitively( project.getDependencyArtifacts(),
- artifact, context.getLocalRepository(),
+ artifact,
+ project.getManagedVersionMap(),
+ context.getLocalRepository(),
project.getRemoteArtifactRepositories(),
artifactMetadataSource, filter );
Modified: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?view=diff&rev=496772&r1=496771&r2=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Tue Jan 16 09:11:41 2007
@@ -30,12 +30,15 @@
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.artifact.resolver.filter.ExcludesArtifactFilter;
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.artifact.versioning.ManagedVersionMap;
import org.apache.maven.model.Build;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.DependencyManagement;
import org.apache.maven.model.DistributionManagement;
+import org.apache.maven.model.Exclusion;
import org.apache.maven.model.Extension;
import org.apache.maven.model.Model;
import org.apache.maven.model.Parent;
@@ -268,6 +271,8 @@
MavenProject project = new MavenProject( superModel );
+ project.setManagedVersionMap(createManagedVersionMap(projectId, superModel.getDependencyManagement(), null));
+
project.setActiveProfiles( activeProfiles );
project.setOriginalModel( superModel );
@@ -328,7 +333,8 @@
String projectId = safeVersionlessKey( project.getGroupId(), project.getArtifactId() );
- Map managedVersions = createManagedVersionMap( projectId, project.getDependencyManagement() );
+ // Map managedVersions = createManagedVersionMap( projectId, project.getDependencyManagement() );
+ Map managedVersions = project.getManagedVersionMap();
ensureMetadataSourceIsInitialized();
@@ -380,13 +386,22 @@
}
}
- private Map createManagedVersionMap( String projectId, DependencyManagement dependencyManagement )
+ private Map createManagedVersionMap( String projectId, DependencyManagement dependencyManagement, MavenProject parent)
throws ProjectBuildingException
{
- Map map;
- if ( dependencyManagement != null && dependencyManagement.getDependencies() != null )
- {
- map = new HashMap();
+ Map map = null;
+ List deps;
+ if ( dependencyManagement != null && (deps = dependencyManagement.getDependencies()) != null && deps.size() > 0)
+ {
+ map = new ManagedVersionMap(map);
+ org.codehaus.plexus.logging.Logger logger = getLogger();
+ boolean isDebug = logger.isDebugEnabled();
+
+ if (isDebug)
+ {
+ logger.debug("Adding managed depedendencies for " + projectId);
+ }
+
for ( Iterator i = dependencyManagement.getDependencies().iterator(); i.hasNext(); )
{
Dependency d = (Dependency) i.next();
@@ -398,6 +413,26 @@
versionRange, d.getType(),
d.getClassifier(), d.getScope(),
d.isOptional() );
+ if (isDebug)
+ {
+ logger.debug(" " + artifact);
+ }
+
+ // If the dependencyManagement section listed exclusions,
+ // add them to the managed artifacts here so that transitive
+ // dependencies will be excluded if necessary.
+ if ( null != d.getExclusions() && !d.getExclusions().isEmpty() ) {
+ List exclusions = new ArrayList();
+ Iterator exclItr = d.getExclusions().iterator();
+ while (exclItr.hasNext()) {
+ Exclusion e = (Exclusion) exclItr.next();
+ exclusions.add(e.getGroupId() + ":" + e.getArtifactId());
+ }
+ ExcludesArtifactFilter eaf = new ExcludesArtifactFilter( exclusions );
+ artifact.setDependencyFilter( eaf );
+ } else {
+ artifact.setDependencyFilter( null );
+ }
map.put( d.getManagementKey(), artifact );
}
catch ( InvalidVersionSpecificationException e )
@@ -407,7 +442,7 @@
}
}
}
- else
+ else if (map == null)
{
map = Collections.EMPTY_MAP;
}
@@ -798,6 +833,8 @@
}
}
+ project.setManagedVersionMap(createManagedVersionMap(projectId, project.getDependencyManagement(), project.getParent()));
+
return project;
}
@@ -1026,10 +1063,10 @@
Parent parentModel = model.getParent();
+ String projectId = safeVersionlessKey( model.getGroupId(), model.getArtifactId() );
+
if ( parentModel != null )
{
- String projectId = safeVersionlessKey( model.getGroupId(), model.getArtifactId() );
-
if ( StringUtils.isEmpty( parentModel.getGroupId() ) )
{
throw new ProjectBuildingException( projectId, "Missing groupId element from parent element" );
Modified: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java?view=diff&rev=496772&r1=496771&r2=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java (original)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java Tue Jan 16 09:11:41 2007
@@ -19,6 +19,7 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.artifact.DependencyResolutionRequiredException;
+import org.apache.maven.artifact.versioning.ManagedVersionMap;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
@@ -136,6 +137,8 @@
private Map extensionArtifactMap;
+ private Map managedVersionMap;
+
private Map projectReferences = new HashMap();
private Build buildOverlay;
@@ -249,7 +252,12 @@
if ( project.artifact != null )
{
this.artifact = ArtifactUtils.copyArtifact( project.artifact );
- }
+ }
+
+ if ( project.getManagedVersionMap() != null )
+ {
+ setManagedVersionMap( new ManagedVersionMap( project.getManagedVersionMap() ) );
+ }
}
// TODO: Find a way to use <relativePath/> here...it's tricky, because the moduleProject
@@ -1474,6 +1482,16 @@
public Model getOriginalModel()
{
return originalModel;
+ }
+
+ public void setManagedVersionMap( Map map )
+ {
+ this.managedVersionMap = map;
+ }
+
+ public Map getManagedVersionMap()
+ {
+ return this.managedVersionMap;
}
public boolean equals( Object other )
Modified: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/MavenProjectTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/MavenProjectTest.java?view=diff&rev=496772&r1=496771&r2=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/MavenProjectTest.java (original)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/MavenProjectTest.java Tue Jan 16 09:11:41 2007
@@ -18,9 +18,15 @@
import java.io.File;
import java.io.IOException;
+import java.util.Map;
+import java.util.Iterator;
+import java.util.List;
import org.apache.maven.model.Model;
import org.apache.maven.model.Parent;
+import org.apache.maven.model.DependencyManagement;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.artifact.versioning.ManagedVersionMap;
public class MavenProjectTest
extends AbstractMavenProjectTestCase
@@ -38,7 +44,7 @@
childModel.setArtifactId( "artifact" );
MavenProject childProject = new MavenProject( childModel );
-
+
File childFile = new File( System.getProperty( "java.io.tmpdir" ), "maven-project-tests" + System.currentTimeMillis() + "/child/pom.xml" );
childProject.setFile( childFile );
@@ -46,7 +52,7 @@
String adjustment = parentProject.getModulePathAdjustment( childProject );
assertNotNull( adjustment );
-
+
assertEquals( "..", adjustment );
}
@@ -89,6 +95,33 @@
MavenProject clonedProject = new MavenProject( projectToClone );
assertEquals( "maven-core", clonedProject.getArtifactId() );
+ Map clonedMap = clonedProject.getManagedVersionMap();
+ assertNotNull("ManagedVersionMap not copied", clonedMap);
+ assertTrue("ManagedVersionMap is not empty", clonedMap.isEmpty());
+ }
+
+ public void testCopyConstructorWithDependencyManagement()
+ throws Exception
+ {
+ File f = getFileForClasspathResource( "dependencyManagement-pom.xml" );
+ MavenProject projectToClone = getProjectWithDependencies( f );
+ DependencyManagement dep = projectToClone.getDependencyManagement();
+ assertNotNull("No dependencyManagement", dep);
+ List list = dep.getDependencies();
+ assertNotNull("No dependencies", list);
+ assertTrue("Empty dependency list", !list.isEmpty());
+
+ Map map = projectToClone.getManagedVersionMap();
+ assertNotNull("No ManagedVersionMap", map);
+ assertTrue("ManagedVersionMap is empty", !map.isEmpty());
+
+ MavenProject clonedProject = new MavenProject( projectToClone );
+ assertEquals( "maven-core", clonedProject.getArtifactId() );
+ Map clonedMap = clonedProject.getManagedVersionMap();
+ assertNotNull("ManagedVersionMap not copied", clonedMap);
+ assertTrue("ManagedVersionMap is empty", !clonedMap.isEmpty());
+ assertTrue("Not a ManagedVersionMap", clonedMap instanceof ManagedVersionMap);
+ assertTrue("ManagedVersionMap does not contain test key", clonedMap.containsKey("maven-test:maven-test-b:jar"));
}
public void testGetModulePathAdjustment()
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java Tue Jan 16 09:11:41 2007
@@ -0,0 +1,83 @@
+package org.apache.maven.project.inheritance.t04;
+
+/*
+ * 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.
+ */
+
+import java.io.File;
+import java.util.Set;
+import java.util.Iterator;
+
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.apache.maven.artifact.Artifact;
+
+/**
+ * Verifies the version of a dependency listed in a parent's
+ * dependencyManagement section is chosen over another version of the same
+ * dependency, listed transitively.
+ *
+ * @author <a href="mailto:pschneider@gmail.com">Patrick Schneider</a>
+ * @version $Id$
+ */
+public class ProjectInheritanceTest
+ extends AbstractProjectInheritanceTestCase
+{
+ // ----------------------------------------------------------------------
+ //
+ // p1 inherits from p0
+ // p0 inhertis from super model
+ //
+ // or we can show it graphically as:
+ //
+ // p1 ---> p0 --> super model
+ //
+ // p1 has a depMgmt section that specifies versions 1.0 of jars "a" & "b"
+ // jar "a" has a transitive dependency on 2.0 of jar "b", but maven should
+ // prefer to use version 1.0.
+ //
+ // ----------------------------------------------------------------------
+
+ public void testDependencyManagementOverridesTransitiveDependencyVersion()
+ throws Exception
+ {
+ File localRepo = getLocalRepositoryPath();
+ File pom0 = new File( localRepo, "p0/pom.xml" );
+ File pom0Basedir = pom0.getParentFile();
+ File pom1 = new File( pom0Basedir, "p1/pom.xml" );
+
+ // load the child project, which inherits from p0...
+ MavenProject project0 = getProjectWithDependencies( pom0 );
+ MavenProject project1 = getProjectWithDependencies( pom1 );
+
+ assertEquals( pom0Basedir, project1.getParent().getBasedir() );
+ Set set = project1.getArtifacts();
+ assertNotNull("No artifacts", set);
+ assertTrue("No Artifacts", set.size() > 0);
+ assertTrue("Set size should be 3, is " + set.size(), set.size() == 3);
+
+ Iterator iter = set.iterator();
+ while (iter.hasNext()) {
+ Artifact artifact = (Artifact)iter.next();
+ System.out.println("Artifact: " + artifact.getDependencyConflictId() + " " + artifact.getVersion() +
+ " Optional=" + (artifact.isOptional() ? "true" : "false"));
+ assertTrue("Incorrect version for " + artifact.getDependencyConflictId(), artifact.getVersion().equals("1.0"));
+ }
+
+ }
+}
\ No newline at end of file
Propchange: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java Tue Jan 16 09:11:41 2007
@@ -0,0 +1,79 @@
+package org.apache.maven.project.inheritance.t05;
+
+/*
+ * 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.
+ */
+
+import java.io.File;
+import java.util.Set;
+import java.util.Iterator;
+
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.apache.maven.artifact.Artifact;
+
+/**
+ * A test which demonstrates maven's dependency management
+ *
+ * @author <a href="rgoers@apache.org">Ralph Goers</a>
+ * @version $Id$
+ */
+public class ProjectInheritanceTest
+ extends AbstractProjectInheritanceTestCase
+{
+ // ----------------------------------------------------------------------
+ //
+ // p1 inherits from p0
+ // p0 inhertis from super model
+ //
+ // or we can show it graphically as:
+ //
+ // p1 ---> p0 --> super model
+ //
+ // ----------------------------------------------------------------------
+
+ public void testDependencyManagement()
+ throws Exception
+ {
+ File localRepo = getLocalRepositoryPath();
+ File pom0 = new File( localRepo, "p0/pom.xml" );
+
+ File pom0Basedir = pom0.getParentFile();
+
+ File pom1 = new File( pom0Basedir, "p1/pom.xml" );
+
+ // load everything...
+ MavenProject project0 = getProjectWithDependencies( pom0 );
+ MavenProject project1 = getProjectWithDependencies( pom1 );
+
+ assertEquals( pom0Basedir, project1.getParent().getBasedir() );
+ Set set = project1.getArtifacts();
+ assertNotNull("No artifacts", set);
+ assertTrue("No Artifacts", set.size() > 0);
+ Iterator iter = set.iterator();
+
+ while (iter.hasNext())
+ {
+ Artifact artifact = (Artifact)iter.next();
+ System.out.println("Artifact: " + artifact.getDependencyConflictId() + " " +
+ artifact.getVersion() + " Scope: " + artifact.getScope());
+ assertTrue("Incorrect version for " + artifact.getDependencyConflictId(), artifact.getVersion().equals("1.0"));
+ }
+
+ }
+}
Propchange: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java Tue Jan 16 09:11:41 2007
@@ -0,0 +1,81 @@
+package org.apache.maven.project.inheritance.t06;
+
+/*
+ * 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.
+ */
+
+import java.io.File;
+import java.util.Set;
+import java.util.Iterator;
+
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.apache.maven.artifact.Artifact;
+
+/**
+ * A test which demonstrates maven's dependency management
+ *
+ * @author <a href="rgoers@apache.org">Ralph Goers</a>
+ * @version $Id$
+ */
+public class ProjectInheritanceTest
+ extends AbstractProjectInheritanceTestCase
+{
+ // ----------------------------------------------------------------------
+ //
+ // p1 inherits from p0
+ // p0 inhertis from super model
+ //
+ // or we can show it graphically as:
+ //
+ // p1 ---> p0 --> super model
+ //
+ // ----------------------------------------------------------------------
+
+ public void testDependencyManagement()
+ throws Exception
+ {
+ File localRepo = getLocalRepositoryPath();
+ File pom0 = new File( localRepo, "p0/pom.xml" );
+
+ File pom0Basedir = pom0.getParentFile();
+
+ File pom1 = new File( pom0Basedir, "p1/pom.xml" );
+
+ // load everything...
+ MavenProject project0 = getProjectWithDependencies( pom0 );
+ MavenProject project1 = getProjectWithDependencies( pom1 );
+
+ assertEquals( pom0Basedir, project1.getParent().getBasedir() );
+ System.out.println("Project " + project1.getId() + " " + project1);
+ Set set = project1.getArtifacts();
+ assertNotNull("No artifacts", set);
+ assertTrue("No Artifacts", set.size() > 0);
+ Iterator iter = set.iterator();
+ assertTrue("Set size should be 4, is " + set.size(), set.size() == 4);
+
+ while (iter.hasNext())
+ {
+ Artifact artifact = (Artifact)iter.next();
+ System.out.println("Artifact: " + artifact.getDependencyConflictId() + " " + artifact.getVersion() +
+ " Optional=" + (artifact.isOptional() ? "true" : "false"));
+ assertTrue("Incorrect version for " + artifact.getDependencyConflictId(), artifact.getVersion().equals("1.0"));
+ }
+
+ }
+}
Propchange: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java Tue Jan 16 09:11:41 2007
@@ -0,0 +1,91 @@
+package org.apache.maven.project.inheritance.t07;
+
+/*
+ * 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.
+ */
+
+import java.io.File;
+import java.util.List;
+import java.util.Set;
+import java.util.Iterator;
+
+import org.apache.maven.model.Build;
+import org.apache.maven.model.MailingList;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.PluginExecution;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.apache.maven.artifact.Artifact;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+import org.codehaus.plexus.logging.LoggerManager;
+import org.codehaus.plexus.logging.Logger;
+
+/**
+ * A test which demonstrates maven's dependency management
+ *
+ * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
+ * @version $Id: ProjectInheritanceTest.java 391202 2006-04-04 00:40:13Z jdcasey $
+ */
+public class ProjectInheritanceTest
+ extends AbstractProjectInheritanceTestCase
+{
+ // ----------------------------------------------------------------------
+ //
+ // p1 inherits from p0
+ // p0 inhertis from super model
+ //
+ // or we can show it graphically as:
+ //
+ // p1 ---> p0 --> super model
+ //
+ // ----------------------------------------------------------------------
+
+ public void testDependencyManagement()
+ throws Exception
+ {
+ File localRepo = getLocalRepositoryPath();
+ File pom0 = new File( localRepo, "p0/pom.xml" );
+
+ File pom0Basedir = pom0.getParentFile();
+
+ File pom1 = new File( pom0Basedir, "p1/pom.xml" );
+
+ // load everything...
+ MavenProject project0 = getProjectWithDependencies( pom0 );
+ MavenProject project1 = getProjectWithDependencies( pom1 );
+
+ assertEquals( pom0Basedir, project1.getParent().getBasedir() );
+ System.out.println("Project " + project1.getId() + " " + project1);
+ Set set = project1.getArtifacts();
+ assertNotNull("No artifacts", set);
+ assertTrue("No Artifacts", set.size() > 0);
+ Iterator iter = set.iterator();
+ assertTrue("Set size should be 3, is " + set.size(), set.size() == 3);
+
+ while (iter.hasNext())
+ {
+ Artifact artifact = (Artifact)iter.next();
+ assertFalse("", artifact.getArtifactId().equals("maven-test-d"));
+ System.out.println("Artifact: " + artifact.getDependencyConflictId() + " " + artifact.getVersion() +
+ " Optional=" + (artifact.isOptional() ? "true" : "false"));
+ assertTrue("Incorrect version for " + artifact.getDependencyConflictId(), artifact.getVersion().equals("1.0"));
+ }
+
+ }
+}
Propchange: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java Tue Jan 16 09:11:41 2007
@@ -0,0 +1,81 @@
+package org.apache.maven.project.inheritance.t08;
+
+/*
+ * 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.
+ */
+
+import java.io.File;
+import java.util.Set;
+import java.util.Iterator;
+
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.apache.maven.artifact.Artifact;
+
+/**
+ * A test which demonstrates maven's dependency management
+ *
+ * @author <a href="rgoers@apache.org">Ralph Goers</a>
+ * @version $Id$
+ */
+public class ProjectInheritanceTest
+ extends AbstractProjectInheritanceTestCase
+{
+ // ----------------------------------------------------------------------
+ //
+ // p1 inherits from p0
+ // p0 inhertis from super model
+ //
+ // or we can show it graphically as:
+ //
+ // p1 ---> p0 --> super model
+ //
+ // ----------------------------------------------------------------------
+
+ public void testDependencyManagement()
+ throws Exception
+ {
+ File localRepo = getLocalRepositoryPath();
+ File pom0 = new File( localRepo, "p0/pom.xml" );
+
+ File pom0Basedir = pom0.getParentFile();
+
+ File pom1 = new File( pom0Basedir, "p1/pom.xml" );
+
+ // load everything...
+ MavenProject project0 = getProjectWithDependencies( pom0 );
+ MavenProject project1 = getProjectWithDependencies( pom1 );
+
+ assertEquals( pom0Basedir, project1.getParent().getBasedir() );
+ System.out.println("Project " + project1.getId() + " " + project1);
+ Set set = project1.getArtifacts();
+ assertNotNull("No artifacts", set);
+ assertTrue("No Artifacts", set.size() > 0);
+ Iterator iter = set.iterator();
+ assertTrue("Set size should be 4, is " + set.size(), set.size() == 4);
+
+ while (iter.hasNext())
+ {
+ Artifact artifact = (Artifact)iter.next();
+ System.out.println("Artifact: " + artifact.getDependencyConflictId() + " " + artifact.getVersion() +
+ " Optional=" + (artifact.isOptional() ? "true" : "false"));
+ assertTrue("Incorrect version for " + artifact.getDependencyConflictId(), artifact.getVersion().equals("1.0"));
+ }
+
+ }
+}
Propchange: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java Tue Jan 16 09:11:41 2007
@@ -0,0 +1,133 @@
+package org.apache.maven.project.inheritance.t09;
+
+/*
+ * 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.
+ */
+import java.io.File;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Iterator;
+
+import org.apache.maven.model.Build;
+import org.apache.maven.model.MailingList;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.PluginExecution;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.apache.maven.artifact.Artifact;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+import org.codehaus.plexus.logging.LoggerManager;
+import org.codehaus.plexus.logging.Logger;
+
+/**
+ * Verifies exclusions listed in dependencyManagement are valid for
+ * transitive dependencies.
+ *
+ * @author <a href="mailto:pschneider@gmail.com">Patrick Schneider</a>
+ * @version $Id$
+ */
+public class ProjectInheritanceTest
+ extends AbstractProjectInheritanceTestCase
+{
+ // ----------------------------------------------------------------------
+ //
+ // p1 inherits from p0
+ // p0 inhertis from super model
+ //
+ // or we can show it graphically as:
+ //
+ // p1 ---> p0 --> super model
+ //
+ // ----------------------------------------------------------------------
+
+ /**
+ * How the test project is set up:
+ *
+ * 1. dependencyManagement lists dependencies on a & b,
+ * with an exclusion on c in b.
+ * 2. the child project lists a dependency on project a only
+ * 3. a depends on b (which is transitive to the child project),
+ * and b depends on c.
+ *
+ * We should see that the resulting size of collected artifacts is two:
+ * a & b only.
+ */
+ public void testDependencyManagementExclusionsExcludeTransitively()
+ throws Exception
+ {
+ File localRepo = getLocalRepositoryPath();
+
+ File pom0 = new File( localRepo, "p0/pom.xml" );
+ File pom0Basedir = pom0.getParentFile();
+ File pom1 = new File( pom0Basedir, "p1/pom.xml" );
+
+ // load the child project, which inherits from p0...
+ MavenProject project0 = getProjectWithDependencies( pom0 );
+ MavenProject project1 = getProjectWithDependencies( pom1 );
+
+ assertEquals( pom0Basedir, project1.getParent().getBasedir() );
+ System.out.println("Project " + project1.getId() + " " + project1);
+ Map map = project1.getArtifactMap();
+
+ assertNotNull("No artifacts", map);
+ assertTrue("No Artifacts", map.size() > 0);
+ assertTrue("Set size should be 2, is " + map.size(), map.size() == 2);
+
+ assertTrue("maven-test-a is not in the project", map.containsKey( "maven-test:maven-test-a" ));
+ assertTrue("maven-test-b is not in the project", map.containsKey( "maven-test:maven-test-b" ));
+
+ }
+
+ /**
+ * Setup exactly the same as the above test, except that the child project
+ * now depends upon d, which has a transitive dependency on c. Even though
+ * we did list an exclusion on c, it was only from within the context of
+ * project b. We will pick up project c in this case because no
+ * restrictions were placed on d. This demonstrates that a, b, c, & d will
+ * all be collected.
+ *
+ * @throws Exception
+ */
+ public void testDependencyManagementExclusionDoesNotOverrideGloballyForTransitives()
+ throws Exception
+ {
+ File localRepo = getLocalRepositoryPath();
+
+ File pom0 = new File( localRepo, "p0/pom.xml" );
+ File pom0Basedir = pom0.getParentFile();
+ File pom2 = new File( pom0Basedir, "p2/pom.xml" );
+
+ // load the child project, which inherits from p0...
+ MavenProject project0 = getProjectWithDependencies( pom0 );
+ MavenProject project2 = getProjectWithDependencies( pom2 );
+
+ assertEquals( pom0Basedir, project2.getParent().getBasedir() );
+ System.out.println( "Project " + project2.getId() + " " + project2 );
+ Map map = project2.getArtifactMap();
+ assertNotNull( "No artifacts", map );
+ assertTrue( "No Artifacts", map.size() > 0 );
+ assertTrue( "Set size should be 4, is " + map.size(), map.size() == 4 );
+
+ assertTrue( "maven-test-a is not in the project", map.containsKey( "maven-test:maven-test-a" ) );
+ assertTrue( "maven-test-b is not in the project", map.containsKey( "maven-test:maven-test-b" ) );
+ assertTrue( "maven-test-c is not in the project", map.containsKey( "maven-test:maven-test-c" ) );
+ assertTrue( "maven-test-d is not in the project", map.containsKey( "maven-test:maven-test-d" ) );
+ }
+}
\ No newline at end of file
Propchange: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java Tue Jan 16 09:11:41 2007
@@ -0,0 +1,101 @@
+package org.apache.maven.project.inheritance.t10;
+
+/*
+ * 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.
+ */
+
+import java.io.File;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Iterator;
+
+import org.apache.maven.model.Build;
+import org.apache.maven.model.MailingList;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.PluginExecution;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.apache.maven.artifact.Artifact;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+import org.codehaus.plexus.logging.LoggerManager;
+import org.codehaus.plexus.logging.Logger;
+
+/**
+ * Verifies scope inheritence of direct and transitive dependencies.
+ *
+ * Should show three behaviors:
+ *
+ * 1. dependencyManagement should override the scope of transitive dependencies.
+ * 2. Direct dependencies should override the scope of dependencyManagement.
+ * 3. Direct dependencies should inherit scope from dependencyManagement when
+ * they do not explicitly state a scope.
+ *
+ * @author <a href="mailto:pschneider@gmail.com">Patrick Schneider</a>
+ * @version $Id$
+ */
+public class ProjectInheritanceTest
+ extends AbstractProjectInheritanceTestCase
+{
+ // ----------------------------------------------------------------------
+ //
+ // p1 inherits from p0
+ // p0 inhertis from super model
+ //
+ // or we can show it graphically as:
+ //
+ // p1 ---> p0 --> super model
+ //
+ // ----------------------------------------------------------------------
+
+ public void testDependencyManagementOverridesTransitiveDependencyVersion()
+ throws Exception
+ {
+ File localRepo = getLocalRepositoryPath();
+
+ File pom0 = new File( localRepo, "p0/pom.xml" );
+ File pom0Basedir = pom0.getParentFile();
+ File pom1 = new File( pom0Basedir, "p1/pom.xml" );
+
+ // load the child project, which inherits from p0...
+ MavenProject project0 = getProjectWithDependencies( pom0 );
+ MavenProject project1 = getProjectWithDependencies( pom1 );
+
+ assertEquals( pom0Basedir, project1.getParent().getBasedir() );
+ System.out.println("Project " + project1.getId() + " " + project1);
+ Map map = project1.getArtifactMap();
+ assertNotNull("No artifacts", map);
+ assertTrue("No Artifacts", map.size() > 0);
+ assertTrue("Set size should be 3, is " + map.size(), map.size() == 3);
+
+ Artifact a = (Artifact) map.get("maven-test:maven-test-a");
+ Artifact b = (Artifact) map.get("maven-test:maven-test-b");
+ Artifact c = (Artifact) map.get("maven-test:maven-test-c");
+
+ // inherited from depMgmt
+ assertTrue("Incorrect scope for " + a.getDependencyConflictId(), a.getScope().equals("test"));
+
+ // transitive dep, overridden b depMgmt
+ assertTrue("Incorrect scope for " + b.getDependencyConflictId(), b.getScope().equals("runtime"));
+
+ // direct dep, overrides depMgmt
+ assertTrue("Incorrect scope for " + c.getDependencyConflictId(), c.getScope().equals("runtime"));
+
+ }
+}
\ No newline at end of file
Propchange: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-a-1.0.jar
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-a-1.0.jar?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-a-1.0.jar (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-a-1.0.jar Tue Jan 16 09:11:41 2007
@@ -0,0 +1 @@
+foo
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-b-1.0.jar
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-b-1.0.jar?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-b-1.0.jar (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-b-1.0.jar Tue Jan 16 09:11:41 2007
@@ -0,0 +1 @@
+foo
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-b-2.0.jar
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-b-2.0.jar?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-b-2.0.jar (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-b-2.0.jar Tue Jan 16 09:11:41 2007
@@ -0,0 +1 @@
+foo
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-c-1.0.jar
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-c-1.0.jar?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-c-1.0.jar (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-c-1.0.jar Tue Jan 16 09:11:41 2007
@@ -0,0 +1 @@
+foo
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-c-2.0.jar
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-c-2.0.jar?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-c-2.0.jar (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/jars/maven-test-c-2.0.jar Tue Jan 16 09:11:41 2007
@@ -0,0 +1 @@
+foo
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-a-1.0.pom
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-a-1.0.pom?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-a-1.0.pom (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-a-1.0.pom Tue Jan 16 09:11:41 2007
@@ -0,0 +1,21 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-a</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0</version>
+ <repositories>
+ <repository>
+ <id>central</id>
+ <name>Fake Maven Central Repository</name>
+ <url>file://dummy</url>
+ </repository>
+ </repositories>
+ <dependencies>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-b</artifactId>
+ <version>2.0</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-b-1.0.pom
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-b-1.0.pom?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-b-1.0.pom (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-b-1.0.pom Tue Jan 16 09:11:41 2007
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-b</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0</version>
+</project>
\ No newline at end of file
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-b-2.0.pom
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-b-2.0.pom?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-b-2.0.pom (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-b-2.0.pom Tue Jan 16 09:11:41 2007
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-b</artifactId>
+ <packaging>jar</packaging>
+ <version>2.0</version>
+</project>
\ No newline at end of file
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-c-1.0.pom
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-c-1.0.pom?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-c-1.0.pom (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-c-1.0.pom Tue Jan 16 09:11:41 2007
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-c</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0</version>
+</project>
\ No newline at end of file
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-c-2.0.pom
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-c-2.0.pom?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-c-2.0.pom (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/maven-test/poms/maven-test-c-2.0.pom Tue Jan 16 09:11:41 2007
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-b</artifactId>
+ <packaging>jar</packaging>
+ <version>2.0</version>
+</project>
\ No newline at end of file
Added: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/p0/p1/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/p0/p1/pom.xml?view=auto&rev=496772
==============================================================================
--- maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/p0/p1/pom.xml (added)
+++ maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/p0/p1/pom.xml Tue Jan 16 09:11:41 2007
@@ -0,0 +1,41 @@
+<project>
+ <parent>
+ <artifactId>p0</artifactId>
+ <groupId>maven</groupId>
+ <version>1.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven</groupId>
+ <artifactId>p1</artifactId>
+ <packaging>pom</packaging>
+ <name>p1</name>
+ <version>1.0</version>
+ <scm>
+ <url>scm-url</url>
+ </scm>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-a</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-c</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <configuration>
+ <tasks><echo>${project.parent.basedir}</echo></tasks>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
Propchange: maven/sandbox/maven/patches/MNG-1577/trunk/maven-project/src/test/resources/inheritance-repo/t04/p0/p1/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native