Author: jdcasey
Date: Mon Feb 9 21:40:35 2009
New Revision: 742749
URL: http://svn.apache.org/viewvc?rev=742749&view=rev
Log:
[MNG-3023] Updating integration test to check three distinct cases where
sibling dependencies might be referenced.
Added:
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/consumer/
(props changed)
- copied from r742616,
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/project/main/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/
(props changed)
- copied from r742616,
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/project/dependency/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/src/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/src/main/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/src/main/java/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/src/main/java/org/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/src/main/java/org/apache/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/src/main/java/org/apache/maven/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/src/main/java/org/apache/maven/debug/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/src/main/java/org/apache/maven/debug/mng2720/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/src/main/java/org/apache/maven/debug/mng2720/App.java
(with props)
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/pom.xml
(contents, props changed)
- copied, changed from r742616,
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/project/pom.xml
Removed:
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/plugin/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/project/dependency/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/project/main/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/project/pom.xml
Modified:
maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3023ReactorDependencyResolutionTest.java
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/consumer/pom.xml
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/pom.xml
Modified:
maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java?rev=742749&r1=742748&r2=742749&view=diff
==============================================================================
---
maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
(original)
+++
maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
Mon Feb 9 21:40:35 2009
@@ -208,6 +208,7 @@
suite.addTestSuite( MavenITmng3106ProfileMultipleActivatorsTest.class
);
suite.addTestSuite( MavenITmng3099SettingsProfilesWithNoPomTest.class
);
suite.addTestSuite( MavenITmng3052DepRepoAggregationTest.class );
+ suite.addTestSuite(
MavenITmng3023ReactorDependencyResolutionTest.class );
suite.addTestSuite( MavenITmng3012CoreClassImportTest.class );
suite.addTestSuite( MavenITmng2972OverridePluginDependencyTest.class );
suite.addTestSuite( MavenITmng2926PluginPrefixOrderTest.class );
Modified:
maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3023ReactorDependencyResolutionTest.java
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3023ReactorDependencyResolutionTest.java?rev=742749&r1=742748&r2=742749&view=diff
==============================================================================
---
maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3023ReactorDependencyResolutionTest.java
(original)
+++
maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3023ReactorDependencyResolutionTest.java
Mon Feb 9 21:40:35 2009
@@ -23,11 +23,14 @@
import org.apache.maven.it.util.ResourceExtractor;
import java.io.File;
+import java.util.Iterator;
+import java.util.List;
/**
* This is a test set for <a
href="http://jira.codehaus.org/browse/MNG-3023">MNG-3023</a>
*
* @author Mark Hobson
+ * @author jdcasey
* @version $Id$
*/
public class MavenITmng3023ReactorDependencyResolutionTest
@@ -35,20 +38,112 @@
{
/**
* Test that reactor projects are included in dependency resolution.
+ *
+ * In this pass, the dependency artifact should be missing from the local
repository, and since
+ * the 'compile' phase has not been called, the dependency project
artifact should not have a
+ * file associated with it. Therefore, the dependency artifact should fail
to resolve, and the
+ * build should fail.
*/
- public void testitMNG3023()
+ public void testitMNG3023A() throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(),
"/mng-3023" );
+
+ // First pass. Make sure the dependency cannot be resolved.
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+
+ verifier.deleteArtifact( "org.apache.maven.its.mng3023", "dependency",
"1", "jar" );
+
+ try
+ {
+ verifier.executeGoal( "initialize" );
+ fail( "Expected failure to resolve dependency artifact without at
least calling 'compile' phase." );
+ }
+ catch ( VerificationException e )
+ {
+ // expected.
+ }
+ finally
+ {
+ verifier.resetStreams();
+ }
+ }
+
+ /**
+ * Test that reactor projects are included in dependency resolution.
+ *
+ * I this pass, the dependency artifact should have the file
$(basedir)/dependency/target/classes
+ * (a directory) associated with it, since the 'compile' phase has run.
This location should be
+ * present in the compile classpath output from the
maven-it-plugin-dependency-resolution:compile
+ * mojo execution.
+ */
+ public void testitMNG3023B()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(),
"/mng-3023" );
+
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+
+ verifier.deleteArtifact( "org.apache.maven.its.mng3023", "dependency",
"1", "jar" );
+
+ verifier.executeGoal( "compile" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+
+ List compileClassPath = verifier.loadLines(
"consumer/target/compile.classpath", "UTF-8" );
+ assertTrue( find( "dependency/target/classes", compileClassPath ) );
+ assertFalse( find( "dependency-1.jar", compileClassPath ) );
+ }
+
+ /**
+ * Test that reactor projects are included in dependency resolution.
+ *
+ * I this pass, the dependency should have been installed, so the
dependency artifact should have
+ * a file of .../dependency-1.jar associated with it, since the 'install'
phase has run. This
+ * location should be present in the compile classpath output from the
+ * maven-it-plugin-dependency-resolution:compile mojo execution.
+ *
+ * Afterwards, the a separate Maven call to the 'initialize' phase should
succeed, since the
+ * dependency artifact has been installed locally. This second execution
should use the jar file
+ * from the local repository in its classpath output.
+ */
+ public void testitMNG3023C()
throws Exception
{
- File testDir = ResourceExtractor.simpleExtractResources( getClass(),
"/mng-3023/plugin" );
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(),
"/mng-3023" );
+
Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+
+ verifier.deleteArtifact( "org.apache.maven.its.mng3023", "dependency",
"1", "jar" );
+
verifier.executeGoal( "install" );
verifier.verifyErrorFreeLog();
verifier.resetStreams();
- testDir = ResourceExtractor.simpleExtractResources( getClass(),
"/mng-3023/project" );
- verifier = new Verifier( testDir.getAbsolutePath() );
- verifier.executeGoal(
"org.apache.maven.its.it0122:maven-it-it0122-plugin:1.0:test" );
+ List compileClassPath = verifier.loadLines(
"consumer/target/compile.classpath", "UTF-8" );
+ assertTrue( find( "dependency-1.jar", compileClassPath ) );
+ assertFalse( find( "dependency/target/classes", compileClassPath ) );
+
+ verifier.executeGoal( "initialize" );
verifier.verifyErrorFreeLog();
verifier.resetStreams();
+
+ compileClassPath = verifier.loadLines(
"consumer/target/compile.classpath", "UTF-8" );
+ assertTrue( find( "dependency-1.jar", compileClassPath ) );
+ assertFalse( find( "dependency/target/classes", compileClassPath ) );
+ }
+
+ private boolean find( String pathSubstr, List classPath )
+ {
+ for ( Iterator it = classPath.iterator(); it.hasNext(); )
+ {
+ String path = (String) it.next();
+
+ if ( path.indexOf( pathSubstr ) > -1 )
+ {
+ return true;
+ }
+ }
+
+ return false;
}
}
Propchange:
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/consumer/
------------------------------------------------------------------------------
svn:mergeinfo =
Modified:
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/consumer/pom.xml
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/consumer/pom.xml?rev=742749&r1=742616&r2=742749&view=diff
==============================================================================
---
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/consumer/pom.xml
(original)
+++
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/consumer/pom.xml
Mon Feb 9 21:40:35 2009
@@ -1,14 +1,40 @@
<project>
<modelVersion>4.0.0</modelVersion>
- <name>Maven Integration Test :: it0122 :: Main</name>
- <groupId>org.apache.maven.its.it0122</groupId>
- <artifactId>maven-it-it0122-main</artifactId>
- <version>1.0</version>
+ <parent>
+ <groupId>org.apache.maven.its.mng3023</groupId>
+ <artifactId>parent</artifactId>
+ <version>1</version>
+ </parent>
+
+ <artifactId>consumer</artifactId>
+
<dependencies>
<dependency>
- <groupId>org.apache.maven.its.it0122</groupId>
- <artifactId>maven-it-it0122-dependency</artifactId>
- <version>1.0</version>
+ <groupId>org.apache.maven.its.mng3023</groupId>
+ <artifactId>dependency</artifactId>
+ <version>1</version>
</dependency>
</dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-dependency-resolution</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>compile-classpath</id>
+ <phase>initialize</phase>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ <configuration>
+
<compileClassPath>${project.build.directory}/compile.classpath</compileClassPath>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
</project>
Propchange:
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/
------------------------------------------------------------------------------
svn:mergeinfo =
Modified:
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/pom.xml
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/pom.xml?rev=742749&r1=742616&r2=742749&view=diff
==============================================================================
---
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/pom.xml
(original)
+++
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/pom.xml
Mon Feb 9 21:40:35 2009
@@ -1,7 +1,10 @@
<project>
<modelVersion>4.0.0</modelVersion>
- <name>Maven Integration Test :: it0122 :: Dependency</name>
- <groupId>org.apache.maven.its.it0122</groupId>
- <artifactId>maven-it-it0122-dependency</artifactId>
- <version>1.0</version>
+ <parent>
+ <groupId>org.apache.maven.its.mng3023</groupId>
+ <artifactId>parent</artifactId>
+ <version>1</version>
+ </parent>
+
+ <artifactId>dependency</artifactId>
</project>
Added:
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/src/main/java/org/apache/maven/debug/mng2720/App.java
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/src/main/java/org/apache/maven/debug/mng2720/App.java?rev=742749&view=auto
==============================================================================
---
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/src/main/java/org/apache/maven/debug/mng2720/App.java
(added)
+++
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/src/main/java/org/apache/maven/debug/mng2720/App.java
Mon Feb 9 21:40:35 2009
@@ -0,0 +1,13 @@
+package org.apache.maven.debug.mng2720;
+
+/**
+ * Hello world!
+ *
+ */
+public class App
+{
+ public static void main( String[] args )
+ {
+ System.out.println( "Hello World!" );
+ }
+}
Propchange:
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/dependency/src/main/java/org/apache/maven/debug/mng2720/App.java
------------------------------------------------------------------------------
svn:eol-style = native
Copied:
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/pom.xml
(from r742616,
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/project/pom.xml)
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/pom.xml?p2=maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/pom.xml&p1=maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/project/pom.xml&r1=742616&r2=742749&rev=742749&view=diff
==============================================================================
---
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/project/pom.xml
(original)
+++
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/pom.xml
Mon Feb 9 21:40:35 2009
@@ -1,13 +1,13 @@
<project>
<modelVersion>4.0.0</modelVersion>
- <name>Maven Integration Test :: it0122</name>
<description>Test that reactor projects are included in dependency
resolution.</description>
- <groupId>org.apache.maven.its.it0122</groupId>
- <artifactId>maven-it-it0122</artifactId>
+ <groupId>org.apache.maven.its.mng3023</groupId>
+ <artifactId>parent</artifactId>
+ <version>1</version>
<packaging>pom</packaging>
- <version>1.0</version>
+
<modules>
<module>dependency</module>
- <module>main</module>
+ <module>consumer</module>
</modules>
</project>
Propchange:
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3023/pom.xml
------------------------------------------------------------------------------
svn:mergeinfo =