You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2008/11/22 19:26:27 UTC
svn commit: r719891 - in
/maven/core-integration-testing/trunk/core-it-suite/src/test:
java/org/apache/maven/it/ resources/mng-3843/test-2/
resources/mng-3843/test-2/child-2/
Author: bentmann
Date: Sat Nov 22 10:26:27 2008
New Revision: 719891
URL: http://svn.apache.org/viewvc?rev=719891&view=rev
Log:
o Extended IT to check merging/overriding during inheritance
Added:
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3843/test-2/child-2/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3843/test-2/child-2/pom.xml (with props)
Modified:
maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3843PomInheritanceTest.java
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3843/test-2/pom.xml
Modified: maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3843PomInheritanceTest.java
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3843PomInheritanceTest.java?rev=719891&r1=719890&r2=719891&view=diff
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3843PomInheritanceTest.java (original)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3843PomInheritanceTest.java Sat Nov 22 10:26:27 2008
@@ -53,6 +53,7 @@
verifier.deleteDirectory( "test-1/target" );
verifier.deleteDirectory( "test-2/target" );
verifier.deleteDirectory( "test-2/child-1/target" );
+ verifier.deleteDirectory( "test-2/child-2/target" );
verifier.deleteDirectory( "test-3/sub-parent/child-a/target" );
verifier.executeGoal( "validate" );
verifier.verifyErrorFreeLog();
@@ -164,6 +165,65 @@
assertEquals( "1", props.getProperty( "project.dependencyManagement.dependencies" ) );
assertEquals( "parent-dep-a", props.getProperty( "project.dependencyManagement.dependencies.0.artifactId" ) );
+ basedir = new File( verifier.getBasedir(), "test-2/child-2" );
+ props = verifier.loadProperties( "test-2/child-2/target/pom.properties" );
+ assertEquals( "org.apache.maven.its.mng3843.child", props.getProperty( "project.groupId" ) );
+ assertEquals( "child-2", props.getProperty( "project.artifactId" ) );
+ assertEquals( "0.2", props.getProperty( "project.version" ) );
+ assertEquals( "jar", props.getProperty( "project.packaging" ) );
+ assertEquals( "child-name", props.getProperty( "project.name" ) );
+ assertEquals( "child-description", props.getProperty( "project.description", "" ) );
+ assertUrlCommon( "http://child.url", props.getProperty( "project.url", "" ) );
+ assertEquals( "2009", props.getProperty( "project.inceptionYear", "" ) );
+ assertEquals( "validate", props.getProperty( "project.build.defaultGoal" ) );
+ assertEquals( "parent-property", props.getProperty( "project.properties.parentProperty" ) );
+ assertEquals( "child-property", props.getProperty( "project.properties.childProperty" ) );
+ assertEquals( "2.0.1", props.getProperty( "project.prerequisites.maven" ) );
+ assertMissing( props, "project.modules." );
+ assertEquals( "1", props.getProperty( "project.licenses" ) );
+ assertEquals( "http://child.url/license", props.getProperty( "project.licenses.0.url" ) );
+ assertEquals( "1", props.getProperty( "project.developers" ) );
+ assertEquals( "child-developer", props.getProperty( "project.developers.0.name" ) );
+ assertEquals( "1", props.getProperty( "project.contributors" ) );
+ assertEquals( "child-contributor", props.getProperty( "project.contributors.0.name" ) );
+ assertEquals( "1", props.getProperty( "project.mailingLists" ) );
+ assertEquals( "child-mailing-list", props.getProperty( "project.mailingLists.0.name" ) );
+ assertEquals( "http://child-org.url/", props.getProperty( "project.organization.url" ) );
+ assertUrlCommon( "http://child.url/trunk", props.getProperty( "project.scm.url" ) );
+ assertUrlCommon( "http://child.url/scm", props.getProperty( "project.scm.connection" ) );
+ assertUrlCommon( "https://child.url/scm", props.getProperty( "project.scm.developerConnection" ) );
+ assertEquals( "http://child.url/ci", props.getProperty( "project.ciManagement.url" ) );
+ assertEquals( "http://child.url/issues", props.getProperty( "project.issueManagement.url" ) );
+ assertEquals( "http://child.url/dist", props.getProperty( "project.distributionManagement.repository.url" ) );
+ assertEquals( "http://child.url/snaps", props.getProperty( "project.distributionManagement.snapshotRepository.url" ) );
+ assertUrlCommon( "http://child.url/site", props.getProperty( "project.distributionManagement.site.url" ) );
+ assertUrlCommon( "http://child.url/download", props.getProperty( "project.distributionManagement.downloadUrl" ) );
+ assertEquals( "child-reloc-msg", props.getProperty( "project.distributionManagement.relocation.message" ) );
+ assertMissing( props, "project.profiles." );
+ assertEquals( "coreit", props.getProperty( "project.build.finalName" ) );
+ assertPathEquals( basedir, "sources/main", props.getProperty( "project.build.sourceDirectory" ) );
+ assertPathEquals( basedir, "sources/test", props.getProperty( "project.build.testSourceDirectory" ) );
+ assertPathEquals( basedir, "sources/scripts", props.getProperty( "project.build.scriptSourceDirectory" ) );
+ assertEquals( "1", props.getProperty( "project.build.resources" ) );
+ assertPathEquals( basedir, "resources/main", props.getProperty( "project.build.resources.0.directory" ) );
+ assertEquals( "1", props.getProperty( "project.build.testResources" ) );
+ assertPathEquals( basedir, "resources/test", props.getProperty( "project.build.testResources.0.directory" ) );
+ assertPathEquals( basedir, "build", props.getProperty( "project.build.directory" ) );
+ assertPathEquals( basedir, "build/main", props.getProperty( "project.build.outputDirectory" ) );
+ assertPathEquals( basedir, "build/test", props.getProperty( "project.build.testOutputDirectory" ) );
+ assertPathEquals( basedir, "docs", props.getProperty( "project.reporting.outputDirectory" ) );
+ assertEquals( "false", props.getProperty( "project.reporting.excludeDefaults" ) );
+ assertTrue( Integer.parseInt( props.getProperty( "project.repositories" ) ) > 1 );
+ assertEquals( "1", props.getProperty( "project.build.plugins" ) );
+ assertEquals( "4", props.getProperty( "project.dependencies" ) );
+ assertEquals( "parent-dep-b", props.getProperty( "project.dependencies.0.artifactId" ) );
+ assertEquals( "child-dep-b", props.getProperty( "project.dependencies.1.artifactId" ) );
+ assertEquals( "child-dep-c", props.getProperty( "project.dependencies.2.artifactId" ) );
+ assertEquals( "child-dep-d", props.getProperty( "project.dependencies.3.artifactId" ) );
+ assertEquals( "2", props.getProperty( "project.dependencyManagement.dependencies" ) );
+ assertEquals( "parent-dep-a", props.getProperty( "project.dependencyManagement.dependencies.0.artifactId" ) );
+ assertEquals( "child-dep-a", props.getProperty( "project.dependencyManagement.dependencies.1.artifactId" ) );
+
basedir = new File( verifier.getBasedir(), "test-3/sub-parent/child-a" );
props = verifier.loadProperties( "test-3/sub-parent/child-a/target/pom.properties" );
assertEquals( "../pom.xml", props.getProperty( "project.originalModel.parent.relativePath" ) );
Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3843/test-2/child-2/pom.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3843/test-2/child-2/pom.xml?rev=719891&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3843/test-2/child-2/pom.xml (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3843/test-2/child-2/pom.xml Sat Nov 22 10:26:27 2008
@@ -0,0 +1,201 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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>
+
+ <!--
+ This POM specifies values for most of the model to check overriding/merging with the stuff inherited from its parent.
+ -->
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-1</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <groupId>org.apache.maven.its.mng3843.child</groupId>
+ <artifactId>child-2</artifactId>
+ <version>0.2</version>
+ <packaging>jar</packaging>
+
+ <name>child-name</name>
+ <description>child-description</description>
+ <url>http://child.url/</url>
+ <inceptionYear>2009</inceptionYear>
+ <organization>
+ <name>child-org</name>
+ <url>http://child-org.url/</url>
+ </organization>
+ <licenses>
+ <license>
+ <name>child-license</name>
+ <url>http://child.url/license</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <developers>
+ <developer>
+ <name>child-developer</name>
+ </developer>
+ </developers>
+ <contributors>
+ <contributor>
+ <name>child-contributor</name>
+ </contributor>
+ </contributors>
+
+ <mailingLists>
+ <mailingList>
+ <name>child-mailing-list</name>
+ </mailingList>
+ </mailingLists>
+
+ <prerequisites>
+ <maven>2.0.1</maven>
+ </prerequisites>
+
+ <scm>
+ <url>http://child.url/trunk</url>
+ <connection>http://child.url/scm</connection>
+ <developerConnection>https://child.url/scm</developerConnection>
+ </scm>
+ <issueManagement>
+ <url>http://child.url/issues</url>
+ </issueManagement>
+ <ciManagement>
+ <url>http://child.url/ci</url>
+ </ciManagement>
+ <distributionManagement>
+ <repository>
+ <url>http://child.url/dist</url>
+ <id>child.distros</id>
+ </repository>
+ <snapshotRepository>
+ <url>http://child.url/snaps</url>
+ <id>child.snaps</id>
+ </snapshotRepository>
+ <site>
+ <url>http://child.url/site</url>
+ <id>child.site</id>
+ </site>
+ <downloadUrl>http://child.url/download</downloadUrl>
+ <relocation>
+ <message>child-reloc-msg</message>
+ </relocation>
+ </distributionManagement>
+
+ <properties>
+ <childProperty>child-property</childProperty>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-dep-a</artifactId>
+ <version>2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>child-dep-a</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-dep-b</artifactId>
+ <version>2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>child-dep-b</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>child-dep-c</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>child-dep-d</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+
+ <repositories>
+ <repository>
+ <id>child-remote-repo</id>
+ <url>http://child.url/remote</url>
+ </repository>
+ </repositories>
+
+ <build>
+ <defaultGoal>validate</defaultGoal>
+ <directory>build</directory>
+ <sourceDirectory>sources/main</sourceDirectory>
+ <scriptSourceDirectory>sources/scripts</scriptSourceDirectory>
+ <testSourceDirectory>sources/test</testSourceDirectory>
+ <outputDirectory>build/main</outputDirectory>
+ <testOutputDirectory>build/test</testOutputDirectory>
+ <finalName>coreit</finalName>
+ <resources>
+ <resource>
+ <directory>resources/main</directory>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>resources/test</directory>
+ </testResource>
+ </testResources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-expression</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <phase>validate</phase>
+ <goals>
+ <goal>eval</goal>
+ </goals>
+ <configuration>
+ <outputFile>target/pom.properties</outputFile>
+ <expressions>
+ <expression>project</expression>
+ </expressions>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <reporting>
+ <excludeDefaults>false</excludeDefaults>
+ <outputDirectory>docs</outputDirectory>
+ </reporting>
+</project>
Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3843/test-2/child-2/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3843/test-2/child-2/pom.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3843/test-2/pom.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3843/test-2/pom.xml?rev=719891&r1=719890&r2=719891&view=diff
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3843/test-2/pom.xml (original)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3843/test-2/pom.xml Sat Nov 22 10:26:27 2008
@@ -70,6 +70,7 @@
<modules>
<module>child-1</module>
+ <module>child-2</module>
</modules>
<scm>
@@ -109,7 +110,7 @@
<dependencyManagement>
<dependencies>
<dependency>
- <groupId>org.apache.maven.its.mng384X</groupId>
+ <groupId>org.apache.maven.its.mng3843</groupId>
<artifactId>parent-dep-a</artifactId>
<version>1</version>
<scope>test</scope>
@@ -118,7 +119,7 @@
</dependencyManagement>
<dependencies>
<dependency>
- <groupId>org.apache.maven.its.mng384X</groupId>
+ <groupId>org.apache.maven.its.mng3843</groupId>
<artifactId>parent-dep-b</artifactId>
<version>1</version>
<scope>test</scope>