You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2009/02/07 03:51:24 UTC
svn commit: r741834 - in
/maven/core-integration-testing/trunk/core-it-suite/src/test:
java/org/apache/maven/it/ resources/mng-2720/ resources/mng-2720/plugin/
resources/mng-2720/plugin/src/ resources/mng-2720/plugin/src/main/
resources/mng-2720/plugin...
Author: jdcasey
Date: Sat Feb 7 02:51:21 2009
New Revision: 741834
URL: http://svn.apache.org/viewvc?rev=741834&view=rev
Log:
[MNG-2720] Adding integration test.
Added:
maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2720SiblingClasspathArtifactsTest.java (with props)
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/pom.xml (with props)
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/apache/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/apache/maven/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/apache/maven/debug/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/apache/maven/debug/mng2720/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/apache/maven/debug/mng2720/ClasspathMojo.java (with props)
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/test/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/pom.xml (with props)
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/main/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/main/java/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/main/java/org/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/main/java/org/apache/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/main/java/org/apache/maven/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/main/java/org/apache/maven/debug/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/main/java/org/apache/maven/debug/mng2720/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/main/java/org/apache/maven/debug/mng2720/App.java (with props)
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/apache/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/apache/maven/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/apache/maven/debug/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/apache/maven/debug/mng2720/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/apache/maven/debug/mng2720/AppTest.java (with props)
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/pom.xml (with props)
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/main/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/main/java/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/main/java/org/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/main/java/org/apache/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/main/java/org/apache/maven/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/main/java/org/apache/maven/debug/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/main/java/org/apache/maven/debug/mng2720/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/main/java/org/apache/maven/debug/mng2720/App.java (with props)
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/test/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/test/java/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/test/java/org/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/test/java/org/apache/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/test/java/org/apache/maven/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/test/java/org/apache/maven/debug/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/test/java/org/apache/maven/debug/mng2720/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/test/java/org/apache/maven/debug/mng2720/AppTest.java (with props)
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/pom.xml (with props)
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/main/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/main/java/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/main/java/org/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/main/java/org/apache/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/main/java/org/apache/maven/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/main/java/org/apache/maven/debug/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/main/java/org/apache/maven/debug/mng2720/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/main/java/org/apache/maven/debug/mng2720/App.java (with props)
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/test/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/test/java/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/test/java/org/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/test/java/org/apache/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/test/java/org/apache/maven/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/test/java/org/apache/maven/debug/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/test/java/org/apache/maven/debug/mng2720/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/test/java/org/apache/maven/debug/mng2720/AppTest.java (with props)
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/pom.xml (with props)
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/main/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/main/java/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/main/java/org/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/main/java/org/apache/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/main/java/org/apache/maven/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/main/java/org/apache/maven/debug/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/main/java/org/apache/maven/debug/mng2720/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/main/java/org/apache/maven/debug/mng2720/App.java (with props)
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/test/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/test/java/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/test/java/org/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/test/java/org/apache/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/test/java/org/apache/maven/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/test/java/org/apache/maven/debug/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/test/java/org/apache/maven/debug/mng2720/
maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/test/java/org/apache/maven/debug/mng2720/AppTest.java (with props)
Modified:
maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
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=741834&r1=741833&r2=741834&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 Sat Feb 7 02:51:21 2009
@@ -223,6 +223,7 @@
suite.addTestSuite( MavenITmng2749ExtensionAvailableToPluginTest.class );
suite.addTestSuite( MavenITmng2744checksumVerificationTest.class );
suite.addTestSuite( MavenITmng2739RequiredRepositoryElementsTest.class );
+ suite.addTestSuite( MavenITmng2720SiblingClasspathArtifactsTest.class );
suite.addTestSuite( MavenITmng2695OfflinePluginSnapshotsTest.class );
suite.addTestSuite( MavenITmng2668UsePluginDependenciesForSortingTest.class );
suite.addTestSuite( MavenITmng2605BogusProfileActivationTest.class );
Added: maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2720SiblingClasspathArtifactsTest.java
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2720SiblingClasspathArtifactsTest.java?rev=741834&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2720SiblingClasspathArtifactsTest.java (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2720SiblingClasspathArtifactsTest.java Sat Feb 7 02:51:21 2009
@@ -0,0 +1,71 @@
+/*
+ * 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.it;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
+import org.apache.maven.it.AbstractMavenIntegrationTestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+/**
+ * This is a test set for <a href="http://jira.codehaus.org/browse/MNG-2720">MNG-2720</a>.
+ *
+ * This test will ensure that running the 'package' phase on a multimodule build with child
+ * interdependency will result in one child using the JAR of the other child in its compile
+ * classpath, NOT the target/classes directory. This is critical, since sibling projects might
+ * use literally ANY artifact produced by another module project, and limiting to target/classes
+ * and target/test-classes eliminates many of the options that would be possible if the dependent
+ * sibling were built on its own.
+ *
+ * @author jdcasey
+ *
+ */
+public class MavenITmng2720SiblingClasspathArtifactsTest
+ extends AbstractMavenIntegrationTestCase
+{
+ public MavenITmng2720SiblingClasspathArtifactsTest()
+ throws InvalidVersionSpecificationException
+ {
+ super( "(2.0.99,2.99.99)" );
+ }
+
+ public void testIT ()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-2720" );
+ File pluginDir = new File( testDir, "plugin" );
+ File projectDir = new File( testDir, "project-hierarchy" );
+
+ // First, install the plugin used for the test.
+ Verifier verifier = new Verifier( pluginDir.getAbsolutePath() );
+ verifier.executeGoal( "install" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+
+ // Now, build the project hierarchy that uses the plugin to verify sibling dependencies.
+ verifier = new Verifier( projectDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.verifyErrorFreeLog();
+ }
+}
Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2720SiblingClasspathArtifactsTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/pom.xml?rev=741834&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/pom.xml (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/pom.xml Sat Feb 7 02:51:21 2009
@@ -0,0 +1,21 @@
+<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.mng2720</groupId>
+ <artifactId>maven-mng2720-plugin</artifactId>
+ <packaging>maven-plugin</packaging>
+ <version>1</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0.9</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>2.0.9</version>
+ </dependency>
+ </dependencies>
+</project>
Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/apache/maven/debug/mng2720/ClasspathMojo.java
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/apache/maven/debug/mng2720/ClasspathMojo.java?rev=741834&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/apache/maven/debug/mng2720/ClasspathMojo.java (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/apache/maven/debug/mng2720/ClasspathMojo.java Sat Feb 7 02:51:21 2009
@@ -0,0 +1,88 @@
+package org.apache.maven.debug.mng2720;
+
+import org.apache.maven.artifact.DependencyResolutionRequiredException;
+import org.apache.maven.plugin.Mojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.project.MavenProject;
+
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * @goal test
+ * @requiresDependencyResolution compile
+ * @phase package
+ */
+public class ClasspathMojo
+ implements Mojo
+{
+
+ /**
+ * @parameter default-value="${project}"
+ * @readonly
+ */
+ private MavenProject project;
+
+ /**
+ * @parameter default-value="${project.compileClasspathElements}"
+ * @readonly
+ */
+ private List compileClasspathElements;
+
+ private Log log;
+
+ public void execute() throws MojoExecutionException, MojoFailureException
+ {
+ if ( "child2".equals( project.getArtifactId() ) )
+ {
+ boolean found = false;
+ for ( Iterator it = compileClasspathElements.iterator(); it.hasNext(); )
+ {
+ String path = (String) it.next();
+ if ( path.indexOf( "child1-1.jar" ) > -1 )
+ {
+ found = true;
+ break;
+ }
+ }
+
+ if ( !found )
+ {
+ throw new MojoExecutionException( "child1-1.jar dependency artifact path not found in compile classpath for project: " + project.getId() );
+ }
+ }
+ else if ( "child3".equals( project.getArtifactId() ) )
+ {
+ boolean found = false;
+ for ( Iterator it = compileClasspathElements.iterator(); it.hasNext(); )
+ {
+ String path = (String) it.next();
+ if ( path.indexOf( "child1-1-tests.jar" ) > -1 )
+ {
+ found = true;
+ break;
+ }
+ }
+
+ if ( !found )
+ {
+ throw new MojoExecutionException( "child1-1-tests.jar dependency artifact path not found in compile classpath for project: " + project.getId() );
+ }
+ }
+
+ log.info( "Tests succeeded." );
+ }
+
+ public Log getLog()
+ {
+ return log;
+ }
+
+ public void setLog( Log log )
+ {
+ this.log = log;
+ }
+
+}
Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/apache/maven/debug/mng2720/ClasspathMojo.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/pom.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/pom.xml?rev=741834&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/pom.xml (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/pom.xml Sat Feb 7 02:51:21 2009
@@ -0,0 +1,38 @@
+<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>
+ <parent>
+ <groupId>org.apache.maven.its.mng2720</groupId>
+ <artifactId>project-hierarchy</artifactId>
+ <version>1</version>
+ </parent>
+
+ <artifactId>child1</artifactId>
+
+ <name>MNG-2720 Project Hierarchy 1 Child 1</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>test-jar</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/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-2720/project-hierarchy/child1/src/main/java/org/apache/maven/debug/mng2720/App.java?rev=741834&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/main/java/org/apache/maven/debug/mng2720/App.java (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/main/java/org/apache/maven/debug/mng2720/App.java Sat Feb 7 02:51:21 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-2720/project-hierarchy/child1/src/main/java/org/apache/maven/debug/mng2720/App.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/apache/maven/debug/mng2720/AppTest.java
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/apache/maven/debug/mng2720/AppTest.java?rev=741834&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/apache/maven/debug/mng2720/AppTest.java (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/apache/maven/debug/mng2720/AppTest.java Sat Feb 7 02:51:21 2009
@@ -0,0 +1,38 @@
+package org.apache.maven.debug.mng2720;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+ extends TestCase
+{
+ /**
+ * Create the test case
+ *
+ * @param testName name of the test case
+ */
+ public AppTest( String testName )
+ {
+ super( testName );
+ }
+
+ /**
+ * @return the suite of tests being tested
+ */
+ public static Test suite()
+ {
+ return new TestSuite( AppTest.class );
+ }
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testApp()
+ {
+ assertTrue( true );
+ }
+}
Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/apache/maven/debug/mng2720/AppTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/pom.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/pom.xml?rev=741834&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/pom.xml (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/pom.xml Sat Feb 7 02:51:21 2009
@@ -0,0 +1,27 @@
+<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>
+ <parent>
+ <groupId>org.apache.maven.its.mng2720</groupId>
+ <artifactId>project-hierarchy</artifactId>
+ <version>1</version>
+ </parent>
+
+ <artifactId>child2</artifactId>
+
+ <name>MNG-2720 Project Hierarchy 1 Child 2</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng2720</groupId>
+ <artifactId>child1</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/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-2720/project-hierarchy/child2/src/main/java/org/apache/maven/debug/mng2720/App.java?rev=741834&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/main/java/org/apache/maven/debug/mng2720/App.java (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/main/java/org/apache/maven/debug/mng2720/App.java Sat Feb 7 02:51:21 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-2720/project-hierarchy/child2/src/main/java/org/apache/maven/debug/mng2720/App.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/test/java/org/apache/maven/debug/mng2720/AppTest.java
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/test/java/org/apache/maven/debug/mng2720/AppTest.java?rev=741834&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/test/java/org/apache/maven/debug/mng2720/AppTest.java (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/test/java/org/apache/maven/debug/mng2720/AppTest.java Sat Feb 7 02:51:21 2009
@@ -0,0 +1,38 @@
+package org.apache.maven.debug.mng2720;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+ extends TestCase
+{
+ /**
+ * Create the test case
+ *
+ * @param testName name of the test case
+ */
+ public AppTest( String testName )
+ {
+ super( testName );
+ }
+
+ /**
+ * @return the suite of tests being tested
+ */
+ public static Test suite()
+ {
+ return new TestSuite( AppTest.class );
+ }
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testApp()
+ {
+ assertTrue( true );
+ }
+}
Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child2/src/test/java/org/apache/maven/debug/mng2720/AppTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/pom.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/pom.xml?rev=741834&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/pom.xml (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/pom.xml Sat Feb 7 02:51:21 2009
@@ -0,0 +1,28 @@
+<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>
+ <parent>
+ <groupId>org.apache.maven.its.mng2720</groupId>
+ <artifactId>project-hierarchy</artifactId>
+ <version>1</version>
+ </parent>
+
+ <artifactId>child3</artifactId>
+
+ <name>MNG-2720 Project Hierarchy 1 Child 3</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng2720</groupId>
+ <artifactId>child1</artifactId>
+ <version>1</version>
+ <type>test-jar</type>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/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-2720/project-hierarchy/child3/src/main/java/org/apache/maven/debug/mng2720/App.java?rev=741834&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/main/java/org/apache/maven/debug/mng2720/App.java (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/main/java/org/apache/maven/debug/mng2720/App.java Sat Feb 7 02:51:21 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-2720/project-hierarchy/child3/src/main/java/org/apache/maven/debug/mng2720/App.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/test/java/org/apache/maven/debug/mng2720/AppTest.java
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/test/java/org/apache/maven/debug/mng2720/AppTest.java?rev=741834&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/test/java/org/apache/maven/debug/mng2720/AppTest.java (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/test/java/org/apache/maven/debug/mng2720/AppTest.java Sat Feb 7 02:51:21 2009
@@ -0,0 +1,38 @@
+package org.apache.maven.debug.mng2720;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+ extends TestCase
+{
+ /**
+ * Create the test case
+ *
+ * @param testName name of the test case
+ */
+ public AppTest( String testName )
+ {
+ super( testName );
+ }
+
+ /**
+ * @return the suite of tests being tested
+ */
+ public static Test suite()
+ {
+ return new TestSuite( AppTest.class );
+ }
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testApp()
+ {
+ assertTrue( true );
+ }
+}
Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child3/src/test/java/org/apache/maven/debug/mng2720/AppTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/pom.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/pom.xml?rev=741834&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/pom.xml (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/pom.xml Sat Feb 7 02:51:21 2009
@@ -0,0 +1,34 @@
+<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.mng2720</groupId>
+ <artifactId>project-hierarchy</artifactId>
+ <packaging>pom</packaging>
+ <version>1</version>
+ <name>MNG-2720 Project Hierarchy 1</name>
+
+ <modules>
+ <module>child1</module>
+ <module>child2</module>
+ <module>child3</module>
+ </modules>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.mng2720</groupId>
+ <artifactId>maven-mng2720-plugin</artifactId>
+ <version>1</version>
+ <executions>
+ <execution>
+ <id>test</id>
+ <phase>package</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/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-2720/project-hierarchy/src/main/java/org/apache/maven/debug/mng2720/App.java?rev=741834&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/main/java/org/apache/maven/debug/mng2720/App.java (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/main/java/org/apache/maven/debug/mng2720/App.java Sat Feb 7 02:51:21 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-2720/project-hierarchy/src/main/java/org/apache/maven/debug/mng2720/App.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/test/java/org/apache/maven/debug/mng2720/AppTest.java
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/test/java/org/apache/maven/debug/mng2720/AppTest.java?rev=741834&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/test/java/org/apache/maven/debug/mng2720/AppTest.java (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/test/java/org/apache/maven/debug/mng2720/AppTest.java Sat Feb 7 02:51:21 2009
@@ -0,0 +1,38 @@
+package org.apache.maven.debug.mng2720;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+ extends TestCase
+{
+ /**
+ * Create the test case
+ *
+ * @param testName name of the test case
+ */
+ public AppTest( String testName )
+ {
+ super( testName );
+ }
+
+ /**
+ * @return the suite of tests being tested
+ */
+ public static Test suite()
+ {
+ return new TestSuite( AppTest.class );
+ }
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testApp()
+ {
+ assertTrue( true );
+ }
+}
Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/src/test/java/org/apache/maven/debug/mng2720/AppTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Re: svn commit: r741834 - in /maven/core-integration-testing/trunk/core-it-suite/src/test:
java/org/apache/maven/it/ resources/mng-2720/ resources/mng-2720/plugin/
resources/mng-2720/plugin/src/ resources/mng-2720/plugin/src/main/ resources/mng-2720/plugin...
Posted by Benjamin Bentmann <be...@udo.edu>.
John Casey wrote:
> [...] when I have time I'd like to
> also provide some documentation for these plugins and how they're meant
> to be used...unless that documentation already exists? :)
For the new IT plugins, I usually added a <description> to the POM and
provided javadoc on the mojo parameters. So if you intend to provide the
documentation in form of a classical site, a skeleton would be there to
extend from. Let me know if you need some help with this.
Benjamin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: svn commit: r741834 - in /maven/core-integration-testing/trunk/core-it-suite/src/test:
java/org/apache/maven/it/ resources/mng-2720/ resources/mng-2720/plugin/
resources/mng-2720/plugin/src/ resources/mng-2720/plugin/src/main/ resources/mng-2720/plugin...
Posted by John Casey <jd...@commonjava.org>.
Okay. This approach is an outgrowth from the old problems I used to have
with the integration test plugins constantly being in snapshot mode,
never released. I'll recode the IT, and when I have time I'd like to
also provide some documentation for these plugins and how they're meant
to be used...unless that documentation already exists? :)
Thanks for the advice,
-john
Benjamin Bentmann wrote:
> Hi John,
>
>> Author: jdcasey
>> Date: Sat Feb 7 02:51:21 2009
>> New Revision: 741834
>>
>> URL: http://svn.apache.org/viewvc?rev=741834&view=rev
>> Log:
>> [MNG-2720] Adding integration test.
>>
>> Added:
>> maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/apache/maven/debug/mng2720/ClasspathMojo.java
>>
>> URL:
>> http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/apache/maven/debug/mng2720/ClasspathMojo.java?rev=741834&view=auto
>>
>> ==============================================================================
>>
>> ---
>> maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/apache/maven/debug/mng2720/ClasspathMojo.java
>> (added)
>> +++
>> maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/apache/maven/debug/mng2720/ClasspathMojo.java
>> Sat Feb 7 02:51:21 2009
>> @@ -0,0 +1,88 @@
>> +package org.apache.maven.debug.mng2720;
>> +
>> +import org.apache.maven.artifact.DependencyResolutionRequiredException;
>> +import org.apache.maven.plugin.Mojo;
>> +import org.apache.maven.plugin.MojoExecutionException;
>> +import org.apache.maven.plugin.MojoFailureException;
>> +import org.apache.maven.plugin.logging.Log;
>> +import org.apache.maven.project.MavenProject;
>> +
>> +import java.util.Iterator;
>> +import java.util.List;
>> +
>> +/**
>> + * @goal test
>> + * @requiresDependencyResolution compile
>> + * @phase package
>> + */
>> +public class ClasspathMojo
>> + implements Mojo
>> +{
>> + + /**
>> + * @parameter default-value="${project}"
>> + * @readonly
>> + */
>> + private MavenProject project;
>> + + /**
>> + * @parameter default-value="${project.compileClasspathElements}"
>> + * @readonly
>> + */
>> + private List compileClasspathElements;
>> +
>> + private Log log;
>> +
>> + public void execute() throws MojoExecutionException,
>> MojoFailureException
>> + {
>> + if ( "child2".equals( project.getArtifactId() ) )
>> + {
>> + boolean found = false;
>> + for ( Iterator it = compileClasspathElements.iterator();
>> it.hasNext(); )
>> + {
>> + String path = (String) it.next();
>> + if ( path.indexOf( "child1-1.jar" ) > -1 )
>> + {
>> + found = true;
>> + break;
>> + }
>> + }
>> + + if ( !found )
>> + {
>> + throw new MojoExecutionException( "child1-1.jar
>> dependency artifact path not found in compile classpath for project: "
>> + project.getId() );
>> + }
>> + }
>> + else if ( "child3".equals( project.getArtifactId() ) )
>> + {
>> + boolean found = false;
>> + for ( Iterator it = compileClasspathElements.iterator();
>> it.hasNext(); )
>> + {
>> + String path = (String) it.next();
>> + if ( path.indexOf( "child1-1-tests.jar" ) > -1 )
>> + {
>> + found = true;
>> + break;
>> + }
>> + }
>> + + if ( !found )
>> + {
>> + throw new MojoExecutionException( "child1-1-tests.jar
>> dependency artifact path not found in compile classpath for project: "
>> + project.getId() );
>> + }
>> + }
>> + + log.info( "Tests succeeded." );
>> + }
>> +
>
> When creating new ITs, please try to reuse the existing IT plugins
> whenenver possible. The plugin above looks like it can be replaced by
> the maven-it-plugin-dependency-resolution. This plugin dumps the class
> path and/or artifacts to a simple text file, the verification logic
> would then move to the JUnit controller.
>
> That's not to say that ITs should never have their own plugins, but I
> think in general we should try to avoid the above approach for the
> followng reasons:
>
> Building the plugin requires a bunch of other productions plugins to
> work properly. The core ITs shouldn't depend on stuff that is beyond the
> scope of the core.
>
> Building the plugin from scratch instead of using a ready-made IT plugin
> consumes time. I feel it's a difference if a single test runs in ~2
> seconds or > 10 seconds when we consider a scaling factor of 300 tests.
>
> Putting the verification logic inside the plugin makes it harder to
> understand the IT. One has to check the JUnit controller, the POMs and
> additionally the mojo logic.
>
>> Added:
>> maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/apache/maven/debug/mng2720/AppTest.java
>>
>> URL:
>> http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/apache/maven/debug/mng2720/AppTest.java?rev=741834&view=auto
>>
>> ==============================================================================
>>
>> ---
>> maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/apache/maven/debug/mng2720/AppTest.java
>> (added)
>> +++
>> maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/apache/maven/debug/mng2720/AppTest.java
>> Sat Feb 7 02:51:21 2009
>> @@ -0,0 +1,38 @@
>> +package org.apache.maven.debug.mng2720;
>> +
>> +import junit.framework.Test;
>> +import junit.framework.TestCase;
>> +import junit.framework.TestSuite;
>> +
>> +/**
>> + * Unit test for simple App.
>> + */
>> +public class AppTest + extends TestCase
>> +{
>> + /**
>> + * Create the test case
>> + *
>> + * @param testName name of the test case
>> + */
>> + public AppTest( String testName )
>> + {
>> + super( testName );
>> + }
>> +
>> + /**
>> + * @return the suite of tests being tested
>> + */
>> + public static Test suite()
>> + {
>> + return new TestSuite( AppTest.class );
>> + }
>> +
>> + /**
>> + * Rigourous Test :-)
>> + */
>> + public void testApp()
>> + {
>> + assertTrue( true );
>> + }
>> +}
>
> To ease understanding of the test and to avoid wasting time on checking
> out the ITs and copying their resources, please don't check in files
> that are not required for the test.
>
> Thanks
>
>
> Benjamin
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: svn commit: r741834 - in /maven/core-integration-testing/trunk/core-it-suite/src/test:
java/org/apache/maven/it/ resources/mng-2720/ resources/mng-2720/plugin/
resources/mng-2720/plugin/src/ resources/mng-2720/plugin/src/main/ resources/mng-2720/plugin...
Posted by Benjamin Bentmann <be...@udo.edu>.
Hi John,
> Author: jdcasey
> Date: Sat Feb 7 02:51:21 2009
> New Revision: 741834
>
> URL: http://svn.apache.org/viewvc?rev=741834&view=rev
> Log:
> [MNG-2720] Adding integration test.
>
> Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/apache/maven/debug/mng2720/ClasspathMojo.java
> URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/apache/maven/debug/mng2720/ClasspathMojo.java?rev=741834&view=auto
> ==============================================================================
> --- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/apache/maven/debug/mng2720/ClasspathMojo.java (added)
> +++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/plugin/src/main/java/org/apache/maven/debug/mng2720/ClasspathMojo.java Sat Feb 7 02:51:21 2009
> @@ -0,0 +1,88 @@
> +package org.apache.maven.debug.mng2720;
> +
> +import org.apache.maven.artifact.DependencyResolutionRequiredException;
> +import org.apache.maven.plugin.Mojo;
> +import org.apache.maven.plugin.MojoExecutionException;
> +import org.apache.maven.plugin.MojoFailureException;
> +import org.apache.maven.plugin.logging.Log;
> +import org.apache.maven.project.MavenProject;
> +
> +import java.util.Iterator;
> +import java.util.List;
> +
> +/**
> + * @goal test
> + * @requiresDependencyResolution compile
> + * @phase package
> + */
> +public class ClasspathMojo
> + implements Mojo
> +{
> +
> + /**
> + * @parameter default-value="${project}"
> + * @readonly
> + */
> + private MavenProject project;
> +
> + /**
> + * @parameter default-value="${project.compileClasspathElements}"
> + * @readonly
> + */
> + private List compileClasspathElements;
> +
> + private Log log;
> +
> + public void execute() throws MojoExecutionException, MojoFailureException
> + {
> + if ( "child2".equals( project.getArtifactId() ) )
> + {
> + boolean found = false;
> + for ( Iterator it = compileClasspathElements.iterator(); it.hasNext(); )
> + {
> + String path = (String) it.next();
> + if ( path.indexOf( "child1-1.jar" ) > -1 )
> + {
> + found = true;
> + break;
> + }
> + }
> +
> + if ( !found )
> + {
> + throw new MojoExecutionException( "child1-1.jar dependency artifact path not found in compile classpath for project: " + project.getId() );
> + }
> + }
> + else if ( "child3".equals( project.getArtifactId() ) )
> + {
> + boolean found = false;
> + for ( Iterator it = compileClasspathElements.iterator(); it.hasNext(); )
> + {
> + String path = (String) it.next();
> + if ( path.indexOf( "child1-1-tests.jar" ) > -1 )
> + {
> + found = true;
> + break;
> + }
> + }
> +
> + if ( !found )
> + {
> + throw new MojoExecutionException( "child1-1-tests.jar dependency artifact path not found in compile classpath for project: " + project.getId() );
> + }
> + }
> +
> + log.info( "Tests succeeded." );
> + }
> +
When creating new ITs, please try to reuse the existing IT plugins
whenenver possible. The plugin above looks like it can be replaced by
the maven-it-plugin-dependency-resolution. This plugin dumps the class
path and/or artifacts to a simple text file, the verification logic
would then move to the JUnit controller.
That's not to say that ITs should never have their own plugins, but I
think in general we should try to avoid the above approach for the
followng reasons:
Building the plugin requires a bunch of other productions plugins to
work properly. The core ITs shouldn't depend on stuff that is beyond the
scope of the core.
Building the plugin from scratch instead of using a ready-made IT plugin
consumes time. I feel it's a difference if a single test runs in ~2
seconds or > 10 seconds when we consider a scaling factor of 300 tests.
Putting the verification logic inside the plugin makes it harder to
understand the IT. One has to check the JUnit controller, the POMs and
additionally the mojo logic.
> Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/apache/maven/debug/mng2720/AppTest.java
> URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/apache/maven/debug/mng2720/AppTest.java?rev=741834&view=auto
> ==============================================================================
> --- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/apache/maven/debug/mng2720/AppTest.java (added)
> +++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-2720/project-hierarchy/child1/src/test/java/org/apache/maven/debug/mng2720/AppTest.java Sat Feb 7 02:51:21 2009
> @@ -0,0 +1,38 @@
> +package org.apache.maven.debug.mng2720;
> +
> +import junit.framework.Test;
> +import junit.framework.TestCase;
> +import junit.framework.TestSuite;
> +
> +/**
> + * Unit test for simple App.
> + */
> +public class AppTest
> + extends TestCase
> +{
> + /**
> + * Create the test case
> + *
> + * @param testName name of the test case
> + */
> + public AppTest( String testName )
> + {
> + super( testName );
> + }
> +
> + /**
> + * @return the suite of tests being tested
> + */
> + public static Test suite()
> + {
> + return new TestSuite( AppTest.class );
> + }
> +
> + /**
> + * Rigourous Test :-)
> + */
> + public void testApp()
> + {
> + assertTrue( true );
> + }
> +}
To ease understanding of the test and to avoid wasting time on checking
out the ITs and copying their resources, please don't check in files
that are not required for the test.
Thanks
Benjamin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org