Author: jdcasey
Date: Thu Apr 17 16:51:52 2008
New Revision: 649331
URL: http://svn.apache.org/viewvc?rev=649331&view=rev
Log:
[MNG-3482] Adding an integration test to verify this fix.
Added:
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3482DependencyPomInterpolationTest.java
(with props)
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/pom.xml
(with props)
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/readme.txt
(with props)
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep/1/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep/1/dep-1.pom
(with props)
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.jar
(with props)
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.pom
(with props)
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/settings.xml.in
(with props)
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/tests/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/tests/mng3482/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/tests/mng3482/AppMNG3482.java
(with props)
Modified:
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java
Modified:
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java?rev=649331&r1=649330&r2=649331&view=diff
==============================================================================
---
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java
(original)
+++
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java
Thu Apr 17 16:51:52 2008
@@ -67,6 +67,7 @@
suite.addTestSuite( MavenITmng3498ForkToOtherMojoTest.class );
suite.addTestSuite( MavenITmng3485OverrideWagonExtensionTest.class );
+ suite.addTestSuite( MavenITmng3482DependencyPomInterpolationTest.class
);
suite.addTestSuite( MavenITmng3473PluginReportCrash.class );
suite.addTestSuite(
MavenITmng3428PluginDescriptorArtifactsIncompleteTest.class );
suite.addTestSuite( MavenITmng3426PluginsClasspathOverrideTest.class );
Added:
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3482DependencyPomInterpolationTest.java
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3482DependencyPomInterpolationTest.java?rev=649331&view=auto
==============================================================================
---
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3482DependencyPomInterpolationTest.java
(added)
+++
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3482DependencyPomInterpolationTest.java
Thu Apr 17 16:51:52 2008
@@ -0,0 +1,160 @@
+/*
+ * 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.
+ */
+
+package org.apache.maven.integrationtests;
+
+import
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.IOUtil;
+import org.apache.maven.it.util.ResourceExtractor;
+import org.apache.maven.it.util.StringUtils;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.Writer;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * This is a test set for <a
href="http://jira.codehaus.org/browse/MNG-3482">MNG-3482</a>.
+ *
+ * @todo Fill in a better description of what this test verifies!
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Brian Fox</a>
+ * @author jdcasey
+ *
+ */
+public class MavenITmng3482DependencyPomInterpolationTest
+ extends AbstractMavenIntegrationTestCase
+{
+ public MavenITmng3482DependencyPomInterpolationTest()
+ throws InvalidVersionSpecificationException
+ {
+ super( "(2.0.8,)" ); // only test in 2.0.9+
+ }
+
+ public void testitMNG3482()
+ throws Exception
+ {
+ // The testdir is computed from the location of this
+ // file.
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(),
"/mng-3482" );
+
+ File settings = writeSettings( testDir );
+
+ Verifier verifier;
+
+ /*
+ * We must first make sure that any artifact created
+ * by this test has been removed from the local
+ * repository. Failing to do this could cause
+ * unstable test results. Fortunately, the verifier
+ * makes it easy to do this.
+ */
+ verifier = new Verifier( testDir.getAbsolutePath() );
+
+ verifier.deleteArtifact( "org.apache.maven.its.mng3482", "mng-3482",
"1", "pom" );
+ verifier.deleteArtifact( "org.apache.maven.its.mng3482", "mng-3482",
"1", "jar" );
+ verifier.deleteArtifact( "test", "dep", "1", "pom" );
+ verifier.deleteArtifact( "test", "dep2", "1", "pom" );
+ verifier.deleteArtifact( "test", "dep2", "1", "jar" );
+
+ /*
+ * The Command Line Options (CLI) are passed to the
+ * verifier as a list. This is handy for things like
+ * redefining the local repository if needed. In
+ * this case, we use the -N flag so that Maven won't
+ * recurse. We are only installing the parent pom to
+ * the local repo here.
+ */
+ List cliOptions = new ArrayList();
+
+ cliOptions.add( "-s" );
+ cliOptions.add( settings.getAbsolutePath() );
+ cliOptions.add( "-X" );
+
+ verifier.setCliOptions( cliOptions );
+
+ verifier.executeGoal( "compile" );
+
+ /*
+ * This is the simplest way to check a build
+ * succeeded. It is also the simplest way to create
+ * an IT test: make the build pass when the test
+ * should pass, and make the build fail when the
+ * test should fail. There are other methods
+ * supported by the verifier. They can be seen here:
+ * http://maven.apache.org/shared/maven-verifier/apidocs/index.html
+ */
+ verifier.verifyErrorFreeLog();
+
+ /*
+ * Reset the streams before executing the verifier
+ * again.
+ */
+ verifier.resetStreams();
+ }
+
+ private File writeSettings( File testDir )
+ throws IOException
+ {
+ File settingsIn = new File( testDir, "settings.xml.in" );
+
+ String settingsContent = null;
+ Reader reader = null;
+ try
+ {
+ reader = new FileReader( settingsIn );
+ settingsContent = IOUtil.toString( reader );
+ }
+ finally
+ {
+ IOUtil.close( reader );
+ }
+
+ settingsContent = StringUtils.replace( settingsContent,
+ "@TESTDIR@",
+ testDir.getAbsolutePath() );
+
+ File settingsOut = new File( testDir, "settings.xml" );
+
+ System.out.println( "Writing tets settings to: " + settingsOut );
+
+ if ( settingsOut.exists() )
+ {
+ settingsOut.delete();
+ }
+
+ Writer writer = null;
+ try
+ {
+ writer = new FileWriter( settingsOut );
+ IOUtil.copy( settingsContent, writer );
+ }
+ finally
+ {
+ IOUtil.close( writer );
+ }
+
+ return settingsOut;
+ }
+}
Propchange:
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3482DependencyPomInterpolationTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3482DependencyPomInterpolationTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/pom.xml
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/pom.xml?rev=649331&view=auto
==============================================================================
---
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/pom.xml
(added)
+++
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/pom.xml
Thu Apr 17 16:51:52 2008
@@ -0,0 +1,23 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.its.mng3482</groupId>
+ <artifactId>mng-3482</artifactId>
+ <packaging>jar</packaging>
+ <version>1</version>
+
+ <name>Integration Test Project for MNG-3482</name>
+ <description>
+ This project verifies that MNG-3482 is fixed. It is controlled by a JUnit
test called org.apache.maven.integrationtests.MNG3482Test
+ </description>
+
+ <url>http://jira.codehaus.org/browse/MNG-3482</url>
+
+ <dependencies>
+ <dependency>
+ <groupId>test</groupId>
+ <artifactId>dep</artifactId>
+ <version>1</version>
+ <type>pom</type>
+ </dependency>
+ </dependencies>
+</project>
Propchange:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/readme.txt
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/readme.txt?rev=649331&view=auto
==============================================================================
---
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/readme.txt
(added)
+++
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/readme.txt
Thu Apr 17 16:51:52 2008
@@ -0,0 +1 @@
+Fill this in with a description of the scenario this test attempts to check.
Also include instructions for running the test manually from the command line.
\ No newline at end of file
Propchange:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/readme.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/readme.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep/1/dep-1.pom
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep/1/dep-1.pom?rev=649331&view=auto
==============================================================================
---
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep/1/dep-1.pom
(added)
+++
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep/1/dep-1.pom
Thu Apr 17 16:51:52 2008
@@ -0,0 +1,14 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>test</groupId>
+ <artifactId>dep</artifactId>
+ <version>1</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>test</groupId>
+ <artifactId>dep2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
Propchange:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep/1/dep-1.pom
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep/1/dep-1.pom
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.jar
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.jar?rev=649331&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.pom
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.pom?rev=649331&view=auto
==============================================================================
---
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.pom
(added)
+++
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.pom
Thu Apr 17 16:51:52 2008
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>test</groupId>
+ <artifactId>dep2</artifactId>
+ <version>1</version>
+
+</project>
\ No newline at end of file
Propchange:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.pom
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.pom
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/settings.xml.in
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/settings.xml.in?rev=649331&view=auto
==============================================================================
---
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/settings.xml.in
(added)
+++
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/settings.xml.in
Thu Apr 17 16:51:52 2008
@@ -0,0 +1,22 @@
+<settings>
+ <profiles>
+ <profile>
+ <id>remote-repository</id>
+ <repositories>
+ <repository>
+ <id>testing-repo</id>
+ <url>file://@TESTDIR@/repo</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>testing-repo</id>
+ <url>file://@TESTDIR@/repo</url>
+ </pluginRepository>
+ </pluginRepositories>
+ </profile>
+ </profiles>
+ <activeProfiles>
+ <activeProfile>remote-repository</activeProfile>
+ </activeProfiles>
+</settings>
\ No newline at end of file
Propchange:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/settings.xml.in
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/settings.xml.in
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/tests/mng3482/AppMNG3482.java
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/tests/mng3482/AppMNG3482.java?rev=649331&view=auto
==============================================================================
---
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/tests/mng3482/AppMNG3482.java
(added)
+++
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/tests/mng3482/AppMNG3482.java
Thu Apr 17 16:51:52 2008
@@ -0,0 +1,5 @@
+package tests.mng3482;
+
+import test.dep2.App;
+
+public class AppMNG3482{}
\ No newline at end of file
Propchange:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/tests/mng3482/AppMNG3482.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/tests/mng3482/AppMNG3482.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"