[MNG-4102] [regression] Properties used for interpolation of inherited properties can't be customized by child

o Extended IT to check interaction with profile injection as well which is apparently key to reproduce the issue

git-svn-id: https://svn.apache.org/repos/asf/maven/core-integration-testing/trunk@757532 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Benjamin Bentmann 2009-03-23 20:19:49 +00:00
parent 79d44ad7bc
commit 5e502f2068
5 changed files with 153 additions and 2 deletions

View File

@ -43,11 +43,30 @@ public class MavenITmng4102InheritedPropertyInterpolationTest
/** /**
* Verify that the effective value of an inherited property reflects the values of any nested property * Verify that the effective value of an inherited property reflects the values of any nested property
* as defined by the child. This boils down to the order of inheritance and (parent) interpolation. * as defined by the child. This boils down to the order of inheritance and (parent) interpolation.
* This variation of the test has no profiles.
*/ */
public void testitMNG4102() public void testitNoProfiles()
throws Exception throws Exception
{ {
File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4102" ); testit( "no-profile" );
}
/**
* Verify that the effective value of an inherited property reflects the values of any nested property
* as defined by the child. This boils down to the order of inheritance and (parent) interpolation.
* This variation of the test has active profiles in parent and child (which should make no difference
* to the result).
*/
public void testitActiveProfiles()
throws Exception
{
testit( "active-profile" );
}
private void testit( String project )
throws Exception
{
File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4102/" + project );
Verifier verifier = new Verifier( new File( testDir, "sub" ).getAbsolutePath() ); Verifier verifier = new Verifier( new File( testDir, "sub" ).getAbsolutePath() );
verifier.setAutoclean( false ); verifier.setAutoclean( false );

View File

@ -0,0 +1,52 @@
<?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>
<groupId>org.apache.maven.its.mng4102</groupId>
<artifactId>parent</artifactId>
<version>0.1</version>
<packaging>pom</packaging>
<name>Maven Integration Test :: MNG-4102</name>
<description>
Verify that the effective value of an inherited property reflects the values of any nested property
as defined by the child. This boils down to the order of inheritance and (parent) interpolation.
This variation of the test has active profiles in parent and child (which should make no difference
to the result).
</description>
<properties>
<overridden>PARENT</overridden>
<!-- Test the effective value of this property in the child when "overridden" is defined by child as well -->
<interpolated>${overridden}</interpolated>
</properties>
<profiles>
<profile>
<id>it-parent</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
</profiles>
</project>

View File

@ -0,0 +1,80 @@
<?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>
<parent>
<groupId>org.apache.maven.its.mng4102</groupId>
<artifactId>parent</artifactId>
<version>0.1</version>
</parent>
<groupId>org.apache.maven.its.mng4102</groupId>
<artifactId>test</artifactId>
<version>0.1</version>
<packaging>jar</packaging>
<name>Maven Integration Test :: MNG-4102 :: Child</name>
<description>
Verify that the effective value of an inherited property reflects the values of any nested property
as defined by the child. This boils down to the order of inheritance and (parent) interpolation.
This variation of the test has active profiles in parent and child (which should make no difference
to the result).
</description>
<properties>
<overridden>CHILD</overridden>
</properties>
<profiles>
<profile>
<id>it-child</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
</profiles>
<build>
<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/properties</expression>
</expressions>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>