diff --git a/its/maven-core-integration-tests/pom.xml b/its/maven-core-integration-tests/pom.xml
new file mode 100644
index 0000000000..a4ae940c6c
--- /dev/null
+++ b/its/maven-core-integration-tests/pom.xml
@@ -0,0 +1,34 @@
+
+ 4.0.0
+ org.apache.maven.integrationtests
+ maven-core-integrationtests
+ 1.0-SNAPSHOT
+ Maven Integration Tests
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ **/IntegrationTestSuite.java
+
+ never
+
+
+
+
+
+
+ org.apache.maven.shared
+ maven-verifier
+ 1.0-SNAPSHOT
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java
new file mode 100644
index 0000000000..24803d2414
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java
@@ -0,0 +1,122 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.framework.TestResult;
+
+public class IntegrationTestSuite
+ extends TestCase
+{
+ public static Test suite()
+ {
+ TestSuite suite = new TestSuite();
+ suite.addTestSuite( MavenIT0000Test.class );
+ suite.addTestSuite( MavenIT0001Test.class );
+ suite.addTestSuite( MavenIT0002Test.class );
+ suite.addTestSuite( MavenIT0003Test.class );
+ suite.addTestSuite( MavenIT0004Test.class );
+ suite.addTestSuite( MavenIT0005Test.class );
+ suite.addTestSuite( MavenIT0006Test.class );
+ suite.addTestSuite( MavenIT0007Test.class );
+ suite.addTestSuite( MavenIT0008Test.class );
+ suite.addTestSuite( MavenIT0009Test.class );
+ suite.addTestSuite( MavenIT0010Test.class );
+ suite.addTestSuite( MavenIT0011Test.class );
+ suite.addTestSuite( MavenIT0012Test.class );
+ suite.addTestSuite( MavenIT0013Test.class );
+ suite.addTestSuite( MavenIT0014Test.class );
+ suite.addTestSuite( MavenIT0016Test.class );
+ suite.addTestSuite( MavenIT0017Test.class );
+ suite.addTestSuite( MavenIT0018Test.class );
+ suite.addTestSuite( MavenIT0019Test.class );
+ suite.addTestSuite( MavenIT0020Test.class );
+ suite.addTestSuite( MavenIT0021Test.class );
+ suite.addTestSuite( MavenIT0022Test.class );
+ suite.addTestSuite( MavenIT0023Test.class );
+ suite.addTestSuite( MavenIT0024Test.class );
+ suite.addTestSuite( MavenIT0025Test.class );
+ suite.addTestSuite( MavenIT0026Test.class );
+ suite.addTestSuite( MavenIT0027Test.class );
+ suite.addTestSuite( MavenIT0028Test.class );
+ suite.addTestSuite( MavenIT0029Test.class );
+ suite.addTestSuite( MavenIT0030Test.class );
+ suite.addTestSuite( MavenIT0031Test.class );
+ suite.addTestSuite( MavenIT0032Test.class );
+ suite.addTestSuite( MavenIT0033Test.class );
+ suite.addTestSuite( MavenIT0034Test.class );
+ suite.addTestSuite( MavenIT0035Test.class );
+ suite.addTestSuite( MavenIT0036Test.class );
+ suite.addTestSuite( MavenIT0037Test.class );
+ suite.addTestSuite( MavenIT0038Test.class );
+ suite.addTestSuite( MavenIT0039Test.class );
+ suite.addTestSuite( MavenIT0040Test.class );
+ suite.addTestSuite( MavenIT0041Test.class );
+ suite.addTestSuite( MavenIT0042Test.class );
+ suite.addTestSuite(MavenIT0043Test.class);
+ suite.addTestSuite( MavenIT0044Test.class );
+ suite.addTestSuite( MavenIT0045Test.class );
+ suite.addTestSuite( MavenIT0046Test.class );
+ suite.addTestSuite( MavenIT0047Test.class );
+ suite.addTestSuite( MavenIT0048Test.class );
+ suite.addTestSuite( MavenIT0049Test.class );
+ suite.addTestSuite( MavenIT0050Test.class );
+ suite.addTestSuite( MavenIT0051Test.class );
+ suite.addTestSuite( MavenIT0052Test.class );
+ suite.addTestSuite( MavenIT0053Test.class );
+ suite.addTestSuite( MavenIT0054Test.class );
+ suite.addTestSuite( MavenIT0055Test.class );
+ suite.addTestSuite( MavenIT0056Test.class );
+ suite.addTestSuite( MavenIT0057Test.class );
+ suite.addTestSuite( MavenIT0058Test.class );
+ suite.addTestSuite( MavenIT0059Test.class );
+ suite.addTestSuite( MavenIT0060Test.class );
+ suite.addTestSuite( MavenIT0061Test.class );
+ suite.addTestSuite( MavenIT0062Test.class );
+ suite.addTestSuite( MavenIT0063Test.class );
+ suite.addTestSuite( MavenIT0064Test.class );
+ suite.addTestSuite( MavenIT0065Test.class );
+ suite.addTestSuite( MavenIT0066Test.class );
+ suite.addTestSuite( MavenIT0067Test.class );
+ suite.addTestSuite( MavenIT0068Test.class );
+ suite.addTestSuite( MavenIT0069Test.class );
+ suite.addTestSuite( MavenIT0070Test.class );
+ suite.addTestSuite( MavenIT0071Test.class );
+ suite.addTestSuite( MavenIT0072Test.class );
+ suite.addTestSuite( MavenIT0073Test.class );
+ suite.addTestSuite( MavenIT0074Test.class );
+ suite.addTestSuite( MavenIT0075Test.class );
+ suite.addTestSuite( MavenIT0076Test.class );
+ suite.addTestSuite( MavenIT0077Test.class );
+ suite.addTestSuite( MavenIT0078Test.class );
+ suite.addTestSuite( MavenIT0079Test.class );
+ suite.addTestSuite( MavenIT0080Test.class );
+ suite.addTestSuite( MavenIT0081Test.class );
+ suite.addTestSuite( MavenIT0082Test.class );
+ suite.addTestSuite( MavenIT0083Test.class );
+ suite.addTestSuite( MavenIT0084Test.class );
+ suite.addTestSuite( MavenIT0085Test.class );
+ suite.addTestSuite( MavenIT0086Test.class );
+ suite.addTestSuite( MavenIT0087Test.class );
+ suite.addTestSuite( MavenIT0088Test.class );
+ suite.addTestSuite( MavenIT0089Test.class );
+ // suite.addTestSuite(MavenIT0090Test.class);
+ // suite.addTestSuite(MavenIT0091Test.class);
+ suite.addTestSuite( MavenIT0092Test.class );
+ suite.addTestSuite( MavenIT0094Test.class );
+ suite.addTestSuite( MavenIT0095Test.class );
+ suite.addTestSuite(MavenIT0096Test.class);
+ suite.addTestSuite(MavenIT0097Test.class);
+ // suite.addTestSuite(MavenIT0098Test.class);
+ suite.addTestSuite( MavenIT0099Test.class );
+ suite.addTestSuite( MavenIT0100Test.class );
+ suite.addTestSuite( MavenIT0101Test.class );
+ suite.addTestSuite( MavenIT0102Test.class );
+ suite.addTestSuite( MavenIT0103Test.class );
+ // suite.addTestSuite(MavenIT0104Test.class);
+ suite.addTestSuite( MavenIT0105Test.class );
+ // suite.addTestSuite(MavenIT0106Test.class);
+ // suite.addTestSuite(MavenIT0107Test.class);
+ return suite;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0000Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0000Test.java
new file mode 100644
index 0000000000..1432f3cc9d
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0000Test.java
@@ -0,0 +1,34 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0000Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * The simplest of builds. We have one application class and one test
+ * class. There are no resources, no source generation, no resource
+ * generation and a the super model is employed to provide the build
+ * information.
+ */
+ public void testit0000()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0000" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0000/Person.class" );
+ verifier.assertFilePresent( "target/test-classes/org/apache/maven/it0000/PersonTest.class" );
+ verifier.assertFilePresent( "target/maven-it-it0000-1.0.jar" );
+ verifier.assertFilePresent( "target/surefire-reports/org.apache.maven.it0000.PersonTest.txt" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0000 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0001Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0001Test.java
new file mode 100644
index 0000000000..5430a1d3a2
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0001Test.java
@@ -0,0 +1,32 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0001Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Builds upon it0000: we add an application resource that is packaged
+ * up in the resultant JAR.
+ */
+ public void testit0001()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0001" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0001/Person.class" );
+ verifier.assertFilePresent( "target/test-classes/org/apache/maven/it0001/PersonTest.class" );
+ verifier.assertFilePresent( "target/maven-it-it0001-1.0.jar" );
+ verifier.assertFilePresent( "target/maven-it-it0001-1.0.jar!/it0001.properties" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0001 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0002Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0002Test.java
new file mode 100644
index 0000000000..1ea6c4f0de
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0002Test.java
@@ -0,0 +1,34 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0002Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Builds upon it0001: we add the download of a dependency. We delete
+ * the JAR from the local repository and make sure it is there post build.
+ */
+ public void testit0002()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0002" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven", "maven-core-it-support", "1.0", "jar" );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0002/Person.class" );
+ verifier.assertFilePresent( "target/test-classes/org/apache/maven/it0002/PersonTest.class" );
+ verifier.assertFilePresent( "target/maven-it-it0002-1.0.jar" );
+ verifier.assertFilePresent( "target/maven-it-it0002-1.0.jar!/it0002.properties" );
+ verifier.assertArtifactPresent( "org.apache.maven", "maven-core-it-support", "1.0", "jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0002 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0003Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0003Test.java
new file mode 100644
index 0000000000..063fcd6bf5
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0003Test.java
@@ -0,0 +1,34 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0003Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Builds upon it0001: we add a jar installation step. We delete the JAR
+ * from the local repository to make sure it is there post build.
+ */
+ public void testit0003()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0003" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven", "maven-it-it0003", "1.0", "jar" );
+ verifier.executeGoal( "install" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0003/Person.class" );
+ verifier.assertFilePresent( "target/test-classes/org/apache/maven/it0003/PersonTest.class" );
+ verifier.assertFilePresent( "target/maven-it-it0003-1.0.jar" );
+ verifier.assertFilePresent( "target/maven-it-it0003-1.0.jar!/it0003.properties" );
+ verifier.assertArtifactPresent( "org.apache.maven.its.it0003", "maven-it-it0003", "1.0", "jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0003 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0004Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0004Test.java
new file mode 100644
index 0000000000..12032ed18e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0004Test.java
@@ -0,0 +1,30 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0004Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * The simplest of pom installation. We have a pom and we install it in
+ * local repository.
+ */
+ public void testit0004()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0004" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven", "maven-it-it0004", "1.0", "pom" );
+ verifier.executeGoal( "install:install" );
+ verifier.assertArtifactPresent( "org.apache.maven.its.it0004", "maven-it-it0004", "1.0", "pom" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0004 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0005Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0005Test.java
new file mode 100644
index 0000000000..8452591474
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0005Test.java
@@ -0,0 +1,30 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0005Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * The simplest of pom installation. We have a snapshot pom and we install
+ * it in local repository.
+ */
+ public void testit0005()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0005" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven", "maven-it-it0005", "1.0-SNAPSHOT", "pom" );
+ verifier.executeGoal( "install:install" );
+ verifier.assertArtifactPresent( "org.apache.maven.its.it0005", "maven-it-it0005", "1.0-SNAPSHOT", "pom" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0005 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0006Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0006Test.java
new file mode 100644
index 0000000000..e5e4c53ce6
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0006Test.java
@@ -0,0 +1,27 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0006Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Integration test for the verifier plugin.
+ */
+ public void testit0006()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0006" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "integration-test" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0006 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0007Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0007Test.java
new file mode 100644
index 0000000000..2642ab98fb
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0007Test.java
@@ -0,0 +1,34 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0007Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * We specify a parent in the POM and make sure that it is downloaded as
+ * part of the process.
+ */
+ public void testit0007()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0007" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven.plugins", "maven-plugin-parent", "2.0", "pom" );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0007/Person.class" );
+ verifier.assertFilePresent( "target/test-classes/org/apache/maven/it0007/PersonTest.class" );
+ verifier.assertFilePresent( "target/maven-it-it0007-1.0.jar" );
+ verifier.assertFilePresent( "target/maven-it-it0007-1.0.jar!/it0007.properties" );
+ verifier.assertArtifactPresent( "org.apache.maven.plugins", "maven-plugin-parent", "2.0", "pom" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0007 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0008Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0008Test.java
new file mode 100644
index 0000000000..4fb6c09b27
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0008Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0008Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Simple goal decoration where a plugin binds to a phase and the plugin must
+ * be downloaded from a remote repository before it can be executed. This
+ * test also checks to make sure that mojo parameters are aligned to the
+ * project basedir when their type is "java.io.File".
+ */
+ public void testit0008()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0008" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven.its.plugins", "maven-it-plugin-touch", "1.0", "maven-plugin" );
+ verifier.executeGoal( "compile" );
+ verifier.assertFilePresent( "target/touch.txt" );
+ verifier.assertFilePresent( "target/test-basedir-alignment/touch.txt" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0008 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0009Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0009Test.java
new file mode 100644
index 0000000000..54a9eabca4
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0009Test.java
@@ -0,0 +1,32 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0009Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test plugin configuration and goal configuration that overrides what the
+ * mojo has specified.
+ */
+ public void testit0009()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0009" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven.its.plugins", "maven-it-plugin-touch", "1.0", "maven-plugin" );
+ verifier.executeGoal( "generate-resources" );
+ verifier.assertFilePresent( "target/pluginItem" );
+ verifier.assertFilePresent( "target/goalItem" );
+ verifier.assertFileNotPresent( "target/bad-item" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0009 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0010Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0010Test.java
new file mode 100644
index 0000000000..ca4f0ed2a8
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0010Test.java
@@ -0,0 +1,34 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0010Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Since the artifact resolution does not use the project builder, we must
+ * ensure that the full hierarchy of all dependencies is resolved. This
+ * includes the dependencies of the parent-pom's of dependencies. This test
+ * will check this, by depending on classworlds, which is a dependency of
+ * maven-component, which is the parent of maven-plugin, which is an
+ * explicit dependency of this test.
+ * # TODO: must correct the assumptions of this test
+ */
+ public void testit0010()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0010" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "compile" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0010/PersonFinder.class" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0010 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0011Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0011Test.java
new file mode 100644
index 0000000000..c369abb260
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0011Test.java
@@ -0,0 +1,28 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0011Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test specification of dependency versions via <dependencyManagement/>.
+ */
+ public void testit0011()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0011" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "compile" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0011/PersonFinder.class" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0011 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0012Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0012Test.java
new file mode 100644
index 0000000000..43870de070
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0012Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0012Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test simple POM interpolation
+ */
+ public void testit0012()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0012" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "org.apache.maven.its.plugins:maven-it-plugin-touch:touch" );
+ verifier.assertFilePresent( "target/touch-3.8.1.txt" );
+ verifier.assertFilePresent( "child-project/target/child-touch-3.0.3.txt" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0012 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0013Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0013Test.java
new file mode 100644
index 0000000000..dea204e6b8
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0013Test.java
@@ -0,0 +1,35 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.List;
+
+public class MavenIT0013Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test plugin-plugin, which tests maven-plugin-tools-api and
+ * maven-plugin-tools-java. This will generate a plugin descriptor from
+ * java-based mojo sources, install the plugin, and then use it.
+ */
+ public void testit0013()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0013" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven.its.plugins", "maven-it-it0013", "1.0-SNAPSHOT", "maven-plugin" );
+ List goals = Arrays.asList( new String[]{"install", "org.apache.maven.its.it0013:maven-it-it0013:it0013"} );
+ verifier.executeGoals( goals );
+ verifier.assertFilePresent( "target/maven-it-it0013-1.0-SNAPSHOT.jar" );
+ verifier.assertFilePresent( "target/it0013-verify" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0013 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0014Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0014Test.java
new file mode 100644
index 0000000000..d7f3be9826
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0014Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0014Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test POM configuration by settings the -source and -target for the
+ * compiler to 1.4
+ */
+ public void testit0014()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0014" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "test" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0001/Person.class" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0014 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0016Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0016Test.java
new file mode 100644
index 0000000000..64a76aaee1
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0016Test.java
@@ -0,0 +1,38 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0016Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test a WAR generation
+ */
+ public void testit0016()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0016" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0016/Person.class" );
+ verifier.assertFilePresent( "target/maven-it-it0016-1.0/index.html" );
+ verifier.assertFilePresent(
+ "target/maven-it-it0016-1.0/WEB-INF/classes/org/apache/maven/it0016/Person.class" );
+ verifier.assertFilePresent( "target/maven-it-it0016-1.0/WEB-INF/lib/commons-logging-1.0.3.jar" );
+ verifier.assertFileNotPresent( "target/maven-it-it0016-1.0/WEB-INF/lib/servletapi-2.4-20040521.jar" );
+ verifier.assertFilePresent( "target/maven-it-it0016-1.0.war" );
+ verifier.assertFilePresent( "target/maven-it-it0016-1.0.war!/index.html" );
+ verifier.assertFilePresent(
+ "target/maven-it-it0016-1.0.war!/WEB-INF/classes/org/apache/maven/it0016/Person.class" );
+ verifier.assertFilePresent( "target/maven-it-it0016-1.0.war!/WEB-INF/lib/commons-logging-1.0.3.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0016 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0017Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0017Test.java
new file mode 100644
index 0000000000..433c290724
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0017Test.java
@@ -0,0 +1,31 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0017Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test an EJB generation
+ */
+ public void testit0017()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0017" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0017/Person.class" );
+ verifier.assertFilePresent( "target/maven-it-it0017-1.0.jar" );
+ verifier.assertFilePresent( "target/maven-it-it0017-1.0.jar!/META-INF/ejb-jar.xml" );
+ verifier.assertFilePresent( "target/maven-it-it0017-1.0.jar!/org/apache/maven/it0017/Person.class" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0017 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0018Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0018Test.java
new file mode 100644
index 0000000000..cefd5d1275
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0018Test.java
@@ -0,0 +1,32 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0018Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Ensure that managed dependencies for dependency POMs are calculated
+ * correctly when resolved. Removes commons-logging-1.0.3 and checks it is
+ * redownloaded.
+ */
+ public void testit0018()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0018" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "commons-logging", "commons-logging", "1.0.3", "jar" );
+ verifier.executeGoal( "package" );
+// TODO: I would like to build some small core-it artifacts for this purpose instead
+ verifier.assertArtifactPresent( "commons-logging", "commons-logging", "1.0.3", "jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0018 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0019Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0019Test.java
new file mode 100644
index 0000000000..d4751e868f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0019Test.java
@@ -0,0 +1,28 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0019Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that a version is managed by pluginManagement in the super POM
+ */
+ public void testit0019()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0019" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "compile" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0019/Person.class" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0019 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0020Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0020Test.java
new file mode 100644
index 0000000000..4707544f5b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0020Test.java
@@ -0,0 +1,32 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.List;
+
+public class MavenIT0020Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test beanshell mojo support.
+ */
+ public void testit0020()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0020" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven.its.plugins", "maven-it-it0020", "1.0-SNAPSHOT", "maven-plugin" );
+ List goals = Arrays.asList( new String[]{"install", "org.apache.maven.its.it0020:maven-it-it0020:it0020"} );
+ verifier.executeGoals( goals );
+ verifier.assertFilePresent( "target/out.txt" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0020 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0021Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0021Test.java
new file mode 100644
index 0000000000..244b2151b9
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0021Test.java
@@ -0,0 +1,34 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.Properties;
+
+public class MavenIT0021Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test pom-level profile inclusion (this one is activated by system
+ * property).
+ */
+ public void testit0021()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0021" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven", "maven-core-it-support", "1.0", "jar" );
+ Properties systemProperties = new Properties();
+ systemProperties.put( "includeProfile", "true" );
+ verifier.setSystemProperties( systemProperties );
+ verifier.executeGoal( "compile" );
+ verifier.assertArtifactPresent( "org.apache.maven", "maven-core-it-support", "1.0", "jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0021 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0022Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0022Test.java
new file mode 100644
index 0000000000..1589680e6d
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0022Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.Properties;
+
+public class MavenIT0022Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test profile inclusion from profiles.xml (this one is activated by system
+ * property).
+ */
+ public void testit0022()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0022" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ Properties systemProperties = new Properties();
+ systemProperties.put( "includeProfile", "true" );
+ verifier.setSystemProperties( systemProperties );
+ verifier.executeGoal( "org.apache.maven.its.plugins:maven-it-plugin-touch:touch" );
+ verifier.assertFilePresent( "target/test.txt" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0022 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0023Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0023Test.java
new file mode 100644
index 0000000000..49c7543df7
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0023Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.Properties;
+
+public class MavenIT0023Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test profile inclusion from settings.xml (this one is activated by an id
+ * in the activeProfiles section).
+ */
+ public void testit0023()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0023" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ Properties systemProperties = new Properties();
+ systemProperties.put( "org.apache.maven.user-settings", "settings.xml" );
+ verifier.setSystemProperties( systemProperties );
+ verifier.executeGoal( "org.apache.maven.its.plugins:maven-it-plugin-touch:touch" );
+ verifier.assertFilePresent( "target/test.txt" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0023 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0024Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0024Test.java
new file mode 100644
index 0000000000..860730d465
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0024Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0024Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test usage of <executions/> inside a plugin rather than <goals/>
+ * that are directly inside th plugin.
+ */
+ public void testit0024()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0024" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "generate-sources" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0024/Person.class" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0024 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0025Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0025Test.java
new file mode 100644
index 0000000000..f78e88ef88
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0025Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0025Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test multiple goal executions with different execution-level configs.
+ */
+ public void testit0025()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0025" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "process-sources" );
+ verifier.assertFilePresent( "target/test.txt" );
+ verifier.assertFilePresent( "target/test2.txt" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0025 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0026Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0026Test.java
new file mode 100644
index 0000000000..a6e9424098
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0026Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.Properties;
+
+public class MavenIT0026Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test merging of global- and user-level settings.xml files.
+ */
+ public void testit0026()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0026" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ Properties systemProperties = new Properties();
+ systemProperties.put( "org.apache.maven.user-settings", "user-settings.xml" );
+ systemProperties.put( "org.apache.maven.global-settings", "global-settings.xml" );
+ verifier.setSystemProperties( systemProperties );
+ verifier.executeGoal( "org.apache.maven.its.plugins:maven-it-plugin-touch:touch" );
+ verifier.assertFilePresent( "target/test.txt" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0026 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0027Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0027Test.java
new file mode 100644
index 0000000000..fa81cd1609
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0027Test.java
@@ -0,0 +1,34 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.List;
+
+public class MavenIT0027Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test @execute with a custom lifecycle, including configuration
+ */
+ public void testit0027()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0027" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ List goals = Arrays.asList( new String[]{
+ "org.apache.maven.its.plugins:maven-it-plugin-fork:fork",
+ "org.apache.maven.its.plugins:maven-it-plugin-fork:fork-goal"} );
+ verifier.executeGoals( goals );
+ verifier.assertFilePresent( "target/forked/touch.txt" );
+ verifier.assertFilePresent( "target/forked2/touch.txt" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0027 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0028Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0028Test.java
new file mode 100644
index 0000000000..57d22f364a
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0028Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0028Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that unused configuration parameters from the POM don't cause the
+ * mojo to fail...they will show up as warnings in the -X output instead.
+ */
+ public void testit0028()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0028" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "test" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0001/Person.class" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0028 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0029Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0029Test.java
new file mode 100644
index 0000000000..0d19e1eed8
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0029Test.java
@@ -0,0 +1,30 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0029Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test for pluginManagement injection of plugin configuration.
+ */
+ public void testit0029()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0029" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven.it", "maven-it-it0029", "1.0-SNAPSHOT", "jar" );
+ verifier.deleteArtifact( "org.apache.maven.it", "maven-it-it0029-child", "1.0-SNAPSHOT", "jar" );
+ verifier.executeGoal( "install" );
+ verifier.assertFilePresent( "child-project/target/classes/org/apache/maven/it0001/Person.class" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0029 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0030Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0030Test.java
new file mode 100644
index 0000000000..bed2022b99
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0030Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0030Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test for injection of dependencyManagement through parents of
+ * dependency poms.
+ */
+ public void testit0030()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0030" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven.it", "maven-it-it0030", "1.0-SNAPSHOT", "jar" );
+ verifier.deleteArtifact( "org.apache.maven.it", "maven-it-it0030-child-hierarchy", "1.0-SNAPSHOT", "jar" );
+ verifier.deleteArtifact( "org.apache.maven.it", "maven-it-it0030-child-project1", "1.0-SNAPSHOT", "jar" );
+ verifier.deleteArtifact( "org.apache.maven.it", "maven-it-it0030-child-project2", "1.0-SNAPSHOT", "jar" );
+ verifier.executeGoal( "install" );
+ verifier.assertFilePresent( "child-hierarchy/project2/target/classes/org/apache/maven/it0001/Person.class" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0030 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0031Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0031Test.java
new file mode 100644
index 0000000000..720328ae60
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0031Test.java
@@ -0,0 +1,39 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.Properties;
+
+public class MavenIT0031Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test usage of plugins.xml mapping file on the repository to resolve
+ * plugin artifactId from it's prefix using the pluginGroups in
+ * the provided settings.xml.
+ */
+ public void testit0031()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0031" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ Properties systemProperties = new Properties();
+ systemProperties.put( "org.apache.maven.user-settings", "settings.xml" );
+ systemProperties.put( "model", "src/main/mdo/test.mdo" );
+ systemProperties.put( "version", "1.0.0" );
+ verifier.setSystemProperties( systemProperties );
+ Properties verifierProperties = new Properties();
+ verifierProperties.put( "failOnErrorOutput", "false" );
+ verifier.setVerifierProperties( verifierProperties );
+ verifier.executeGoal( "modello:java" );
+ verifier.assertFilePresent( "target/generated-sources/modello/org/apache/maven/it/it0031/Root.java" );
+// don't verify error free log
+ verifier.resetStreams();
+ System.out.println( "it0031 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0032Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0032Test.java
new file mode 100644
index 0000000000..e16848127d
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0032Test.java
@@ -0,0 +1,31 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0032Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Tests that a specified Maven version requirement that is lower doesn't cause any problems
+ */
+ public void testit0032()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0032" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0032/Person.class" );
+ verifier.assertFilePresent( "target/test-classes/org/apache/maven/it0032/PersonTest.class" );
+ verifier.assertFilePresent( "target/maven-it-it0032-1.0.jar" );
+ verifier.assertFilePresent( "target/maven-it-it0032-1.0.jar!/it0032.properties" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0032 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0033Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0033Test.java
new file mode 100644
index 0000000000..88d1b8653e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0033Test.java
@@ -0,0 +1,30 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0033Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test an EAR generation
+ */
+ public void testit0033()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0033" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/maven-it-it0033-1.0.ear" );
+ verifier.assertFilePresent( "target/maven-it-it0033-1.0.ear!/META-INF/application.xml" );
+ verifier.assertFilePresent( "target/maven-it-it0033-1.0.ear!/META-INF/appserver-application.xml" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0033 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0034Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0034Test.java
new file mode 100644
index 0000000000..14aecde950
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0034Test.java
@@ -0,0 +1,31 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0034Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test version range junit [3.7,) resolves to 3.8.1
+ */
+ public void testit0034()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0034" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven", "maven-core-it-support", "1.4", "jar" );
+ verifier.deleteArtifact( "junit", "junit", "3.8", "jar" );
+ verifier.executeGoal( "package" );
+ verifier.assertArtifactPresent( "junit", "junit", "3.8", "jar" );
+ verifier.assertArtifactPresent( "org.apache.maven", "maven-core-it-support", "1.4", "jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0034 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0035Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0035Test.java
new file mode 100644
index 0000000000..d9b2facf79
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0035Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0035Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test artifact relocation.
+ */
+ public void testit0035()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0035" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven", "maven-core-it-support", "1.1", "jar" );
+ verifier.deleteArtifact( "org.apache.maven", "maven-core-it-support", "1.1", "pom" );
+ verifier.deleteArtifact( "org.apache.maven", "maven-core-it-support-old-location", "1.1", "pom" );
+ verifier.executeGoal( "package" );
+ verifier.assertArtifactPresent( "org.apache.maven", "maven-core-it-support", "1.1", "jar" );
+ verifier.assertArtifactPresent( "org.apache.maven", "maven-core-it-support", "1.1", "pom" );
+ verifier.assertArtifactPresent( "org.apache.maven", "maven-core-it-support-old-location", "1.1", "pom" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0035 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0036Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0036Test.java
new file mode 100644
index 0000000000..e8cdb6a064
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0036Test.java
@@ -0,0 +1,28 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0036Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test building from release-pom.xml when it's available
+ */
+ public void testit0036()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0036" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/maven-it-it0036-1.0.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0036 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0037Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0037Test.java
new file mode 100644
index 0000000000..b81ac2c296
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0037Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MavenIT0037Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test building with alternate pom file using '-f'
+ */
+ public void testit0037()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0037" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "-f pom2.xml" );
+ verifier.setCliOptions( cliOptions );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/maven-it-it0037-1.0-build2.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0037 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0038Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0038Test.java
new file mode 100644
index 0000000000..d21e89f687
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0038Test.java
@@ -0,0 +1,34 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MavenIT0038Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test building project from outside the project directory using '-f'
+ * option
+ */
+ public void testit0038()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0038" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "-f project/pom2.xml" );
+ verifier.setCliOptions( cliOptions );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "project/target/maven-it-it0038-1.0-build2.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0038 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0039Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0039Test.java
new file mode 100644
index 0000000000..c4c4cb6c58
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0039Test.java
@@ -0,0 +1,36 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MavenIT0039Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test reactor for projects that have release-pom.xml in addition to
+ * pom.xml. The release-pom.xml file should be chosen above pom.xml for
+ * these projects in the build.
+ */
+ public void testit0039()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0039" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "-r" );
+ verifier.setCliOptions( cliOptions );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "project/target/maven-it-it0039-p1-1.0.jar" );
+ verifier.assertFilePresent( "project2/target/maven-it-it0039-p2-1.0.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0039 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0040Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0040Test.java
new file mode 100644
index 0000000000..0611b7c7e8
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0040Test.java
@@ -0,0 +1,28 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0040Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test the use of a packaging from a plugin
+ */
+ public void testit0040()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0040" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/maven-it-it0040-1.0-it.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0040 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0041Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0041Test.java
new file mode 100644
index 0000000000..53a7cd512d
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0041Test.java
@@ -0,0 +1,31 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0041Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test the use of a new type from a plugin
+ */
+ public void testit0041()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0041" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven", "maven-core-it-support", "1.2", "coreit-artifact" );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/maven-it-it0041-1.0-SNAPSHOT.jar" );
+ verifier.assertArtifactPresent( "org.apache.maven", "maven-core-it-support", "1.2", "coreit-artifact" );
+ verifier.assertArtifactPresent( "org.apache.maven", "maven-core-it-support", "1.2", "pom" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0041 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0042Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0042Test.java
new file mode 100644
index 0000000000..e5ad7b0378
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0042Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0042Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that the reactor can establish the artifact location of known projects for dependencies
+ */
+ public void testit0042()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0042" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "test-component-a/target/test-component-a-0.1.jar" );
+ verifier.assertFilePresent( "test-component-b/target/test-component-b-0.1.jar" );
+ verifier.assertFilePresent( "test-component-c/target/test-component-c-0.1.war" );
+ verifier.assertFilePresent( "test-component-c/target/test-component-c-0.1.war!/WEB-INF/lib/test-component-a-0.1.jar" );
+ verifier.assertFilePresent( "test-component-c/target/test-component-c-0.1.war!/WEB-INF/lib/test-component-b-0.1.jar" );
+ verifier.assertFilePresent( "test-component-c/target/my-test" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0042 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0043Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0043Test.java
new file mode 100644
index 0000000000..6416c1ccf0
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0043Test.java
@@ -0,0 +1,28 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0043Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test for repository inheritence - ensure using the same id overrides the defaults
+ */
+ public void testit0043()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0043" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/maven-it-it0043-1.0-SNAPSHOT.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0043 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0044Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0044Test.java
new file mode 100644
index 0000000000..3c2312e565
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0044Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MavenIT0044Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test --settings CLI option
+ */
+ public void testit0044()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0044" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "--settings settings.xml" );
+ verifier.setCliOptions( cliOptions );
+ verifier.executeGoal( "org.apache.maven.its.plugins:maven-it-plugin-touch:touch" );
+ verifier.assertFilePresent( "target/test.txt" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0044 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0045Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0045Test.java
new file mode 100644
index 0000000000..653801b821
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0045Test.java
@@ -0,0 +1,35 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MavenIT0045Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test non-reactor behavior when plugin declares "@requiresProject false"
+ */
+ public void testit0045()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0045" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven.its.plugins", "maven-it-plugin-no-project", "1.0", "maven-plugin" );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "--no-plugin-registry" );
+ verifier.setCliOptions( cliOptions );
+ verifier.executeGoal( "org.apache.maven.its.plugins:maven-it-plugin-no-project:light-touch" );
+ verifier.assertFilePresent( "target/touch.txt" );
+ verifier.assertFileNotPresent( "subproject/target/touch.txt" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0045 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0046Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0046Test.java
new file mode 100644
index 0000000000..6753fe4278
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0046Test.java
@@ -0,0 +1,37 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MavenIT0046Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test fail-never reactor behavior. Forces an exception to be thrown in
+ * the first module, but checks that the second modules is built.
+ */
+ public void testit0046()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0046" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven.plugins", "maven-it-it-plugin", "1.0", "maven-plugin" );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "--no-plugin-registry --fail-never" );
+ verifier.setCliOptions( cliOptions );
+ verifier.executeGoal( "org.apache.maven.its.plugins:maven-it-plugin-touch:touch" );
+ verifier.assertFilePresent( "target/touch.txt" );
+ verifier.assertFileNotPresent( "subproject/target/touch.txt" );
+ verifier.assertFilePresent( "subproject2/target/touch.txt" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0046 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0047Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0047Test.java
new file mode 100644
index 0000000000..7756451a7f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0047Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0047Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test the use case for having a compile time dependency be transitive:
+ * when you extend a class you need its dependencies at compile time.
+ */
+ public void testit0047()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0047" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "compile" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0047/Person.class" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0047 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0048Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0048Test.java
new file mode 100644
index 0000000000..31ab279a79
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0048Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0048Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Verify that default values for mojo parameters are working (indirectly,
+ * by verifying that the Surefire mojo is functioning correctly).
+ */
+ public void testit0048()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0048" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "test" );
+ verifier.assertFilePresent( "target/testFileOutput.txt" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0048 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0049Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0049Test.java
new file mode 100644
index 0000000000..0f5b133a6b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0049Test.java
@@ -0,0 +1,30 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0049Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test parameter alias usage.
+ */
+ public void testit0049()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0049" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ //todo: i don't think we need to delete this plugin
+ //verifier.deleteArtifact( "org.apache.maven.its.plugins", "maven-it-plugin-touch", "1.0", "maven-plugin" );
+ verifier.executeGoal( "org.apache.maven.its.plugins:maven-it-plugin-touch:touch" );
+ verifier.assertFilePresent( "target/touchFile.txt" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0049 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0050Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0050Test.java
new file mode 100644
index 0000000000..2067eb9305
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0050Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0050Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test surefire inclusion/exclusions
+ */
+ public void testit0050()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0050" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/testTouchFile.txt" );
+ verifier.assertFilePresent( "target/defaultTestTouchFile.txt" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0050 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0051Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0051Test.java
new file mode 100644
index 0000000000..752f2c9e90
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0051Test.java
@@ -0,0 +1,34 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MavenIT0051Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test source attachment when -DperformRelease=true is specified.
+ */
+ public void testit0051()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0051" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "--no-plugin-registry -DperformRelease=true" );
+ verifier.setCliOptions( cliOptions );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/maven-it-it0051-1.0.jar" );
+ verifier.assertFilePresent( "target/maven-it-it0051-1.0-sources.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0051 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0052Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0052Test.java
new file mode 100644
index 0000000000..bedc75c37b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0052Test.java
@@ -0,0 +1,35 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MavenIT0052Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that source attachment doesn't take place when
+ * -DperformRelease=true is missing.
+ */
+ public void testit0052()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0052" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "--no-plugin-registry" );
+ verifier.setCliOptions( cliOptions );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/maven-it-it0052-1.0.jar" );
+ verifier.assertFileNotPresent( "target/maven-it-it0052-1.0-sources.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0052 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0053Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0053Test.java
new file mode 100644
index 0000000000..94081b9e3f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0053Test.java
@@ -0,0 +1,36 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MavenIT0053Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that attached artifacts have the same buildnumber and timestamp
+ * as the main artifact. This will not correctly verify until we have
+ * some way to pattern-match the buildnumber/timestamp...
+ */
+ public void testit0053()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0053" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "--no-plugin-registry" );
+ verifier.setCliOptions( cliOptions );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/maven-it-it0053-1.0-SNAPSHOT.jar" );
+ verifier.assertFileNotPresent( "target/maven-it-it0053-1.0-SNAPSHOT-sources.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0053 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0054Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0054Test.java
new file mode 100644
index 0000000000..1b39621faf
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0054Test.java
@@ -0,0 +1,31 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0054Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test resource filtering.
+ */
+ public void testit0054()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0054" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0054/Person.class" );
+ verifier.assertFilePresent( "target/test-classes/org/apache/maven/it0054/PersonTest.class" );
+ verifier.assertFilePresent( "target/maven-it-it0054-1.0.jar" );
+ verifier.assertFilePresent( "target/maven-it-it0054-1.0.jar!/it0054.properties" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0054 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0055Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0055Test.java
new file mode 100644
index 0000000000..20bc4d6968
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0055Test.java
@@ -0,0 +1,32 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0055Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that source includes/excludes with in the compiler plugin config.
+ * This will test excludes and testExcludes...
+ */
+ public void testit0055()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0055" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "test-compile" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0001/Person.class" );
+ verifier.assertFilePresent( "target/test-classes/org/apache/maven/it0001/PersonTest.class" );
+ verifier.assertFileNotPresent( "target/classes/org/apache/maven/it0001/PersonTwo.class" );
+ verifier.assertFileNotPresent( "target/test-classes/org/apache/maven/it0001/PersonTwoTest.class" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0055 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0056Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0056Test.java
new file mode 100644
index 0000000000..3c06018033
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0056Test.java
@@ -0,0 +1,34 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0056Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that multiple executions of the compile goal with different
+ * includes/excludes will succeed.
+ */
+ public void testit0056()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0056" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "test-compile" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0001/Person.class" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0001/PersonTwo.class" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0001/PersonThree.class" );
+ verifier.assertFilePresent( "target/test-classes/org/apache/maven/it0001/PersonTest.class" );
+ verifier.assertFilePresent( "target/test-classes/org/apache/maven/it0001/PersonTwoTest.class" );
+ verifier.assertFilePresent( "target/test-classes/org/apache/maven/it0001/PersonThreeTest.class" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0056 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0057Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0057Test.java
new file mode 100644
index 0000000000..d83207cf1a
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0057Test.java
@@ -0,0 +1,31 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0057Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Verify that scope == 'provided' dependencies are available to tests.
+ */
+ public void testit0057()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0057" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0001/Person.class" );
+ verifier.assertFilePresent( "target/test-classes/org/apache/maven/it0001/PersonTest.class" );
+ verifier.assertFilePresent( "target/maven-it-it0057-1.0.jar" );
+ verifier.assertFilePresent( "target/maven-it-it0057-1.0.jar!/it0001.properties" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0057 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0058Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0058Test.java
new file mode 100644
index 0000000000..160647ead6
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0058Test.java
@@ -0,0 +1,34 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MavenIT0058Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Verify that profiles from settings.xml do not pollute module lists
+ * across projects in a reactorized build.
+ */
+ public void testit0058()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0058" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "--settings ./settings.xml" );
+ verifier.setCliOptions( cliOptions );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "subproject/target/subproject-1.0.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0058 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0059Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0059Test.java
new file mode 100644
index 0000000000..79d779fffe
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0059Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.Properties;
+
+public class MavenIT0059Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Verify that maven-1 POMs will be ignored but not stop the resolution
+ * process.
+ */
+ public void testit0059()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0059" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ Properties verifierProperties = new Properties();
+ verifierProperties.put( "failOnErrorOutput", "false" );
+ verifier.setVerifierProperties( verifierProperties );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/maven-it-it0059-1.0.jar" );
+// don't verify error free log
+ verifier.resetStreams();
+ System.out.println( "it0059 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0060Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0060Test.java
new file mode 100644
index 0000000000..93f4e25aab
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0060Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0060Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test aggregation of list configuration items when using
+ * 'combine.children=append' attribute. Specifically, merge the list of
+ * excludes for the testCompile mojo.
+ */
+ public void testit0060()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0060" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "test" );
+ verifier.assertFilePresent( "subproject/target/classes/org/apache/maven/it0060/Person.class" );
+ verifier.assertFilePresent( "subproject/target/test-classes/org/apache/maven/it0060/PersonTest.class" );
+ verifier.assertFileNotPresent( "subproject/target/test-classes/org/apache/maven/it0060/PersonTwoTest.class" );
+ verifier.assertFileNotPresent( "subproject/target/test-classes/org/apache/maven/it0060/PersonThreeTest.class" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0060 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0061Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0061Test.java
new file mode 100644
index 0000000000..1a3643af1e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0061Test.java
@@ -0,0 +1,31 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0061Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Verify that deployment of artifacts to a legacy-layout repository
+ * results in a groupId directory of 'the.full.group.id' instead of
+ * 'the/full/group/id'.
+ */
+ public void testit0061()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0061" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "deploy" );
+ verifier.assertFilePresent( "target/test-repo/org.apache.maven.its.it0061/jars/maven-it-it0061-1.0.jar" );
+ verifier.assertFilePresent( "target/test-repo/org.apache.maven.its.it0061/poms/maven-it-it0061-1.0.pom" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0061 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0062Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0062Test.java
new file mode 100644
index 0000000000..a4500828e4
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0062Test.java
@@ -0,0 +1,31 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0062Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that a deployment of a snapshot falls back to a non-snapshot repository if no snapshot repository is
+ * specified.
+ */
+ public void testit0062()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0062" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven", "maven-it-it0062-SNAPSHOT", "1.0", "jar" );
+ verifier.executeGoal( "deploy" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0062/Person.class" );
+ verifier.assertFilePresent( "target/maven-it-it0062-1.0-SNAPSHOT.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0062 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0063Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0063Test.java
new file mode 100644
index 0000000000..6329dccc69
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0063Test.java
@@ -0,0 +1,31 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0063Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test the use of a system scoped dependency to tools.jar.
+ */
+ public void testit0063()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0063" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0001/Person.class" );
+ verifier.assertFilePresent( "target/test-classes/org/apache/maven/it0001/PersonTest.class" );
+ verifier.assertFilePresent( "target/maven-it-it0063-1.0.jar" );
+ verifier.assertFilePresent( "target/maven-it-it0063-1.0.jar!/it0001.properties" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0063 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0064Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0064Test.java
new file mode 100644
index 0000000000..e710ab4257
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0064Test.java
@@ -0,0 +1,31 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0064Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test the use of a mojo that uses setters instead of private fields
+ * for the population of configuration values.
+ */
+ public void testit0064()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0064" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven.its.plugins", "maven-it-plugin-setter", "1.0", "maven-plugin" );
+ verifier.executeGoal( "org.apache.maven.its.plugins:maven-it-plugin-setter:setter-touch" );
+ verifier.assertFilePresent( "target/fooValue" );
+ verifier.assertFilePresent( "target/barValue.baz" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0064 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0065Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0065Test.java
new file mode 100644
index 0000000000..8704365232
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0065Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0065Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that the basedir of the parent is set correctly.
+ */
+ public void testit0065()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0065" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "install" );
+ verifier.assertFilePresent( "subproject/target/child-basedir" );
+ verifier.assertFilePresent( "parent-basedir" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0065 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0066Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0066Test.java
new file mode 100644
index 0000000000..77b899379c
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0066Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MavenIT0066Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that nonstandard POM files will be installed correctly.
+ */
+ public void testit0066()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0066" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "-f other-pom.xml" );
+ verifier.setCliOptions( cliOptions );
+ verifier.executeGoal( "install" );
+ verifier.assertFilePresent( "" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0066 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0067Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0067Test.java
new file mode 100644
index 0000000000..c6e9fb6824
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0067Test.java
@@ -0,0 +1,34 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MavenIT0067Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test activation of a profile from the command line.
+ */
+ public void testit0067()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0067" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven", "maven-core-it-support", "1.0", "jar" );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "-P test-profile" );
+ verifier.setCliOptions( cliOptions );
+ verifier.executeGoal( "compile" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0021/Person.class" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0067 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0068Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0068Test.java
new file mode 100644
index 0000000000..bc2a198472
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0068Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.Properties;
+
+public class MavenIT0068Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test repository accumulation.
+ */
+ public void testit0068()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0068" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.codehaus.modello", "modello-core", "1.0-alpha-3", "jar" );
+ Properties verifierProperties = new Properties();
+ verifierProperties.put( "failOnErrorOutput", "false" );
+ verifier.setVerifierProperties( verifierProperties );
+ verifier.executeGoal( "generate-sources" );
+ verifier.assertFilePresent( "target/generated-sources/modello/org/apache/maven/settings/Settings.java" );
+// don't verify error free log
+ verifier.resetStreams();
+ System.out.println( "it0068 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0069Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0069Test.java
new file mode 100644
index 0000000000..f029ccb888
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0069Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MavenIT0069Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test offline mode.
+ */
+ public void testit0069()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0069" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "-o" );
+ verifier.setCliOptions( cliOptions );
+ verifier.executeGoal( "compile" );
+ verifier.assertFilePresent( "target/classes/org/apache/maven/it0069/ClassworldBasedThing.class" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0069 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0070Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0070Test.java
new file mode 100644
index 0000000000..92a5e3167b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0070Test.java
@@ -0,0 +1,30 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0070Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test a RAR generation.
+ */
+ public void testit0070()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0070" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/maven-it-it0070-1.0.rar" );
+ verifier.assertFilePresent( "target/maven-it-it0070-1.0.rar!/META-INF/ra.xml" );
+ verifier.assertFilePresent( "target/maven-it-it0070-1.0.rar!/SomeResource.txt" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0070 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0071Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0071Test.java
new file mode 100644
index 0000000000..6e36057392
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0071Test.java
@@ -0,0 +1,30 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0071Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Verifies that dotted property references work within plugin
+ * configurations.
+ */
+ public void testit0071()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0071" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven.plugins", "maven-it-it-plugin", "1.0", "maven-plugin" );
+ verifier.executeGoal( "org.apache.maven.its.plugins:maven-it-plugin-touch:touch" );
+ verifier.assertFilePresent( "target/foo2" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0071 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0072Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0072Test.java
new file mode 100644
index 0000000000..dbdc45fc8f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0072Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0072Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Verifies that property references with dotted notation work within
+ * POM interpolation.
+ */
+ public void testit0072()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0072" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "target/maven-it-it0072-1.0-SNAPSHOT.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0072 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0073Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0073Test.java
new file mode 100644
index 0000000000..5619581308
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0073Test.java
@@ -0,0 +1,34 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.List;
+
+public class MavenIT0073Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Tests context passing between mojos in the same plugin.
+ */
+ public void testit0073()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0073" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven.its.plugins", "maven-it-plugin-context-passing", "1.0", "maven-plugin" );
+ List goals = Arrays.asList( new String[]{
+ "org.apache.maven.its.plugins:maven-it-plugin-context-passing:throw",
+ "org.apache.maven.its.plugins:maven-it-plugin-context-passing:catch"} );
+ verifier.executeGoals( goals );
+ verifier.assertFilePresent( "target/thrown-value" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0073 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0074Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0074Test.java
new file mode 100644
index 0000000000..574cc33133
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0074Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0074Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that plugin-level configuration instances are not nullified by
+ * execution-level configuration instances.
+ */
+ public void testit0074()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0074" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "eclipse:eclipse" );
+ verifier.assertFilePresent( ".classpath" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0074 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0075Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0075Test.java
new file mode 100644
index 0000000000..32fce5b695
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0075Test.java
@@ -0,0 +1,37 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class MavenIT0075Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Verify that direct invocation of a mojo from the command line still
+ * results in the processing of modules included via profiles.
+ */
+ public void testit0075()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0075" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "-Dactivate=anything" );
+ verifier.setCliOptions( cliOptions );
+ List goals = Arrays.asList( new String[]{"help:active-profiles", "package", "eclipse:eclipse", "clean:clean"} );
+ verifier.executeGoals( goals );
+ verifier.assertFileNotPresent( "sub1/target/maven-it-it0075-sub1-1.0.jar" );
+ verifier.assertFileNotPresent( "sub2/target/maven-it-it0075-sub2-1.0.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0075 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0076Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0076Test.java
new file mode 100644
index 0000000000..3f3a823e37
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0076Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0076Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that plugins in pluginManagement aren't included in the build
+ * unless they are referenced by groupId/artifactId within the plugins
+ * section of a pom.
+ */
+ public void testit0076()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0076" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "install" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0076 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0077Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0077Test.java
new file mode 100644
index 0000000000..82d3e8d6b6
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0077Test.java
@@ -0,0 +1,34 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MavenIT0077Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test test jar attachment.
+ */
+ public void testit0077()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0077" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven.its.it0077", "sub1", "1.0", "test-jar" );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "--settings settings.xml" );
+ verifier.setCliOptions( cliOptions );
+ verifier.executeGoal( "install" );
+ verifier.assertArtifactPresent( "org.apache.maven.its.it0077", "sub1", "1.0", "test-jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0077 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0078Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0078Test.java
new file mode 100644
index 0000000000..ed6dec5913
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0078Test.java
@@ -0,0 +1,30 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0078Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that configuration for maven-compiler-plugin is injected from
+ * PluginManagement section even when it's not explicitly defined in the
+ * plugins section.
+ */
+ public void testit0078()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0078" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "compile" );
+ verifier.assertFileNotPresent( "target/classes/Test.class" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0078 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0079Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0079Test.java
new file mode 100644
index 0000000000..2fd8bf82bc
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0079Test.java
@@ -0,0 +1,30 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0079Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that source attachments have the same build number as the main
+ * artifact when deployed.
+ */
+ public void testit0079()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0079" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "deploy" );
+ verifier.assertFilePresent( "target/test-repo/org/apache/maven/its/it0079/maven-it-it0079/SNAPSHOT/maven-it-it0079-*-1.jar" );
+ verifier.assertFilePresent( "target/test-repo/org/apache/maven/its/it0079/maven-it-it0079/SNAPSHOT/maven-it-it0079-*-1-sources.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0079 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0080Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0080Test.java
new file mode 100644
index 0000000000..1d47094c81
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0080Test.java
@@ -0,0 +1,36 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0080Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that depending on a WAR doesn't also get its dependencies
+ * transitively.
+ */
+ public void testit0080()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0080" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "test-component-a/target/test-component-a-0.1.jar" );
+ verifier.assertFilePresent( "test-component-b/target/test-component-b-0.1.war" );
+ verifier.assertFilePresent(
+ "test-component-b/target/test-component-b-0.1.war!/WEB-INF/lib/test-component-a-0.1.jar" );
+ verifier.assertFilePresent( "test-component-c/target/test-component-c-0.1.ear" );
+ verifier.assertFilePresent( "test-component-c/target/test-component-c-0.1.ear!/test-component-b-0.1.war" );
+ verifier.assertFilePresent( "test-component-c/target/test-component-c-0.1/test-component-b-0.1.war" );
+ verifier.assertFileNotPresent( "test-component-c/target/test-component-c-0.1/test-component-a-0.1.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0080 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0081Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0081Test.java
new file mode 100644
index 0000000000..f8a0c77f9f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0081Test.java
@@ -0,0 +1,28 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0081Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test per-plugin dependencies.
+ */
+ public void testit0081()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0081" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "install" );
+ verifier.assertFilePresent( "test-component-c/target/org.apache.maven.wagon.providers.ftp.FtpWagon" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0081 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0082Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0082Test.java
new file mode 100644
index 0000000000..81c0578dcc
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0082Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0082Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that the reactor can establish the artifact location of known projects for dependencies
+ * using process-sources to see that it works even when they aren't compiled
+ */
+ public void testit0082()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0082" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "process-sources" );
+ verifier.assertFilePresent( "test-component-c/target/my-test" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0082 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0083Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0083Test.java
new file mode 100644
index 0000000000..cda9a67443
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0083Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0083Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Verify that overriding a compile time dependency as provided in a WAR ensures it is not included.
+ */
+ public void testit0083()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0083" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "test-component-a/target/test-component-a-0.1.jar" );
+ verifier.assertFilePresent( "test-component-b/target/test-component-b-0.1.jar" );
+ verifier.assertFilePresent( "test-component-c/target/test-component-c-0.1.war" );
+ verifier.assertFilePresent( "test-component-c/target/test-component-c-0.1.war!/WEB-INF/lib/test-component-b-0.1.jar" );
+ verifier.assertFileNotPresent( "test-component-c/target/test-component-c-0.1/WEB-INF/lib/test-component-a-0.1.jar" );
+ verifier.assertFilePresent( "test-component-c/target/test-component-c-0.1/WEB-INF/lib/test-component-b-0.1.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0083 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0084Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0084Test.java
new file mode 100644
index 0000000000..6072f8eeb4
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0084Test.java
@@ -0,0 +1,39 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0084Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Verify that the collector selecting a particular version gets the correct subtree
+ */
+ public void testit0084()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0084" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "test-component-a/target/test-component-a-0.1.jar" );
+ verifier.assertFilePresent( "test-component-b/target/test-component-b-0.1.jar" );
+ verifier.assertFilePresent( "test-component-c/target/test-component-c-0.1.war" );
+ verifier.assertFilePresent( "test-component-c/target/test-component-c-0.1.war!/WEB-INF/lib/test-component-a-0.1.jar" );
+ verifier.assertFilePresent( "test-component-c/target/test-component-c-0.1.war!/WEB-INF/lib/test-component-b-0.1.jar" );
+ verifier.assertFilePresent( "test-component-c/target/test-component-c-0.1.war!/WEB-INF/lib/maven-core-it-support-1.4.jar" );
+ verifier.assertFilePresent( "test-component-c/target/test-component-c-0.1.war!/WEB-INF/lib/commons-io-1.0.jar" );
+ verifier.assertFilePresent( "test-component-c/target/test-component-c-0.1/WEB-INF/lib/test-component-a-0.1.jar" );
+ verifier.assertFilePresent( "test-component-c/target/test-component-c-0.1/WEB-INF/lib/test-component-b-0.1.jar" );
+ verifier.assertFilePresent( "test-component-c/target/test-component-c-0.1/WEB-INF/lib/maven-core-it-support-1.4.jar" );
+ verifier.assertFilePresent( "test-component-c/target/test-component-c-0.1/WEB-INF/lib/commons-io-1.0.jar" );
+ verifier.assertFileNotPresent( "test-component-c/target/test-component-c-0.1/WEB-INF/lib/commons-lang-1.0.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0084 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0085Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0085Test.java
new file mode 100644
index 0000000000..e75594882e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0085Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0085Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Verify that system-scoped dependencies get resolved with system scope
+ * when they are resolved transitively via another (non-system)
+ * dependency. Inherited scope should not apply in the case of
+ * system-scoped dependencies, no matter where they are.
+ */
+ public void testit0085()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0085" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFileNotPresent( "war/target/war-1.0/WEB-INF/lib/pom.xml" );
+ verifier.assertFileNotPresent( "war/target/war-1.0/WEB-INF/lib/it0085-dep-1.0.jar" );
+ verifier.assertFilePresent( "war/target/war-1.0/WEB-INF/lib/junit-3.8.1.jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0085 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0086Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0086Test.java
new file mode 100644
index 0000000000..f47032c451
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0086Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0086Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Verify that a plugin dependency class can be loaded from both the plugin classloader and the
+ * context classloader available to the plugin.
+ */
+ public void testit0086()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0086" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven.plugins", "maven-it-it-plugin", "1.0", "maven-plugin" );
+ verifier.executeGoal( "validate" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0086 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0087Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0087Test.java
new file mode 100644
index 0000000000..086afc3d51
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0087Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0087Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Verify that a project-level plugin dependency class can be loaded from both the plugin classloader
+ * and the context classloader available to the plugin.
+ */
+ public void testit0087()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0087" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven.plugins", "maven-it-it-plugin", "1.0", "maven-plugin" );
+ verifier.executeGoal( "validate" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0087 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0088Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0088Test.java
new file mode 100644
index 0000000000..d3d1b48178
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0088Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0088Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test path translation.
+ */
+ public void testit0088()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0088" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "test" );
+ verifier.assertFilePresent( "target/classes/test.properties" );
+ verifier.assertFilePresent( "target/mojo-generated.properties" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0088 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0089Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0089Test.java
new file mode 100644
index 0000000000..4ed93628f2
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0089Test.java
@@ -0,0 +1,30 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0089Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that Checkstyle PackageNamesLoader.loadModuleFactory(..) method will complete as-is with
+ * the context classloader available to the plugin.
+ */
+ public void testit0089()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0089" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven.plugins", "maven-it-it-plugin", "1.0", "maven-plugin" );
+ verifier.executeGoal( "install" );
+ verifier.assertFilePresent( "project/target/output.txt" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0089 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0090Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0090Test.java
new file mode 100644
index 0000000000..c94ad1053e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0090Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.Map;
+import java.util.HashMap;
+
+public class MavenIT0090Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that ensures that envars are interpolated correctly into plugin
+ * configurations.
+ */
+ public void testit0090()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0090" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath(), true );
+ Map envVars = new HashMap();
+ envVars.put( "MAVEN_TEST_ENVAR", "MAVEN_TEST_ENVAR_VALUE" );
+ verifier.executeGoal( "test", envVars );
+ verifier.assertFilePresent( "target/mojo-generated.properties" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0090 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0091Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0091Test.java
new file mode 100644
index 0000000000..28f067bf63
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0091Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+/**
+ * # it0091 currrently fails. Not sure if there is an associated JIRA.
+ */
+public class MavenIT0091Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that currently demonstrates that properties are not correctly
+ * interpolated into other areas in the POM. This may strictly be a boolean
+ * problem: I captured the problem as it was reported.
+ */
+ public void testit0091()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0091" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "test" );
+ verifier.assertFilePresent( "target/classes/test.properties" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0091 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0092Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0092Test.java
new file mode 100644
index 0000000000..b629cf5bfd
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0092Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0092Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that legacy repositories with legacy snapshots download correctly.
+ */
+ public void testit0092()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0092" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven", "maven-core-it-support", "1.0-SNAPSHOT", "jar" );
+ verifier.executeGoal( "compile" );
+ verifier.assertArtifactPresent( "org.apache.maven", "maven-core-it-support", "1.0-SNAPSHOT", "jar" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0092 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0094Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0094Test.java
new file mode 100644
index 0000000000..acd3d88df7
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0094Test.java
@@ -0,0 +1,27 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0094Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test classloading issues with mojos after 2.0 (MNG-1898).
+ */
+ public void testit0094()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0094" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "install" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0094 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0095Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0095Test.java
new file mode 100644
index 0000000000..1d9b992806
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0095Test.java
@@ -0,0 +1,27 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0095Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test URL calculation when modules are in sibling dirs of parent. (MNG-2006)
+ */
+ public void testit0095()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0095" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "integration-test" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0095 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0096Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0096Test.java
new file mode 100644
index 0000000000..f72180a178
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0096Test.java
@@ -0,0 +1,27 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0096Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that plugin executions from >1 step of inheritance don't run multiple times.
+ */
+ public void testit0096()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0096" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0096 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0097Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0097Test.java
new file mode 100644
index 0000000000..68a5f5c415
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0097Test.java
@@ -0,0 +1,30 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0097Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that the implied relative path for the parent POM works, even two
+ * levels deep.
+ */
+ public void testit0097()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0097" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.assertFilePresent( "project/project-level2/project-level3/target/it0097.txt" );
+ verifier.assertFilePresent( "project/project-sibling-level2/target/it0097.txt" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0097 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0098Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0098Test.java
new file mode 100644
index 0000000000..e594c7f846
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0098Test.java
@@ -0,0 +1,35 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * # it0098 - something started failing here, not yet identified. MNG-2322
+ */
+public class MavenIT0098Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that quoted system properties are processed correctly. [MNG-1415]
+ */
+ public void testit0098()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0098" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "-Dtest.property=\"Test Property\"" );
+ verifier.setCliOptions( cliOptions );
+ verifier.executeGoal( "test" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0098 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0099Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0099Test.java
new file mode 100644
index 0000000000..afd0a9b920
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0099Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0099Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that parent-POMs cached during a build are available as parents
+ * to other POMs in the multimodule build. [MNG-2130]
+ */
+ public void testit0099()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0099" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.deleteArtifact( "org.apache.maven.it0099", "maven-it-it0099-parent", "1", "pom" );
+ verifier.executeGoal( "package" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0099 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0100Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0100Test.java
new file mode 100644
index 0000000000..c7016d8a1f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0100Test.java
@@ -0,0 +1,27 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0100Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that ${parent.artifactId} resolves correctly. [MNG-2124]
+ */
+ public void testit0100()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0100" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "verify" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0100 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0101Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0101Test.java
new file mode 100644
index 0000000000..a3e46f5b35
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0101Test.java
@@ -0,0 +1,34 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MavenIT0101Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that properties defined in an active profile in the user's
+ * settings are available for interpolation of systemPath in a dependency.
+ * [MNG-2052]
+ */
+ public void testit0101()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0101" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "--settings settings.xml" );
+ verifier.setCliOptions( cliOptions );
+ verifier.executeGoal( "compile" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0101 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0102Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0102Test.java
new file mode 100644
index 0000000000..6f9c9fcd78
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0102Test.java
@@ -0,0 +1,28 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0102Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Test that <activeByDefault/> calculations for profile activation only
+ * use profiles defined in the POM. [MNG-2136]
+ */
+ public void testit0102()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0102" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "verify" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0102 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0103Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0103Test.java
new file mode 100644
index 0000000000..d1b3b4e8eb
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0103Test.java
@@ -0,0 +1,29 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class MavenIT0103Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Verify that multimodule builds where one project references another as
+ * a parent can build, even if that parent is not correctly referenced by
+ * <relativePath/> and is not in the local repository. [MNG-2196]
+ */
+ public void testit0103()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0103" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "package" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0103 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0104Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0104Test.java
new file mode 100644
index 0000000000..bbf22f695e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0104Test.java
@@ -0,0 +1,32 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+/**
+ * #it0104 Commenting out, not fixed until post-2.0.4, due to dependency on new plexus-container-default version.
+ */
+public class MavenIT0104Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * Verify that plugin configurations are resolved correctly, particularly
+ * when they contain ${project.build.directory} in the string value of a
+ * Map.Entry.
+ */
+ public void testit0104()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0104" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "test" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0104 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0105Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0105Test.java
new file mode 100644
index 0000000000..0f8d49dc17
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0105Test.java
@@ -0,0 +1,33 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MavenIT0105Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * MRESOURCES-18
+ */
+ public void testit0105()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0105" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "-Dparam=PARAM" );
+ verifier.setCliOptions( cliOptions );
+ verifier.executeGoal( "test" );
+ verifier.assertFilePresent( "target/classes/test.properties" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0105 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0106Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0106Test.java
new file mode 100644
index 0000000000..92726cde68
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0106Test.java
@@ -0,0 +1,30 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+/**
+ * #it0106 MNG-2318 not yet fixed
+ */
+public class MavenIT0106Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+
+ /**
+ * When a project has modules and its parent is not preinstalled [MNG-2318]
+ */
+ public void testit0106()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0106" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.executeGoal( "clean" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0106 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0107Test.java b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0107Test.java
new file mode 100644
index 0000000000..def119ee43
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0107Test.java
@@ -0,0 +1,35 @@
+package org.apache.maven.integrationtests;
+
+import junit.framework.TestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * #it0107 requires a snapshot version of maven-plugin-plugin, which indicates it doesn't belong here
+ */
+public class MavenIT0107Test
+ extends TestCase /*extends AbstractMavenIntegrationTest*/
+{
+ /**
+ * Verify that default implementation of an implementation for a complex object works as
+ * expected [MNG-2293]
+ */
+ public void testit0107()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0107" );
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ List cliOptions = new ArrayList();
+ cliOptions.add( "-X" );
+ verifier.setCliOptions( cliOptions );
+ verifier.executeGoal( "core-it:param-implementation" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ System.out.println( "it0107 PASS" );
+ }
+}
+
diff --git a/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/fix.sh b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/fix.sh
new file mode 100755
index 0000000000..d33b10fb96
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/java/org/apache/maven/integrationtests/fix.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+for i in `ls Maven*.java`
+do
+name=`echo $i | sed 's/Maven//' | sed 's/Test.java//' | tr A-Z a-z`
+sed "s/core-it:touch/org.apache.maven.its.plugins:maven-it-plugin-touch:touch/" $i > $i.new
+#sed "s/verifier.assertArtifactPresent( \"org.apache.maven\", \"maven-it-it/verifier.assertArtifactPresent( \"org.apache.maven.its.$name\", \"maven-it-it/" $i > $i.new
+mv $i.new $i
+done
diff --git a/its/maven-core-integration-tests/src/test/resources/it0000/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0000/pom.xml
new file mode 100644
index 0000000000..207aee0c50
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0000/pom.xml
@@ -0,0 +1,21 @@
+
+ 4.0.0
+ Maven Integration Test :: it0000
+ org.apache.maven.its.it0000
+ maven-it-it0000
+ The simplest of builds. We have one application class and one test
+ class. There are no resources, no source generation, no resource
+ generation and a the super model is employed to provide the build
+ information.
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0000/src/main/java/org/apache/maven/it0000/Person.java b/its/maven-core-integration-tests/src/test/resources/it0000/src/main/java/org/apache/maven/it0000/Person.java
new file mode 100644
index 0000000000..a9fb4bc9d2
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0000/src/main/java/org/apache/maven/it0000/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0000;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0000/src/test/java/org/apache/maven/it0000/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0000/src/test/java/org/apache/maven/it0000/PersonTest.java
new file mode 100644
index 0000000000..354f917f46
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0000/src/test/java/org/apache/maven/it0000/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0000;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0001/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0001/pom.xml
new file mode 100644
index 0000000000..8a2c2be4aa
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0001/pom.xml
@@ -0,0 +1,19 @@
+
+ 4.0.0
+ Maven Integration Test :: it0001
+ org.apache.maven.its.it0001
+ maven-it-it0001
+ Builds upon it0000: we add an application resource that is packaged
+ up in the resultant JAR.
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0001/src/main/java/org/apache/maven/it0001/Person.java b/its/maven-core-integration-tests/src/test/resources/it0001/src/main/java/org/apache/maven/it0001/Person.java
new file mode 100644
index 0000000000..613e499ae0
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0001/src/main/java/org/apache/maven/it0001/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0001/src/main/resources/it0001.properties b/its/maven-core-integration-tests/src/test/resources/it0001/src/main/resources/it0001.properties
new file mode 100644
index 0000000000..f54f8ab106
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0001/src/main/resources/it0001.properties
@@ -0,0 +1 @@
+name = jason
diff --git a/its/maven-core-integration-tests/src/test/resources/it0001/src/test/java/org/apache/maven/it0001/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0001/src/test/java/org/apache/maven/it0001/PersonTest.java
new file mode 100644
index 0000000000..80014fa03b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0001/src/test/java/org/apache/maven/it0001/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0002/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0002/pom.xml
new file mode 100644
index 0000000000..3d19b16765
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0002/pom.xml
@@ -0,0 +1,27 @@
+
+ 4.0.0
+ Maven Integration Test :: it0002
+ org.apache.maven.its.it0002
+ maven-it-it0002
+ Builds upon it0001: we add the download of a dependency. We delete
+ the JAR from the local repository and make sure it is there post build.
+
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+ org.apache.maven
+ maven-core-it-support
+ 1.0
+ jar
+ compile
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0002/src/main/java/org/apache/maven/it0002/Person.java b/its/maven-core-integration-tests/src/test/resources/it0002/src/main/java/org/apache/maven/it0002/Person.java
new file mode 100644
index 0000000000..6d89b1a6d1
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0002/src/main/java/org/apache/maven/it0002/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0002;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0002/src/main/resources/it0002.properties b/its/maven-core-integration-tests/src/test/resources/it0002/src/main/resources/it0002.properties
new file mode 100644
index 0000000000..f54f8ab106
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0002/src/main/resources/it0002.properties
@@ -0,0 +1 @@
+name = jason
diff --git a/its/maven-core-integration-tests/src/test/resources/it0002/src/test/java/org/apache/maven/it0002/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0002/src/test/java/org/apache/maven/it0002/PersonTest.java
new file mode 100644
index 0000000000..e095c90a12
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0002/src/test/java/org/apache/maven/it0002/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0002;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0003/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0003/pom.xml
new file mode 100644
index 0000000000..13117f4c51
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0003/pom.xml
@@ -0,0 +1,20 @@
+
+ 4.0.0
+ Maven Integration Test :: it0003
+ org.apache.maven.its.it0003
+ maven-it-it0003
+ Builds upon it0001: we add a jar installation step. We delete the JAR
+ from the local repository to make sure it is there post build.
+
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0003/src/main/java/org/apache/maven/it0003/Person.java b/its/maven-core-integration-tests/src/test/resources/it0003/src/main/java/org/apache/maven/it0003/Person.java
new file mode 100644
index 0000000000..976117e5f7
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0003/src/main/java/org/apache/maven/it0003/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0003;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0003/src/main/resources/it0003.properties b/its/maven-core-integration-tests/src/test/resources/it0003/src/main/resources/it0003.properties
new file mode 100644
index 0000000000..f54f8ab106
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0003/src/main/resources/it0003.properties
@@ -0,0 +1 @@
+name = jason
diff --git a/its/maven-core-integration-tests/src/test/resources/it0003/src/test/java/org/apache/maven/it0003/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0003/src/test/java/org/apache/maven/it0003/PersonTest.java
new file mode 100644
index 0000000000..82af36a9a0
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0003/src/test/java/org/apache/maven/it0003/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0003;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0004/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0004/pom.xml
new file mode 100644
index 0000000000..eba316eea3
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0004/pom.xml
@@ -0,0 +1,11 @@
+
+ 4.0.0
+ Maven Integration Test :: it0004
+ org.apache.maven.its.it0004
+ maven-it-it0004
+ The simplest of pom installation. We have a pom and we install it in
+ local repository.
+
+ pom
+ 1.0
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0005/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0005/pom.xml
new file mode 100644
index 0000000000..d14b543ae3
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0005/pom.xml
@@ -0,0 +1,10 @@
+
+ 4.0.0
+ Maven Integration Test :: it0005
+ org.apache.maven.its.it0005
+ maven-it-it0005
+ The simplest of pom installation. We have a snapshot pom and we install
+ it in local repository.
+ pom
+ 1.0-SNAPSHOT
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0006/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0006/pom.xml
new file mode 100644
index 0000000000..8fcb300d8a
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0006/pom.xml
@@ -0,0 +1,22 @@
+
+ 4.0.0
+ Maven Integration Test :: it0006
+ org.apache.maven.its.it0006
+ maven-it-it0006
+ Integration test for the verifier plugin.
+ 1.0-alpha-2-SNAPSHOT
+
+
+
+ maven-verifier-plugin
+
+
+
+ verify
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0006/src/test/verifier/verifications.xml b/its/maven-core-integration-tests/src/test/resources/it0006/src/test/verifier/verifications.xml
new file mode 100644
index 0000000000..b740ea5ed2
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0006/src/test/verifier/verifications.xml
@@ -0,0 +1,15 @@
+
+
+
+ src/test/verifier/verifications.xml
+
+
+ src/test/verifier/invalidfile
+ false
+
+
+ pom.xml
+ Maven.*Integration Test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0007/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0007/pom.xml
new file mode 100644
index 0000000000..10d9f425a4
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0007/pom.xml
@@ -0,0 +1,22 @@
+
+
+ maven-plugin-parent
+ org.apache.maven.plugins
+ 2.0
+
+ 4.0.0
+ maven-it-it0007
+ We specify a parent in the POM and make sure that it is downloaded as
+ part of the process.
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0007/src/main/java/org/apache/maven/it0007/Person.java b/its/maven-core-integration-tests/src/test/resources/it0007/src/main/java/org/apache/maven/it0007/Person.java
new file mode 100644
index 0000000000..fd86c7e709
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0007/src/main/java/org/apache/maven/it0007/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0007;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0007/src/main/resources/it0007.properties b/its/maven-core-integration-tests/src/test/resources/it0007/src/main/resources/it0007.properties
new file mode 100644
index 0000000000..f54f8ab106
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0007/src/main/resources/it0007.properties
@@ -0,0 +1 @@
+name = jason
diff --git a/its/maven-core-integration-tests/src/test/resources/it0007/src/test/java/org/apache/maven/it0007/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0007/src/test/java/org/apache/maven/it0007/PersonTest.java
new file mode 100644
index 0000000000..228f5f0e96
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0007/src/test/java/org/apache/maven/it0007/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0007;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0008/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0008/pom.xml
new file mode 100644
index 0000000000..4b8638b6f1
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0008/pom.xml
@@ -0,0 +1,38 @@
+
+ 4.0.0
+ Maven Integration Test :: it0008
+ org.apache.maven.its.it0008
+ maven-it-it0008
+ Simple goal decoration where a plugin binds to a phase and the plugin must
+ be downloaded from a remote repository before it can be executed. This
+ test also checks to make sure that mojo parameters are aligned to the
+ project basedir when their type is "java.io.File".
+
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-touch
+ 1.0-SNAPSHOT
+
+
+
+ touch
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0008/src/main/java/org/apache/maven/it0008/Person.java b/its/maven-core-integration-tests/src/test/resources/it0008/src/main/java/org/apache/maven/it0008/Person.java
new file mode 100644
index 0000000000..a1505362a2
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0008/src/main/java/org/apache/maven/it0008/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0008;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0008/src/test/java/org/apache/maven/it0008/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0008/src/test/java/org/apache/maven/it0008/PersonTest.java
new file mode 100644
index 0000000000..0a3c27cc3a
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0008/src/test/java/org/apache/maven/it0008/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0008;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0009/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0009/pom.xml
new file mode 100644
index 0000000000..a3cd101104
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0009/pom.xml
@@ -0,0 +1,44 @@
+
+ 4.0.0
+ Maven Integration Test :: it0009
+ org.apache.maven.its.it0009
+ maven-it-it0009
+ Test plugin configuration and goal configuration that overrides what the
+ mojo has specified.
+
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-touch
+ 1.0-SNAPSHOT
+
+ pluginItem
+ bad-item
+
+
+
+ generate-resources
+
+ touch
+
+
+ goalItem
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0010/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0010/pom.xml
new file mode 100644
index 0000000000..b6071e3a77
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0010/pom.xml
@@ -0,0 +1,32 @@
+
+ 4.0.0
+ Maven Integration Test :: it0010
+ org.apache.maven.its.it0010
+ maven-it-it0010
+ Since the artifact resolution does not use the project builder, we must
+ ensure that the full hierarchy of all dependencies is resolved. This
+ includes the dependencies of the parent-pom's of dependencies. This test
+ will check this, by depending on classworlds, which is a dependency of
+ maven-component, which is the parent of maven-plugin, which is an
+ explicit dependency of this test.
+ # TODO: must correct the assumptions of this test
+
+ jar
+ 1.0
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0-beta-1
+ jar
+ compile
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0010/src/main/java/org/apache/maven/it0010/PersonFinder.java b/its/maven-core-integration-tests/src/test/resources/it0010/src/main/java/org/apache/maven/it0010/PersonFinder.java
new file mode 100644
index 0000000000..f7097b08d1
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0010/src/main/java/org/apache/maven/it0010/PersonFinder.java
@@ -0,0 +1,11 @@
+package org.apache.maven.it0010;
+
+public class PersonFinder
+{
+ public void findPerson()
+ throws Exception
+ {
+ // look it up at runtime, but do not require it at compile time
+ Class.forName( "org.codehaus.classworlds.ClassRealm" );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0010/src/test/java/org/apache/maven/it0010/PersonFinderTest.java b/its/maven-core-integration-tests/src/test/resources/it0010/src/test/java/org/apache/maven/it0010/PersonFinderTest.java
new file mode 100644
index 0000000000..ce2ff39dbd
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0010/src/test/java/org/apache/maven/it0010/PersonFinderTest.java
@@ -0,0 +1,14 @@
+package org.apache.maven.it0010;
+
+import junit.framework.TestCase;
+
+public class PersonFinderTest
+ extends TestCase
+{
+ public void testFindPerson()
+ throws Exception
+ {
+ // should be no exceptions
+ new PersonFinder().findPerson();
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0011/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0011/pom.xml
new file mode 100644
index 0000000000..201ee1e94e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0011/pom.xml
@@ -0,0 +1,41 @@
+
+ 4.0.0
+ Maven Integration Test :: it0011
+ org.apache.maven.its.it0011
+ maven-it-it0011
+ Test specification of dependency versions via <dependencyManagement/>.
+ jar
+ 1.0
+
+
+ org.apache.maven
+ maven-plugin-api
+ jar
+ compile
+
+
+ junit
+ junit
+ jar
+ compile
+
+
+
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0-beta-1
+ jar
+ compile
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0011/src/main/java/org/apache/maven/it0011/PersonFinder.java b/its/maven-core-integration-tests/src/test/resources/it0011/src/main/java/org/apache/maven/it0011/PersonFinder.java
new file mode 100644
index 0000000000..e932e55733
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0011/src/main/java/org/apache/maven/it0011/PersonFinder.java
@@ -0,0 +1,6 @@
+package org.apache.maven.it0011;
+
+public class PersonFinder
+{
+ org.apache.maven.plugin.Mojo mojo;
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0012/child-project/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0012/child-project/pom.xml
new file mode 100644
index 0000000000..68ae6f4634
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0012/child-project/pom.xml
@@ -0,0 +1,20 @@
+
+ 4.0.0
+ org.apache.maven
+ child-project
+ jar
+ 3.0.3
+
+
+
+ maven-it-plugin-touch
+ org.apache.maven.its.plugins
+ 1.0-SNAPSHOT
+
+ ${basedir}/target/
+ child-touch-${version}.txt
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0012/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0012/pom.xml
new file mode 100644
index 0000000000..165628412b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0012/pom.xml
@@ -0,0 +1,24 @@
+
+ 4.0.0
+ Maven Integration Test :: it0012
+ org.apache.maven.its.it0012
+ maven-it-it0012
+ Test simple POM interpolation
+ pom
+ 3.8.1
+
+
+
+ maven-it-plugin-touch
+ org.apache.maven.its.plugins
+ 1.0-SNAPSHOT
+
+ touch-${version}.txt
+
+
+
+
+
+ child-project
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0013/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0013/pom.xml
new file mode 100644
index 0000000000..d28e47a3e9
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0013/pom.xml
@@ -0,0 +1,34 @@
+
+ 4.0.0
+ Maven Integration Test :: it0013
+ org.apache.maven.its.it0013
+ maven-it-it0013
+ Test plugin-plugin, which tests maven-plugin-tools-api and
+ maven-plugin-tools-java. This will generate a plugin descriptor from
+ java-based mojo sources, install the plugin, and then use it.
+ maven-plugin
+ 1.0-SNAPSHOT
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0-beta-1
+ jar
+ compile
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+ central
+ Test Repository
+ file:/tmp/testRepo
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0013/src/main/java/org/apache/maven/plugin/coreit/CoreIt0013Mojo.java b/its/maven-core-integration-tests/src/test/resources/it0013/src/main/java/org/apache/maven/plugin/coreit/CoreIt0013Mojo.java
new file mode 100644
index 0000000000..ef566a63a8
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0013/src/main/java/org/apache/maven/plugin/coreit/CoreIt0013Mojo.java
@@ -0,0 +1,70 @@
+package org.apache.maven.plugin.coreit;
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
+/**
+ * @goal it0013
+ *
+ * @description touches a test file
+ *
+ */
+public class CoreIt0013Mojo
+ extends AbstractMojo
+{
+ private static final int DELETE_RETRY_SLEEP_MILLIS = 10;
+
+ /**
+ * @parameter expression="${project.build.directory}"
+ * @required
+ */
+ private String outputDirectory;
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ getLog().info( "outputDirectory = " + outputDirectory );
+
+ File f = new File( outputDirectory );
+
+ if ( !f.exists() )
+ {
+ f.mkdirs();
+ }
+
+ File touch = new File( f, "it0013-verify" );
+
+ try
+ {
+ FileWriter w = new FileWriter( touch );
+
+ w.write( "it0013-verify" );
+
+ w.close();
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Error writing verification file.", e );
+ }
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0014/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0014/pom.xml
new file mode 100644
index 0000000000..0fa7e8a5ea
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0014/pom.xml
@@ -0,0 +1,31 @@
+
+ 4.0.0
+ Maven Integration Test :: it0014
+ org.apache.maven.its.it0014
+ maven-it-it0014
+ Test POM configuration by settings the -source and -target for the
+ compiler to 1.4
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+ 1.4
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0014/src/main/java/org/apache/maven/it0014/Person.java b/its/maven-core-integration-tests/src/test/resources/it0014/src/main/java/org/apache/maven/it0014/Person.java
new file mode 100644
index 0000000000..5add9e7d20
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0014/src/main/java/org/apache/maven/it0014/Person.java
@@ -0,0 +1,18 @@
+package org.apache.maven.it0001;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+
+ assert true;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0014/src/test/java/org/apache/maven/it0014/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0014/src/test/java/org/apache/maven/it0014/PersonTest.java
new file mode 100644
index 0000000000..80014fa03b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0014/src/test/java/org/apache/maven/it0014/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0016/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0016/pom.xml
new file mode 100644
index 0000000000..071ba01ddb
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0016/pom.xml
@@ -0,0 +1,38 @@
+
+ 4.0.0
+ Maven Integration Test :: it0016
+ org.apache.maven.its.it0016
+ maven-it-it0016
+ Test a WAR generation
+ war
+ 1.0
+
+
+
+ javax.servlet
+ servlet-api
+ 2.4
+ provided
+
+
+ commons-logging
+ commons-logging
+ 1.0.3
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0016/src/main/java/org/apache/maven/it0016/Person.java b/its/maven-core-integration-tests/src/test/resources/it0016/src/main/java/org/apache/maven/it0016/Person.java
new file mode 100644
index 0000000000..349355ad05
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0016/src/main/java/org/apache/maven/it0016/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0016;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0016/src/main/webapp/WEB-INF/web.xml b/its/maven-core-integration-tests/src/test/resources/it0016/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000000..92bb2e9825
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0016/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0016/src/main/webapp/index.html b/its/maven-core-integration-tests/src/test/resources/it0016/src/main/webapp/index.html
new file mode 100644
index 0000000000..7d8ae2e8d9
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0016/src/main/webapp/index.html
@@ -0,0 +1,5 @@
+
+
+ Hello World
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0017/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0017/pom.xml
new file mode 100644
index 0000000000..350e184e8c
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0017/pom.xml
@@ -0,0 +1,21 @@
+
+ 4.0.0
+ Maven Integration Test :: it0017
+ org.apache.maven.its.it0017
+ maven-it-it0017
+ Test an EJB generation
+ ejb
+ 1.0
+
+
+
+
+ org.apache.maven.plugins
+ maven-ejb-plugin
+
+ true
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0017/src/main/java/org/apache/maven/it0017/Person.java b/its/maven-core-integration-tests/src/test/resources/it0017/src/main/java/org/apache/maven/it0017/Person.java
new file mode 100644
index 0000000000..b3610c9cc9
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0017/src/main/java/org/apache/maven/it0017/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0017;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0017/src/main/resources/META-INF/ejb-jar.xml b/its/maven-core-integration-tests/src/test/resources/it0017/src/main/resources/META-INF/ejb-jar.xml
new file mode 100644
index 0000000000..ef027e8779
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0017/src/main/resources/META-INF/ejb-jar.xml
@@ -0,0 +1,22 @@
+
+
+
+
+ Hello
+ org.apache.maven.it0017.HelloHome
+ org.apache.maven.it0017.Hello
+ org.apache.maven.it0017.HelloBean
+ Stateless
+ Container
+
+
+
+
+
+ Hello
+ *
+
+ Required
+
+
+
\ No newline at end of file
diff --git a/its/maven-core-integration-tests/src/test/resources/it0018/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0018/pom.xml
new file mode 100644
index 0000000000..8928a53e8a
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0018/pom.xml
@@ -0,0 +1,31 @@
+
+ 4.0.0
+ Maven Integration Test :: it0018
+ org.apache.maven.its.it0018
+ maven-it-it0018
+ Ensure that managed dependencies for dependency POMs are calculated
+ correctly when resolved. Removes commons-logging-1.0.3 and checks it is
+ redownloaded.
+ 1.0
+
+
+
+ marmalade
+ marmalade-el-commons
+ 1.0-alpha-2
+
+
+ servletapi
+ servletapi
+
+
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0019/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0019/pom.xml
new file mode 100644
index 0000000000..37030fac78
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0019/pom.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+ Maven Integration Test :: it0019
+ org.apache.maven.its.it0019
+ maven-it-it0019
+ Test that a version is managed by pluginManagement in the super POM
+ 1.0
+
+
+
+ maven-compiler-plugin
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0019/src/main/java/org/apache/maven/it0019/Person.java b/its/maven-core-integration-tests/src/test/resources/it0019/src/main/java/org/apache/maven/it0019/Person.java
new file mode 100644
index 0000000000..30dd2d4dd0
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0019/src/main/java/org/apache/maven/it0019/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0019;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0020/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0020/pom.xml
new file mode 100644
index 0000000000..036e9e0f81
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0020/pom.xml
@@ -0,0 +1,45 @@
+
+ 4.0.0
+ Maven Integration Test :: it0020
+ org.apache.maven.its.it0020
+ maven-it-it0020
+ Test beanshell mojo support.
+ maven-plugin
+ 1.0-SNAPSHOT
+
+
+ org.apache.maven
+ maven-script-beanshell
+ 2.0
+
+
+
+
+
+ maven-plugin-plugin
+
+
+ org.apache.maven
+ maven-plugin-tools-beanshell
+ 2.0
+
+
+
+
+
+
+ src/main/scripts
+
+ **/*.bsh
+
+
+
+
+
+
+ central
+ Test Repository
+ file:/tmp/testRepo
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0020/src/main/scripts/org/apache/maven/it0020/it0020.bsh b/its/maven-core-integration-tests/src/test/resources/it0020/src/main/scripts/org/apache/maven/it0020/it0020.bsh
new file mode 100644
index 0000000000..d01119fdce
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0020/src/main/scripts/org/apache/maven/it0020/it0020.bsh
@@ -0,0 +1,28 @@
+/**
+ * Beanshell mojo integration test.
+ * @goal it0020
+ */
+
+import org.apache.maven.plugin.Mojo;
+import org.apache.maven.script.beanshell.BeanshellMojoAdapter;
+
+execute()
+{
+ logger.info( "Executing it0020..." );
+ print( "info level?" );
+ org.codehaus.plexus.util.FileUtils.fileWrite( outDir.getAbsolutePath() + "/out.txt", "This is a Beanshell test" );
+}
+
+/**
+ * Output directory for files.
+ *
+ * @parameter expression="${project.build.directory}" type="java.io.File"
+ * @required
+ */
+setOutDir( file )
+{
+ outDir = file;
+}
+
+return new BeanshellMojoAdapter( (Mojo) this, this.interpreter );
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0021/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0021/pom.xml
new file mode 100644
index 0000000000..05cc48be36
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0021/pom.xml
@@ -0,0 +1,38 @@
+
+ 4.0.0
+ Maven Integration Test :: it0021
+ org.apache.maven.its.it0021
+ maven-it-it0021
+ Test pom-level profile inclusion (this one is activated by system
+ property).
+ maven-plugin
+ 1.0-SNAPSHOT
+
+
+
+ test-profile
+
+
+
+ includeProfile
+
+
+
+
+
+ org.apache.maven
+ maven-core-it-support
+ 1.0
+
+
+
+
+
+
+
+ central
+ Test Repository
+ file:/tmp/testRepo
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0021/src/main/java/org/apache/maven/it0021/Person.java b/its/maven-core-integration-tests/src/test/resources/it0021/src/main/java/org/apache/maven/it0021/Person.java
new file mode 100644
index 0000000000..c16eaf1526
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0021/src/main/java/org/apache/maven/it0021/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0021;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0022/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0022/pom.xml
new file mode 100644
index 0000000000..08825c9b09
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0022/pom.xml
@@ -0,0 +1,20 @@
+
+ 4.0.0
+ Maven Integration Test :: it0022
+ org.apache.maven.its.it0022
+ maven-it-it0022
+ Test profile inclusion from profiles.xml (this one is activated by system property).
+ 1.0-SNAPSHOT
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-touch
+ 1.0-SNAPSHOT
+
+ ${test}
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0022/profiles.xml b/its/maven-core-integration-tests/src/test/resources/it0022/profiles.xml
new file mode 100644
index 0000000000..af450d105c
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0022/profiles.xml
@@ -0,0 +1,17 @@
+
+
+
+ test-profile
+
+
+
+ includeProfile
+
+
+
+
+ test.txt
+
+
+
+
\ No newline at end of file
diff --git a/its/maven-core-integration-tests/src/test/resources/it0022/src/main/java/org/apache/maven/it0022/Person.java b/its/maven-core-integration-tests/src/test/resources/it0022/src/main/java/org/apache/maven/it0022/Person.java
new file mode 100644
index 0000000000..e39696a3c7
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0022/src/main/java/org/apache/maven/it0022/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0022;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0023/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0023/pom.xml
new file mode 100644
index 0000000000..1b7f30f904
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0023/pom.xml
@@ -0,0 +1,20 @@
+
+ 4.0.0
+ Maven Integration Test :: it0023
+ org.apache.maven.its.it0023
+ maven-it-it0023
+ Test profile inclusion from settings.xml (this one is activated by an id in the activeProfiles section).
+ 1.0-SNAPSHOT
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-touch
+ 1.0-SNAPSHOT
+
+ ${test}
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0023/settings.xml b/its/maven-core-integration-tests/src/test/resources/it0023/settings.xml
new file mode 100644
index 0000000000..7ba36a4d49
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0023/settings.xml
@@ -0,0 +1,21 @@
+
+
+ test-profile
+
+
+
+
+ test-profile
+
+
+
+ includeProfile
+
+
+
+
+ test.txt
+
+
+
+
\ No newline at end of file
diff --git a/its/maven-core-integration-tests/src/test/resources/it0023/src/main/java/org/apache/maven/it0023/Person.java b/its/maven-core-integration-tests/src/test/resources/it0023/src/main/java/org/apache/maven/it0023/Person.java
new file mode 100644
index 0000000000..b57f4308e2
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0023/src/main/java/org/apache/maven/it0023/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0023;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0024/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0024/pom.xml
new file mode 100644
index 0000000000..c0f2102c05
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0024/pom.xml
@@ -0,0 +1,40 @@
+
+ 4.0.0
+ Maven Integration Test :: it0024
+ org.apache.maven.its.it0024
+ maven-it-it0024
+ Test usage of <executions/> inside a plugin rather than <goals/>
+ that are directly inside th plugin.
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+ test
+ generate-sources
+
+
+ 1.4
+
+
+ compile
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0024/src/main/java/org/apache/maven/it0024/Person.java b/its/maven-core-integration-tests/src/test/resources/it0024/src/main/java/org/apache/maven/it0024/Person.java
new file mode 100644
index 0000000000..8b27d410f2
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0024/src/main/java/org/apache/maven/it0024/Person.java
@@ -0,0 +1,18 @@
+package org.apache.maven.it0024;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+
+ assert true;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0024/src/test/java/org/apache/maven/it0024/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0024/src/test/java/org/apache/maven/it0024/PersonTest.java
new file mode 100644
index 0000000000..9d4a4b4080
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0024/src/test/java/org/apache/maven/it0024/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0024;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0025/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0025/pom.xml
new file mode 100644
index 0000000000..7080ff304d
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0025/pom.xml
@@ -0,0 +1,40 @@
+
+ 4.0.0
+ Maven Integration Test :: it0025
+ org.apache.maven.its.it0025
+ maven-it-it0025
+ Test multiple goal executions with different execution-level configs.
+ 1.0-SNAPSHOT
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-touch
+ 1.0-SNAPSHOT
+
+
+ test1
+
+
+ test.txt
+
+
+
+ touch
+
+
+
+ test2
+
+
+ test2.txt
+
+
+ touch
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0025/src/main/java/org/apache/maven/it0023/Person.java b/its/maven-core-integration-tests/src/test/resources/it0025/src/main/java/org/apache/maven/it0023/Person.java
new file mode 100644
index 0000000000..b57f4308e2
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0025/src/main/java/org/apache/maven/it0023/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0023;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0026/global-settings.xml b/its/maven-core-integration-tests/src/test/resources/it0026/global-settings.xml
new file mode 100644
index 0000000000..ca69453c4e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0026/global-settings.xml
@@ -0,0 +1,17 @@
+
+
+
+ test-profile
+
+
+
+ includeProfile
+
+
+
+
+ test.txt
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0026/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0026/pom.xml
new file mode 100644
index 0000000000..685bc7e275
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0026/pom.xml
@@ -0,0 +1,20 @@
+
+ 4.0.0
+ Maven Integration Test :: it0026
+ org.apache.maven.its.it0026
+ maven-it-it0026
+ Test merging of global- and user-level settings.xml files.
+ 1.0-SNAPSHOT
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-touch
+ 1.0-SNAPSHOT
+
+ ${test}
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0026/src/main/java/org/apache/maven/it0026/Person.java b/its/maven-core-integration-tests/src/test/resources/it0026/src/main/java/org/apache/maven/it0026/Person.java
new file mode 100644
index 0000000000..b57f4308e2
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0026/src/main/java/org/apache/maven/it0026/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0023;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0026/user-settings.xml b/its/maven-core-integration-tests/src/test/resources/it0026/user-settings.xml
new file mode 100644
index 0000000000..f09eb04a23
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0026/user-settings.xml
@@ -0,0 +1,5 @@
+
+
+ test-profile
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0027/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0027/pom.xml
new file mode 100644
index 0000000000..eb4eb56b46
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0027/pom.xml
@@ -0,0 +1,18 @@
+
+ 4.0.0
+ Maven Integration Test :: it0027
+ org.apache.maven.its.it0027
+ maven-it-it0027
+ Test @execute with a custom lifecycle, including configuration
+ jar
+ 1.0
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-fork
+ 1.0-SNAPSHOT
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0028/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0028/pom.xml
new file mode 100644
index 0000000000..bc4b9560fc
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0028/pom.xml
@@ -0,0 +1,32 @@
+
+ 4.0.0
+ Maven Integration Test :: it0028
+ org.apache.maven.its.it0028
+ maven-it-it0028
+ Test that unused configuration parameters from the POM don't cause the
+ mojo to fail...they will show up as warnings in the -X output instead.
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+ 1.4
+ something
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0028/src/main/java/org/apache/maven/it0028/Person.java b/its/maven-core-integration-tests/src/test/resources/it0028/src/main/java/org/apache/maven/it0028/Person.java
new file mode 100644
index 0000000000..5add9e7d20
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0028/src/main/java/org/apache/maven/it0028/Person.java
@@ -0,0 +1,18 @@
+package org.apache.maven.it0001;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+
+ assert true;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0028/src/test/java/org/apache/maven/it0028/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0028/src/test/java/org/apache/maven/it0028/PersonTest.java
new file mode 100644
index 0000000000..80014fa03b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0028/src/test/java/org/apache/maven/it0028/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0029/child-project/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0029/child-project/pom.xml
new file mode 100644
index 0000000000..7637bfb10d
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0029/child-project/pom.xml
@@ -0,0 +1,28 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0029
+ maven-it-it0029
+ 1.0-SNAPSHOT
+
+ child-project
+ jar
+ 1.0-SNAPSHOT
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0029/child-project/src/main/java/org/apache/maven/it0029/Person.java b/its/maven-core-integration-tests/src/test/resources/it0029/child-project/src/main/java/org/apache/maven/it0029/Person.java
new file mode 100644
index 0000000000..8688a620db
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0029/child-project/src/main/java/org/apache/maven/it0029/Person.java
@@ -0,0 +1,18 @@
+package org.apache.maven.it0001;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String newName )
+ {
+ assert true;
+
+ this.name = newName;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0029/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0029/pom.xml
new file mode 100644
index 0000000000..fbc2bce533
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0029/pom.xml
@@ -0,0 +1,29 @@
+
+ 4.0.0
+ Maven Integration Test :: it0029
+ org.apache.maven.its.it0029
+ maven-it-it0029
+ Test for pluginManagement injection of plugin configuration.
+ 1.0-SNAPSHOT
+ pom
+
+
+ child-project
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+ 1.4
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0030/child-hierarchy/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0030/child-hierarchy/pom.xml
new file mode 100644
index 0000000000..b4aef6f9fc
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0030/child-hierarchy/pom.xml
@@ -0,0 +1,22 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0030
+ maven-it-it0030
+ 1.0-SNAPSHOT
+
+ child-hierarchy
+ pom
+ 1.0-SNAPSHOT
+
+
+ junit
+ junit
+ test
+
+
+
+ project1
+ project2
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0030/child-hierarchy/project1/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0030/child-hierarchy/project1/pom.xml
new file mode 100644
index 0000000000..7ca052866f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0030/child-hierarchy/project1/pom.xml
@@ -0,0 +1,10 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0030
+ child-hierarchy
+ 1.0-SNAPSHOT
+
+ project1
+ 1.0-SNAPSHOT
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0030/child-hierarchy/project2/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0030/child-hierarchy/project2/pom.xml
new file mode 100644
index 0000000000..65406092e0
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0030/child-hierarchy/project2/pom.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0030
+ child-hierarchy
+ 1.0-SNAPSHOT
+
+ project2
+ 1.0-SNAPSHOT
+
+
+ org.apache.maven.its.it0030
+ project1
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0030/child-hierarchy/project2/src/main/java/org/apache/maven/it0030/Person.java b/its/maven-core-integration-tests/src/test/resources/it0030/child-hierarchy/project2/src/main/java/org/apache/maven/it0030/Person.java
new file mode 100644
index 0000000000..0e0c09da60
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0030/child-hierarchy/project2/src/main/java/org/apache/maven/it0030/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String newName )
+ {
+ this.name = newName;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0030/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0030/pom.xml
new file mode 100644
index 0000000000..ccbf5896d6
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0030/pom.xml
@@ -0,0 +1,27 @@
+
+ 4.0.0
+ Maven Integration Test :: it0030
+ org.apache.maven.its.it0030
+ maven-it-it0030
+ Test for injection of dependencyManagement through parents of
+ dependency poms.
+ 1.0-SNAPSHOT
+ pom
+
+ child-hierarchy
+
+
+
+
+ junit
+ junit
+ 3.8.1
+
+
+ org.apache.maven.its.it0030
+ project1
+ 1.0-SNAPSHOT
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0031/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0031/pom.xml
new file mode 100644
index 0000000000..ae7667058b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0031/pom.xml
@@ -0,0 +1,22 @@
+
+ 4.0.0
+ Maven Integration Test :: it0031
+ org.apache.maven.its.it0031
+ maven-it-it0031
+ Test usage of plugins.xml mapping file on the repository to resolve
+ plugin artifactId from it's prefix using the pluginGroups in
+ the provided settings.xml.
+ 1.0-SNAPSHOT
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-touch
+ 1.0-SNAPSHOT
+
+ ${test}
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0031/settings.xml b/its/maven-core-integration-tests/src/test/resources/it0031/settings.xml
new file mode 100644
index 0000000000..002e21129c
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0031/settings.xml
@@ -0,0 +1,19 @@
+
+
+ org.codehaus.modello
+
+
+
+ test
+ Test Mirror of ibiblio.org
+ http://test.maven.codehaus.org/maven2
+ central
+
+
+ test-plugins
+ Test Mirror of ibiblio.org Plugin Repository
+ http://test.maven.codehaus.org/maven2/plugins
+ central-plugins
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0031/src/main/mdo/test.mdo b/its/maven-core-integration-tests/src/test/resources/it0031/src/main/mdo/test.mdo
new file mode 100644
index 0000000000..b257051457
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0031/src/main/mdo/test.mdo
@@ -0,0 +1,20 @@
+
+ lifecycle-mappings
+ LifecycleMappings
+
+
+
+ package
+ org.apache.maven.it.it0031
+
+
+
+
+ Root
+ 1.0.0
+ Root element of the test model.
+
+
+
\ No newline at end of file
diff --git a/its/maven-core-integration-tests/src/test/resources/it0032/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0032/pom.xml
new file mode 100644
index 0000000000..85885d9c81
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0032/pom.xml
@@ -0,0 +1,22 @@
+
+ 4.0.0
+ Maven Integration Test :: it0032
+ org.apache.maven.its.it0032
+ maven-it-it0032
+ Tests that a specified Maven version requirement that is lower doesn't cause any problems
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+ 2.0-alpha-3
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0032/src/main/java/org/apache/maven/it0032/Person.java b/its/maven-core-integration-tests/src/test/resources/it0032/src/main/java/org/apache/maven/it0032/Person.java
new file mode 100644
index 0000000000..4d5d008b82
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0032/src/main/java/org/apache/maven/it0032/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0032;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0032/src/main/resources/it0032.properties b/its/maven-core-integration-tests/src/test/resources/it0032/src/main/resources/it0032.properties
new file mode 100644
index 0000000000..f54f8ab106
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0032/src/main/resources/it0032.properties
@@ -0,0 +1 @@
+name = jason
diff --git a/its/maven-core-integration-tests/src/test/resources/it0032/src/test/java/org/apache/maven/it0032/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0032/src/test/java/org/apache/maven/it0032/PersonTest.java
new file mode 100644
index 0000000000..6676512c54
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0032/src/test/java/org/apache/maven/it0032/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0032;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0033/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0033/pom.xml
new file mode 100644
index 0000000000..a307a785b1
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0033/pom.xml
@@ -0,0 +1,21 @@
+
+ 4.0.0
+ Maven Integration Test :: it0033
+ org.apache.maven.its.it0033
+ maven-it-it0033
+ Test an EAR generation
+ ear
+ 1.0
+
+
+
+
+ org.apache.maven.plugins
+ maven-ear-plugin
+
+ true
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0033/src/main/application/META-INF/appserver-application.xml b/its/maven-core-integration-tests/src/test/resources/it0033/src/main/application/META-INF/appserver-application.xml
new file mode 100644
index 0000000000..29c20a5402
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0033/src/main/application/META-INF/appserver-application.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0034/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0034/pom.xml
new file mode 100644
index 0000000000..caacf55e0b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0034/pom.xml
@@ -0,0 +1,22 @@
+
+ 4.0.0
+ Maven Integration Test :: it0034
+ org.apache.maven.its.it0034
+ maven-it-it0034
+ Test version range junit [3.7,) resolves to 3.8.1
+ 1.0
+
+
+ junit
+ junit
+
+ (,3.8.1)
+ test
+
+
+ org.apache.maven
+ maven-core-it-support
+ [1.0,)
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0035/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0035/pom.xml
new file mode 100644
index 0000000000..8bec551db4
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0035/pom.xml
@@ -0,0 +1,22 @@
+
+ 4.0.0
+ Maven Integration Test :: it0035
+ org.apache.maven.its.it0035
+ maven-it-it0035
+ Test artifact relocation.
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+ org.apache.maven
+ maven-core-it-support-old-location
+ 1.1
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0036/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0036/pom.xml
new file mode 100644
index 0000000000..f294ce2c9a
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0036/pom.xml
@@ -0,0 +1,18 @@
+
+ 4.0.0
+ Maven Integration Test :: it0036
+ org.apache.maven.its.it0036
+ maven-it-it0036
+ Test building from release-pom.xml when it's available
+ jar
+ 1.0-SNAPSHOT
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0036/release-pom.xml b/its/maven-core-integration-tests/src/test/resources/it0036/release-pom.xml
new file mode 100644
index 0000000000..eeaa83a6a6
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0036/release-pom.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+ org.apache.maven
+ maven-it-it0036
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0036/src/main/java/org/apache/maven/it0036/Person.java b/its/maven-core-integration-tests/src/test/resources/it0036/src/main/java/org/apache/maven/it0036/Person.java
new file mode 100644
index 0000000000..fff07573b9
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0036/src/main/java/org/apache/maven/it0036/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0036;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0036/src/test/java/org/apache/maven/it0036/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0036/src/test/java/org/apache/maven/it0036/PersonTest.java
new file mode 100644
index 0000000000..de09d3bcf9
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0036/src/test/java/org/apache/maven/it0036/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0036;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0037/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0037/pom.xml
new file mode 100644
index 0000000000..c70e93a7e4
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0037/pom.xml
@@ -0,0 +1,18 @@
+
+ 4.0.0
+ Maven Integration Test :: it0037
+ org.apache.maven.its.it0037
+ maven-it-it0037
+ Test building with alternate pom file using '-f'
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0037/pom2.xml b/its/maven-core-integration-tests/src/test/resources/it0037/pom2.xml
new file mode 100644
index 0000000000..3b98a30f0e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0037/pom2.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+ org.apache.maven.its.it0037
+ maven-it-it0037
+ jar
+ 1.0-build2
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0037/src/main/java/org/apache/maven/it0037/Person.java b/its/maven-core-integration-tests/src/test/resources/it0037/src/main/java/org/apache/maven/it0037/Person.java
new file mode 100644
index 0000000000..a9fb4bc9d2
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0037/src/main/java/org/apache/maven/it0037/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0000;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0037/src/test/java/org/apache/maven/it0000/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0037/src/test/java/org/apache/maven/it0000/PersonTest.java
new file mode 100644
index 0000000000..354f917f46
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0037/src/test/java/org/apache/maven/it0000/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0000;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0038/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0038/pom.xml
new file mode 100644
index 0000000000..d35a2c7fe7
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0038/pom.xml
@@ -0,0 +1,19 @@
+
+ 4.0.0
+ Maven Integration Test :: it0038
+ org.apache.maven.its.it0038
+ maven-it-it0038
+ Test building project from outside the project directory using '-f'
+ option
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0038/project/pom2.xml b/its/maven-core-integration-tests/src/test/resources/it0038/project/pom2.xml
new file mode 100644
index 0000000000..b650ca03cd
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0038/project/pom2.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+ org.apache.maven.its.it0038
+ maven-it-it0038
+ jar
+ 1.0-build2
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0038/project/src/main/java/org/apache/maven/it0038/Person.java b/its/maven-core-integration-tests/src/test/resources/it0038/project/src/main/java/org/apache/maven/it0038/Person.java
new file mode 100644
index 0000000000..a9fb4bc9d2
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0038/project/src/main/java/org/apache/maven/it0038/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0000;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0038/project/src/test/java/org/apache/maven/it0000/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0038/project/src/test/java/org/apache/maven/it0000/PersonTest.java
new file mode 100644
index 0000000000..354f917f46
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0038/project/src/test/java/org/apache/maven/it0000/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0000;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0039/project/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0039/project/pom.xml
new file mode 100644
index 0000000000..f3c57e5c3b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0039/project/pom.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+ org.apache.maven.its.it0039
+ maven-it-it0039-p1
+ jar
+ 1.0-SNAPSHOT
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0039/project/release-pom.xml b/its/maven-core-integration-tests/src/test/resources/it0039/project/release-pom.xml
new file mode 100644
index 0000000000..93ed141837
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0039/project/release-pom.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+ org.apache.maven.its.it0039
+ maven-it-it0039-p1
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0039/project/src/main/java/org/apache/maven/it0039/Person.java b/its/maven-core-integration-tests/src/test/resources/it0039/project/src/main/java/org/apache/maven/it0039/Person.java
new file mode 100644
index 0000000000..6d58f083b4
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0039/project/src/main/java/org/apache/maven/it0039/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0039;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0039/project/src/test/java/org/apache/maven/it0039/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0039/project/src/test/java/org/apache/maven/it0039/PersonTest.java
new file mode 100644
index 0000000000..cd28579751
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0039/project/src/test/java/org/apache/maven/it0039/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0039;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0039/project2/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0039/project2/pom.xml
new file mode 100644
index 0000000000..02a1cf21d5
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0039/project2/pom.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+ org.apache.maven.its.it0039
+ maven-it-it0039-p2
+ jar
+ 1.0-SNAPSHOT
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0039/project2/release-pom.xml b/its/maven-core-integration-tests/src/test/resources/it0039/project2/release-pom.xml
new file mode 100644
index 0000000000..c3c0b0e587
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0039/project2/release-pom.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+ org.apache.maven.its.it0039
+ maven-it-it0039-p2
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0039/project2/src/main/java/org/apache/maven/it0039/Person2.java b/its/maven-core-integration-tests/src/test/resources/it0039/project2/src/main/java/org/apache/maven/it0039/Person2.java
new file mode 100644
index 0000000000..eff2bcaa0f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0039/project2/src/main/java/org/apache/maven/it0039/Person2.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0039;
+
+public class Person2
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0039/project2/src/test/java/org/apache/maven/it0039/Person2Test.java b/its/maven-core-integration-tests/src/test/resources/it0039/project2/src/test/java/org/apache/maven/it0039/Person2Test.java
new file mode 100644
index 0000000000..2fd5181e02
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0039/project2/src/test/java/org/apache/maven/it0039/Person2Test.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0039;
+
+import junit.framework.TestCase;
+
+public class Person2Test
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person2 person = new Person2();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0040/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0040/pom.xml
new file mode 100644
index 0000000000..5a6879c0d3
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0040/pom.xml
@@ -0,0 +1,19 @@
+
+ 4.0.0
+ Maven Integration Test :: it0040
+ org.apache.maven.its.it0040
+ maven-it-it0040
+ Test the use of a packaging from a plugin
+ it-packaging
+ 1.0
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-packaging
+ 1.0-SNAPSHOT
+ true
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0041/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0041/pom.xml
new file mode 100644
index 0000000000..e9a67bf33d
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0041/pom.xml
@@ -0,0 +1,26 @@
+
+ 4.0.0
+ Maven Integration Test :: it0041
+ org.apache.maven.its.it0041
+ maven-it-it0041
+ Test the use of a new type from a plugin
+ 1.0-SNAPSHOT
+
+
+ org.apache.maven
+ maven-core-it-support
+ 1.2
+ it-artifact
+
+
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-packaging
+ 1.0-SNAPSHOT
+ true
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0042/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0042/pom.xml
new file mode 100644
index 0000000000..4a1db263fe
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0042/pom.xml
@@ -0,0 +1,15 @@
+
+ 4.0.0
+ Maven Integration Test :: it0042
+ org.apache.maven.its.it0042
+ maven-it-it0042
+ Test that the reactor can establish the artifact location of known projects for dependencies
+ 0.1
+ pom
+
+ test-component-c
+ test-component-b
+ test-component-a
+ test-plugin
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0042/test-component-a/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0042/test-component-a/pom.xml
new file mode 100644
index 0000000000..379c5cad60
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0042/test-component-a/pom.xml
@@ -0,0 +1,12 @@
+
+ 4.0.0
+
+ maven-it-it0042
+ org.apache.maven.its.it0042
+ 0.1
+
+ test-component-a
+ 0.1
+ Test Component A
+ jar
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0042/test-component-a/src/main/java/A.java b/its/maven-core-integration-tests/src/test/resources/it0042/test-component-a/src/main/java/A.java
new file mode 100644
index 0000000000..73e270dbea
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0042/test-component-a/src/main/java/A.java
@@ -0,0 +1,3 @@
+public class A {
+}
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0042/test-component-b/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0042/test-component-b/pom.xml
new file mode 100644
index 0000000000..1ced58c70f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0042/test-component-b/pom.xml
@@ -0,0 +1,19 @@
+
+ 4.0.0
+
+ maven-it-it0042
+ org.apache.maven.its.it0042
+ 0.1
+
+ test-component-b
+ 0.1
+ Test Component B
+ jar
+
+
+ org.apache.maven.its.it0042
+ test-component-a
+ 0.1
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0042/test-component-b/src/main/java/B.java b/its/maven-core-integration-tests/src/test/resources/it0042/test-component-b/src/main/java/B.java
new file mode 100644
index 0000000000..c288d4d8b7
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0042/test-component-b/src/main/java/B.java
@@ -0,0 +1,5 @@
+public class B
+ extends A
+{
+}
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0042/test-component-c/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0042/test-component-c/pom.xml
new file mode 100644
index 0000000000..a80af53bdc
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0042/test-component-c/pom.xml
@@ -0,0 +1,40 @@
+
+ 4.0.0
+
+ maven-it-it0042
+ org.apache.maven.its.it0042
+ 0.1
+
+
+ test-component-c
+ 0.1
+ Test Component C
+ war
+
+
+ org.apache.maven.its.it0042
+ test-component-b
+ 0.1
+
+
+
+
+
+
+ org.apache.maven.its.it0042
+ test-plugin
+ 0.1
+
+ my-test
+
+
+
+
+ test
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0042/test-component-c/src/main/java/C.java b/its/maven-core-integration-tests/src/test/resources/it0042/test-component-c/src/main/java/C.java
new file mode 100644
index 0000000000..f7546a58a7
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0042/test-component-c/src/main/java/C.java
@@ -0,0 +1,5 @@
+public class C
+ extends A
+{
+}
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0042/test-component-c/src/main/webapp/WEB-INF/web.xml b/its/maven-core-integration-tests/src/test/resources/it0042/test-component-c/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000000..92bb2e9825
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0042/test-component-c/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0042/test-plugin/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0042/test-plugin/pom.xml
new file mode 100644
index 0000000000..76ac302991
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0042/test-plugin/pom.xml
@@ -0,0 +1,19 @@
+
+ 4.0.0
+
+ maven-it-it0042
+ org.apache.maven.its.it0042
+ 0.1
+
+ test-plugin
+ maven-plugin
+ 0.1
+ Test Plugin
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0-beta-1
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0042/test-plugin/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java b/its/maven-core-integration-tests/src/test/resources/it0042/test-plugin/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java
new file mode 100644
index 0000000000..ad958a7e66
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0042/test-plugin/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java
@@ -0,0 +1,77 @@
+package org.apache.maven.plugin.coreit;
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
+/**
+ * @goal test
+ *
+ * @phase process-sources
+ *
+ * @description Goal which cleans the build
+ */
+public class CoreItMojo
+ extends AbstractMojo
+{
+ /**
+ * @parameter expression="${project.build.directory}"
+ * @required
+ */
+ private String outputDirectory;
+
+ /**
+ * @parameter
+ * @required
+ */
+ private String value;
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ touch( new File( outputDirectory ), value );
+ }
+
+ private static void touch( File dir, String file )
+ throws MojoExecutionException
+ {
+ try
+ {
+ if ( !dir.exists() )
+ {
+ dir.mkdirs();
+ }
+
+ File touch = new File( dir, file );
+
+ FileWriter w = new FileWriter( touch );
+
+ w.write( file );
+
+ w.close();
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Error touching file", e );
+ }
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0043/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0043/pom.xml
new file mode 100644
index 0000000000..deca43ef9b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0043/pom.xml
@@ -0,0 +1,52 @@
+
+ 4.0.0
+ Maven Integration Test :: it0043
+ org.apache.maven.its.it0043
+ maven-it-it0043
+ Test for repository inheritence - ensure using the same id overrides the defaults
+ 1.0-SNAPSHOT
+
+
+
+ central
+ Empty Repository
+ file:/tmp/emptyRepo
+
+
+
+
+
+ central
+ Empty Repository
+ file:/tmp/emptyRepo
+
+
+
+
+
+
+ junit
+ junit
+ 3.8.1
+
+
+
+
+
+
+ maven-help-plugin
+
+
+ generate-test-resources
+
+ effective-pom
+
+
+
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0043/src/test/java/org/apache/maven/project/inheritance/RepositoryOverrideTest.java b/its/maven-core-integration-tests/src/test/resources/it0043/src/test/java/org/apache/maven/project/inheritance/RepositoryOverrideTest.java
new file mode 100644
index 0000000000..1dcbd765d5
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0043/src/test/java/org/apache/maven/project/inheritance/RepositoryOverrideTest.java
@@ -0,0 +1,26 @@
+import java.io.BufferedInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.FileInputStream;
+
+import junit.framework.TestCase;
+
+public class RepositoryOverrideTest extends TestCase
+{
+ public void testPOM() throws Exception
+ {
+
+ BufferedInputStream in = new BufferedInputStream( new FileInputStream("target/effective-pom.xml") );
+
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+
+ int rd = 0;
+ byte [] buffer = new byte[512];
+
+ while ( ( rd = in.read( buffer ) ) > 0 )
+ {
+ out.write( buffer, 0, rd );
+ }
+
+ assertEquals( -1, out.toString().indexOf("repo1.maven.org") );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0044/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0044/pom.xml
new file mode 100644
index 0000000000..13f1cc166d
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0044/pom.xml
@@ -0,0 +1,20 @@
+
+ 4.0.0
+ Maven Integration Test :: it0044
+ org.apache.maven.its.it0044
+ maven-it-it0044
+ Test --settings CLI option
+ 1.0-SNAPSHOT
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-touch
+ 1.0-SNAPSHOT
+
+ ${test}
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0044/settings.xml b/its/maven-core-integration-tests/src/test/resources/it0044/settings.xml
new file mode 100644
index 0000000000..6d6edbf30f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0044/settings.xml
@@ -0,0 +1,15 @@
+
+
+ test-profile
+
+
+
+
+ test-profile
+
+
+ test.txt
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0044/src/main/java/org/apache/maven/it0044/Person.java b/its/maven-core-integration-tests/src/test/resources/it0044/src/main/java/org/apache/maven/it0044/Person.java
new file mode 100644
index 0000000000..b57f4308e2
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0044/src/main/java/org/apache/maven/it0044/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0023;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0045/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0045/pom.xml
new file mode 100644
index 0000000000..3d0ecbcc47
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0045/pom.xml
@@ -0,0 +1,12 @@
+
+ 4.0.0
+ Maven Integration Test :: it0045
+ org.apache.maven.its.it0045
+ maven-it-it0045
+ Test non-reactor behavior when plugin declares "@requiresProject false"
+ pom
+ 1.0
+
+ subproject
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0045/subproject/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0045/subproject/pom.xml
new file mode 100644
index 0000000000..2b180d7e6d
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0045/subproject/pom.xml
@@ -0,0 +1,10 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0045
+ maven-it-it0045
+ 1.0
+
+ subproject
+ jar
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0046/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0046/pom.xml
new file mode 100644
index 0000000000..ec71d0208f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0046/pom.xml
@@ -0,0 +1,14 @@
+
+ 4.0.0
+ Maven Integration Test :: it0046
+ org.apache.maven.its.it0046
+ maven-it-it0046
+ Test fail-never reactor behavior. Forces an exception to be thrown in
+ the first module, but checks that the second modules is built.
+ pom
+ 1.0
+
+ subproject
+ subproject2
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0046/subproject/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0046/subproject/pom.xml
new file mode 100644
index 0000000000..f53f266029
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0046/subproject/pom.xml
@@ -0,0 +1,22 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0046
+ maven-it-it0046
+ 1.0
+
+ subproject
+ jar
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-touch
+ 1.0-SNAPSHOT
+
+ true
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0046/subproject2/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0046/subproject2/pom.xml
new file mode 100644
index 0000000000..31bb2e6018
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0046/subproject2/pom.xml
@@ -0,0 +1,10 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0046
+ maven-it-it0046
+ 1.0
+
+ subproject2
+ jar
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0047/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0047/pom.xml
new file mode 100644
index 0000000000..9152ac60fc
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0047/pom.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+ Maven Integration Test :: it0047
+ org.apache.maven.its.it0047
+ maven-it-it0047
+ Test the use case for having a compile time dependency be transitive:
+ when you extend a class you need its dependencies at compile time.
+ 1.0
+
+
+ org.codehaus.plexus
+ plexus-container-default
+ 1.0-alpha-7
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0047/src/main/java/org/apache/maven/it0047/Person.java b/its/maven-core-integration-tests/src/test/resources/it0047/src/main/java/org/apache/maven/it0047/Person.java
new file mode 100644
index 0000000000..ce8320bf4d
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0047/src/main/java/org/apache/maven/it0047/Person.java
@@ -0,0 +1,19 @@
+package org.apache.maven.it0047;
+
+import org.codehaus.plexus.PlexusTestCase;
+
+public class Person
+ extends PlexusTestCase
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0048/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0048/pom.xml
new file mode 100644
index 0000000000..0456dde5ff
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0048/pom.xml
@@ -0,0 +1,19 @@
+
+ 4.0.0
+ Maven Integration Test :: it0048
+ org.apache.maven.its.it0048
+ maven-it-it0048
+ Verify that default values for mojo parameters are working (indirectly,
+ by verifying that the Surefire mojo is functioning correctly).
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0048/src/main/java/org/apache/maven/it0048/Person.java b/its/maven-core-integration-tests/src/test/resources/it0048/src/main/java/org/apache/maven/it0048/Person.java
new file mode 100644
index 0000000000..613e499ae0
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0048/src/main/java/org/apache/maven/it0048/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0048/src/main/resources/it0001.properties b/its/maven-core-integration-tests/src/test/resources/it0048/src/main/resources/it0001.properties
new file mode 100644
index 0000000000..f54f8ab106
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0048/src/main/resources/it0001.properties
@@ -0,0 +1 @@
+name = jason
diff --git a/its/maven-core-integration-tests/src/test/resources/it0048/src/test/java/org/apache/maven/it0048/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0048/src/test/java/org/apache/maven/it0048/PersonTest.java
new file mode 100644
index 0000000000..e046cd5c95
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0048/src/test/java/org/apache/maven/it0048/PersonTest.java
@@ -0,0 +1,40 @@
+package org.apache.maven.it0001;
+
+import junit.framework.TestCase;
+import java.net.URL;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson() throws IOException
+ {
+ ClassLoader cloader = getClass().getClassLoader();
+
+ String path = getClass().getName().replace( '.', '/' ) + ".class";
+
+ URL resource = cloader.getResource( path );
+
+ File resourceFile = new File( resource.getPath() );
+
+ String dirPath = resourceFile.getAbsolutePath();
+
+ dirPath = dirPath.substring( 0, dirPath.length() - path.length() );
+
+ File dir = new File( dirPath );
+
+ dir = dir.getParentFile();
+
+ File testFile = new File( dir, "testFileOutput.txt" );
+
+ FileWriter writer = new FileWriter( testFile );
+
+ writer.write( "Test" );
+
+ writer.flush();
+
+ writer.close();
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0049/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0049/pom.xml
new file mode 100644
index 0000000000..b1f287e925
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0049/pom.xml
@@ -0,0 +1,21 @@
+
+ 4.0.0
+ Maven Integration Test :: it0049
+ org.apache.maven.its.it0049
+ maven-it-it0049
+ Test parameter alias usage.
+ 1.0-SNAPSHOT
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-touch
+ 1.0-SNAPSHOT
+
+ touchFile.txt
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0050/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0050/pom.xml
new file mode 100644
index 0000000000..7f9ab5b63e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0050/pom.xml
@@ -0,0 +1,34 @@
+
+ 4.0.0
+ Maven Integration Test :: it0050
+ org.apache.maven.its.it0050
+ maven-it-it0050
+ Test surefire inclusion/exclusions
+ 1.0-SNAPSHOT
+
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+
+
+
+
+ maven-surefire-plugin
+
+
+ DontRunTest.*
+
+
+ NotIncludedByDefault.java
+ *Test.java
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0050/src/test/java/DefaultTest.java b/its/maven-core-integration-tests/src/test/resources/it0050/src/test/java/DefaultTest.java
new file mode 100644
index 0000000000..68cbba49ee
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0050/src/test/java/DefaultTest.java
@@ -0,0 +1,13 @@
+import java.io.FileOutputStream;
+
+public class DefaultTest
+{
+ public void testRun()
+ throws Exception
+ {
+ FileOutputStream fout = new FileOutputStream("target/defaultTestTouchFile.txt");
+ fout.write('!');
+ fout.flush();
+ fout.close();
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0050/src/test/java/DontRunTest.java b/its/maven-core-integration-tests/src/test/resources/it0050/src/test/java/DontRunTest.java
new file mode 100644
index 0000000000..90065964c2
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0050/src/test/java/DontRunTest.java
@@ -0,0 +1,9 @@
+import junit.framework.TestCase;
+
+public class DontRunTest extends TestCase
+{
+ public void testRun()
+ {
+ assertEquals(true, false);
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0050/src/test/java/NotIncludedByDefault.java b/its/maven-core-integration-tests/src/test/resources/it0050/src/test/java/NotIncludedByDefault.java
new file mode 100644
index 0000000000..11c15ba6a8
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0050/src/test/java/NotIncludedByDefault.java
@@ -0,0 +1,13 @@
+import java.io.FileOutputStream;
+
+public class NotIncludedByDefault
+{
+ public void testRun()
+ throws Exception
+ {
+ FileOutputStream fout = new FileOutputStream("target/testTouchFile.txt");
+ fout.write('!');
+ fout.flush();
+ fout.close();
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0051/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0051/pom.xml
new file mode 100644
index 0000000000..8c3344d49f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0051/pom.xml
@@ -0,0 +1,18 @@
+
+ 4.0.0
+ Maven Integration Test :: it0051
+ org.apache.maven.its.it0051
+ maven-it-it0051
+ Test source attachment when -DperformRelease=true is specified.
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0051/src/main/java/org/apache/maven/it0051/Person.java b/its/maven-core-integration-tests/src/test/resources/it0051/src/main/java/org/apache/maven/it0051/Person.java
new file mode 100644
index 0000000000..613e499ae0
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0051/src/main/java/org/apache/maven/it0051/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0051/src/main/resources/it0001.properties b/its/maven-core-integration-tests/src/test/resources/it0051/src/main/resources/it0001.properties
new file mode 100644
index 0000000000..f54f8ab106
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0051/src/main/resources/it0001.properties
@@ -0,0 +1 @@
+name = jason
diff --git a/its/maven-core-integration-tests/src/test/resources/it0051/src/test/java/org/apache/maven/it0051/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0051/src/test/java/org/apache/maven/it0051/PersonTest.java
new file mode 100644
index 0000000000..80014fa03b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0051/src/test/java/org/apache/maven/it0051/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0052/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0052/pom.xml
new file mode 100644
index 0000000000..467bf88886
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0052/pom.xml
@@ -0,0 +1,19 @@
+
+ 4.0.0
+ Maven Integration Test :: it0052
+ org.apache.maven.its.it0052
+ maven-it-it0052
+ Test that source attachment doesn't take place when
+ -DperformRelease=true is missing.
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0052/src/main/java/org/apache/maven/it0052/Person.java b/its/maven-core-integration-tests/src/test/resources/it0052/src/main/java/org/apache/maven/it0052/Person.java
new file mode 100644
index 0000000000..613e499ae0
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0052/src/main/java/org/apache/maven/it0052/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0052/src/main/resources/it0001.properties b/its/maven-core-integration-tests/src/test/resources/it0052/src/main/resources/it0001.properties
new file mode 100644
index 0000000000..f54f8ab106
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0052/src/main/resources/it0001.properties
@@ -0,0 +1 @@
+name = jason
diff --git a/its/maven-core-integration-tests/src/test/resources/it0052/src/test/java/org/apache/maven/it0001/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0052/src/test/java/org/apache/maven/it0001/PersonTest.java
new file mode 100644
index 0000000000..80014fa03b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0052/src/test/java/org/apache/maven/it0001/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0053/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0053/pom.xml
new file mode 100644
index 0000000000..eba0d4b0b3
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0053/pom.xml
@@ -0,0 +1,27 @@
+
+ 4.0.0
+ Maven Integration Test :: it0053
+ org.apache.maven.its.it0053
+ maven-it-it0053
+ Test that attached artifacts have the same buildnumber and timestamp
+ as the main artifact. This will not correctly verify until we have
+ some way to pattern-match the buildnumber/timestamp...
+ jar
+ 1.0-SNAPSHOT
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+
+ test
+ file:target/test-repo
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0053/src/main/java/org/apache/maven/it0053/Person.java b/its/maven-core-integration-tests/src/test/resources/it0053/src/main/java/org/apache/maven/it0053/Person.java
new file mode 100644
index 0000000000..613e499ae0
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0053/src/main/java/org/apache/maven/it0053/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0053/src/main/resources/it0001.properties b/its/maven-core-integration-tests/src/test/resources/it0053/src/main/resources/it0001.properties
new file mode 100644
index 0000000000..f54f8ab106
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0053/src/main/resources/it0001.properties
@@ -0,0 +1 @@
+name = jason
diff --git a/its/maven-core-integration-tests/src/test/resources/it0053/src/test/java/org/apache/maven/it0001/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0053/src/test/java/org/apache/maven/it0001/PersonTest.java
new file mode 100644
index 0000000000..80014fa03b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0053/src/test/java/org/apache/maven/it0001/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0054/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0054/pom.xml
new file mode 100644
index 0000000000..efeac0da63
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0054/pom.xml
@@ -0,0 +1,29 @@
+
+ 4.0.0
+ Maven Integration Test :: it0054
+ org.apache.maven.its.it0054
+ maven-it-it0054
+ Test resource filtering.
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+ src/main/filters/filters.properties
+
+
+
+ src/main/resources
+ true
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0054/src/main/filters/filters.properties b/its/maven-core-integration-tests/src/test/resources/it0054/src/main/filters/filters.properties
new file mode 100644
index 0000000000..b1493898ed
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0054/src/main/filters/filters.properties
@@ -0,0 +1,2 @@
+surname = van zyl
+country = Canada
diff --git a/its/maven-core-integration-tests/src/test/resources/it0054/src/main/java/org/apache/maven/it0054/Person.java b/its/maven-core-integration-tests/src/test/resources/it0054/src/main/java/org/apache/maven/it0054/Person.java
new file mode 100644
index 0000000000..aeea64e75e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0054/src/main/java/org/apache/maven/it0054/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0054;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0054/src/main/resources/it0054.properties b/its/maven-core-integration-tests/src/test/resources/it0054/src/main/resources/it0054.properties
new file mode 100644
index 0000000000..98cf1d43c7
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0054/src/main/resources/it0054.properties
@@ -0,0 +1,3 @@
+name = jason
+surname = ${surname}
+country = @country@
diff --git a/its/maven-core-integration-tests/src/test/resources/it0054/src/test/java/org/apache/maven/it0054/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0054/src/test/java/org/apache/maven/it0054/PersonTest.java
new file mode 100644
index 0000000000..af394f3652
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0054/src/test/java/org/apache/maven/it0054/PersonTest.java
@@ -0,0 +1,24 @@
+package org.apache.maven.it0054;
+
+import java.util.Properties;
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ throws Exception
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+
+ Properties p = new Properties();
+ p.load( getClass().getResourceAsStream( "/it0054.properties" ) );
+ assertEquals( "check name", "jason", p.getProperty( "name" ) );
+ assertEquals( "check surname", "van zyl", p.getProperty( "surname" ) );
+ assertEquals( "check country", "Canada", p.getProperty( "country" ) );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0055/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0055/pom.xml
new file mode 100644
index 0000000000..b0da61f3d6
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0055/pom.xml
@@ -0,0 +1,36 @@
+
+ 4.0.0
+ Maven Integration Test :: it0055
+ org.apache.maven.its.it0055
+ maven-it-it0055
+ Test that source includes/excludes with in the compiler plugin config.
+ This will test excludes and testExcludes...
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+ **/PersonTwo.java
+
+
+ **/PersonTwoTest.java
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0055/src/main/java/org/apache/maven/it0055/Person.java b/its/maven-core-integration-tests/src/test/resources/it0055/src/main/java/org/apache/maven/it0055/Person.java
new file mode 100644
index 0000000000..613e499ae0
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0055/src/main/java/org/apache/maven/it0055/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0055/src/main/java/org/apache/maven/it0055/PersonTwo.java b/its/maven-core-integration-tests/src/test/resources/it0055/src/main/java/org/apache/maven/it0055/PersonTwo.java
new file mode 100644
index 0000000000..981e8f653e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0055/src/main/java/org/apache/maven/it0055/PersonTwo.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+public class PersonTwo
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0055/src/main/resources/it0001.properties b/its/maven-core-integration-tests/src/test/resources/it0055/src/main/resources/it0001.properties
new file mode 100644
index 0000000000..f54f8ab106
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0055/src/main/resources/it0001.properties
@@ -0,0 +1 @@
+name = jason
diff --git a/its/maven-core-integration-tests/src/test/resources/it0055/src/test/java/org/apache/maven/it0055/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0055/src/test/java/org/apache/maven/it0055/PersonTest.java
new file mode 100644
index 0000000000..80014fa03b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0055/src/test/java/org/apache/maven/it0055/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0055/src/test/java/org/apache/maven/it0055/PersonTwoTest.java b/its/maven-core-integration-tests/src/test/resources/it0055/src/test/java/org/apache/maven/it0055/PersonTwoTest.java
new file mode 100644
index 0000000000..ccec93c557
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0055/src/test/java/org/apache/maven/it0055/PersonTwoTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+import junit.framework.TestCase;
+
+public class PersonTwoTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0056/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0056/pom.xml
new file mode 100644
index 0000000000..ee1eae7d64
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0056/pom.xml
@@ -0,0 +1,45 @@
+
+ 4.0.0
+ Maven Integration Test :: it0056
+ org.apache.maven.its.it0056
+ maven-it-it0056
+ Test that multiple executions of the compile goal with different
+ includes/excludes will succeed.
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+ validation-phase-execution
+ validate
+
+ compile
+
+
+
+ **/PersonTwo.java
+
+
+ **/PersonTwoTest.java
+
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0056/src/main/java/org/apache/maven/it0056/Person.java b/its/maven-core-integration-tests/src/test/resources/it0056/src/main/java/org/apache/maven/it0056/Person.java
new file mode 100644
index 0000000000..613e499ae0
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0056/src/main/java/org/apache/maven/it0056/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0056/src/main/java/org/apache/maven/it0056/PersonThree.java b/its/maven-core-integration-tests/src/test/resources/it0056/src/main/java/org/apache/maven/it0056/PersonThree.java
new file mode 100644
index 0000000000..86cc418a94
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0056/src/main/java/org/apache/maven/it0056/PersonThree.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+public class PersonThree
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0056/src/main/java/org/apache/maven/it0056/PersonTwo.java b/its/maven-core-integration-tests/src/test/resources/it0056/src/main/java/org/apache/maven/it0056/PersonTwo.java
new file mode 100644
index 0000000000..981e8f653e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0056/src/main/java/org/apache/maven/it0056/PersonTwo.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+public class PersonTwo
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0056/src/main/resources/it0001.properties b/its/maven-core-integration-tests/src/test/resources/it0056/src/main/resources/it0001.properties
new file mode 100644
index 0000000000..f54f8ab106
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0056/src/main/resources/it0001.properties
@@ -0,0 +1 @@
+name = jason
diff --git a/its/maven-core-integration-tests/src/test/resources/it0056/src/test/java/org/apache/maven/it0056/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0056/src/test/java/org/apache/maven/it0056/PersonTest.java
new file mode 100644
index 0000000000..80014fa03b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0056/src/test/java/org/apache/maven/it0056/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0056/src/test/java/org/apache/maven/it0056/PersonThreeTest.java b/its/maven-core-integration-tests/src/test/resources/it0056/src/test/java/org/apache/maven/it0056/PersonThreeTest.java
new file mode 100644
index 0000000000..f1b23a1f41
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0056/src/test/java/org/apache/maven/it0056/PersonThreeTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+import junit.framework.TestCase;
+
+public class PersonThreeTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0056/src/test/java/org/apache/maven/it0056/PersonTwoTest.java b/its/maven-core-integration-tests/src/test/resources/it0056/src/test/java/org/apache/maven/it0056/PersonTwoTest.java
new file mode 100644
index 0000000000..ccec93c557
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0056/src/test/java/org/apache/maven/it0056/PersonTwoTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+import junit.framework.TestCase;
+
+public class PersonTwoTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0057/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0057/pom.xml
new file mode 100644
index 0000000000..98df5c8683
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0057/pom.xml
@@ -0,0 +1,17 @@
+
+ 4.0.0
+ Maven Integration Test :: it0057
+ org.apache.maven.its.it0057
+ maven-it-it0057
+ Verify that scope == 'provided' dependencies are available to tests.
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ provided
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0057/src/main/java/org/apache/maven/it0057/Person.java b/its/maven-core-integration-tests/src/test/resources/it0057/src/main/java/org/apache/maven/it0057/Person.java
new file mode 100644
index 0000000000..613e499ae0
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0057/src/main/java/org/apache/maven/it0057/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0057/src/main/resources/it0001.properties b/its/maven-core-integration-tests/src/test/resources/it0057/src/main/resources/it0001.properties
new file mode 100644
index 0000000000..f54f8ab106
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0057/src/main/resources/it0001.properties
@@ -0,0 +1 @@
+name = jason
diff --git a/its/maven-core-integration-tests/src/test/resources/it0057/src/test/java/org/apache/maven/it0057/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0057/src/test/java/org/apache/maven/it0057/PersonTest.java
new file mode 100644
index 0000000000..80014fa03b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0057/src/test/java/org/apache/maven/it0057/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0058/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0058/pom.xml
new file mode 100644
index 0000000000..83dada010c
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0058/pom.xml
@@ -0,0 +1,14 @@
+
+ 4.0.0
+ Maven Integration Test :: it0058
+ org.apache.maven.its.it0058
+ maven-it-it0058
+ Verify that profiles from settings.xml do not pollute module lists
+ across projects in a reactorized build.
+ pom
+ 1.0
+
+
+ subproject
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0058/settings.xml b/its/maven-core-integration-tests/src/test/resources/it0058/settings.xml
new file mode 100644
index 0000000000..e7d77bbda8
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0058/settings.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ test-repo
+
+
+ test-repo
+ file:../../test-repo
+
+
+
+
+
+
+ test-repo
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0058/subproject/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0058/subproject/pom.xml
new file mode 100644
index 0000000000..620dcfaac6
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0058/subproject/pom.xml
@@ -0,0 +1,18 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0058
+ maven-it-it0058
+ 1.0
+
+ subproject
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0058/subproject/src/main/java/org/apache/maven/it0058/Person.java b/its/maven-core-integration-tests/src/test/resources/it0058/subproject/src/main/java/org/apache/maven/it0058/Person.java
new file mode 100644
index 0000000000..613e499ae0
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0058/subproject/src/main/java/org/apache/maven/it0058/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0058/subproject/src/main/resources/it0001.properties b/its/maven-core-integration-tests/src/test/resources/it0058/subproject/src/main/resources/it0001.properties
new file mode 100644
index 0000000000..f54f8ab106
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0058/subproject/src/main/resources/it0001.properties
@@ -0,0 +1 @@
+name = jason
diff --git a/its/maven-core-integration-tests/src/test/resources/it0058/subproject/src/test/java/org/apache/maven/it0058/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0058/subproject/src/test/java/org/apache/maven/it0058/PersonTest.java
new file mode 100644
index 0000000000..80014fa03b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0058/subproject/src/test/java/org/apache/maven/it0058/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0059/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0059/pom.xml
new file mode 100644
index 0000000000..fc795e4e17
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0059/pom.xml
@@ -0,0 +1,25 @@
+
+ 4.0.0
+ Maven Integration Test :: it0059
+ org.apache.maven.its.it0059
+ maven-it-it0059
+ Verify that maven-1 POMs will be ignored but not stop the resolution
+ process.
+ 1.0
+
+
+
+ test
+ file:test-repo
+
+
+
+
+
+ test
+ test
+ 3.8.1
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0059/src/main/java/org/apache/maven/it0059/Person.java b/its/maven-core-integration-tests/src/test/resources/it0059/src/main/java/org/apache/maven/it0059/Person.java
new file mode 100644
index 0000000000..613e499ae0
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0059/src/main/java/org/apache/maven/it0059/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0059/src/main/resources/it0001.properties b/its/maven-core-integration-tests/src/test/resources/it0059/src/main/resources/it0001.properties
new file mode 100644
index 0000000000..f54f8ab106
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0059/src/main/resources/it0001.properties
@@ -0,0 +1 @@
+name = jason
diff --git a/its/maven-core-integration-tests/src/test/resources/it0059/test-repo/test/test/3.8.1/test-3.8.1.jar b/its/maven-core-integration-tests/src/test/resources/it0059/test-repo/test/test/3.8.1/test-3.8.1.jar
new file mode 100644
index 0000000000..674d71e89e
Binary files /dev/null and b/its/maven-core-integration-tests/src/test/resources/it0059/test-repo/test/test/3.8.1/test-3.8.1.jar differ
diff --git a/its/maven-core-integration-tests/src/test/resources/it0059/test-repo/test/test/3.8.1/test-3.8.1.pom b/its/maven-core-integration-tests/src/test/resources/it0059/test-repo/test/test/3.8.1/test-3.8.1.pom
new file mode 100644
index 0000000000..a98d3d32c9
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0059/test-repo/test/test/3.8.1/test-3.8.1.pom
@@ -0,0 +1,5 @@
+
+ junit
+ junit
+ 3.8.1
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0060/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0060/pom.xml
new file mode 100644
index 0000000000..9fc28d4b8b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0060/pom.xml
@@ -0,0 +1,39 @@
+
+ 4.0.0
+ Maven Integration Test :: it0060
+ org.apache.maven.its.it0060
+ maven-it-it0060
+ Test aggregation of list configuration items when using
+ 'combine.children=append' attribute. Specifically, merge the list of
+ excludes for the testCompile mojo.
+ pom
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+ subproject
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ true
+
+
+ **/PersonTwoTest.java
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0060/subproject/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0060/subproject/pom.xml
new file mode 100644
index 0000000000..e273b772b1
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0060/subproject/pom.xml
@@ -0,0 +1,24 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0060
+ maven-it-it0060
+ 1.0
+
+ subproject
+ jar
+ 1.0
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+ **/PersonThreeTest.java
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0060/subproject/src/main/java/org/apache/maven/it0060/Person.java b/its/maven-core-integration-tests/src/test/resources/it0060/subproject/src/main/java/org/apache/maven/it0060/Person.java
new file mode 100644
index 0000000000..f8d5a932ca
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0060/subproject/src/main/java/org/apache/maven/it0060/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0060;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0060/subproject/src/main/resources/it0060.properties b/its/maven-core-integration-tests/src/test/resources/it0060/subproject/src/main/resources/it0060.properties
new file mode 100644
index 0000000000..f54f8ab106
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0060/subproject/src/main/resources/it0060.properties
@@ -0,0 +1 @@
+name = jason
diff --git a/its/maven-core-integration-tests/src/test/resources/it0060/subproject/src/test/java/org/apache/maven/it0060/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0060/subproject/src/test/java/org/apache/maven/it0060/PersonTest.java
new file mode 100644
index 0000000000..fcce1be311
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0060/subproject/src/test/java/org/apache/maven/it0060/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0060;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0060/subproject/src/test/java/org/apache/maven/it0060/PersonThreeTest.java b/its/maven-core-integration-tests/src/test/resources/it0060/subproject/src/test/java/org/apache/maven/it0060/PersonThreeTest.java
new file mode 100644
index 0000000000..bfaf68277c
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0060/subproject/src/test/java/org/apache/maven/it0060/PersonThreeTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0060;
+
+import junit.framework.TestCase;
+
+public class PersonThreeTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0060/subproject/src/test/java/org/apache/maven/it0060/PersonTwoTest.java b/its/maven-core-integration-tests/src/test/resources/it0060/subproject/src/test/java/org/apache/maven/it0060/PersonTwoTest.java
new file mode 100644
index 0000000000..9492f599f8
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0060/subproject/src/test/java/org/apache/maven/it0060/PersonTwoTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0060;
+
+import junit.framework.TestCase;
+
+public class PersonTwoTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0061/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0061/pom.xml
new file mode 100644
index 0000000000..a1bc6d02a2
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0061/pom.xml
@@ -0,0 +1,29 @@
+
+ 4.0.0
+ Maven Integration Test :: it0061
+ org.apache.maven.its.it0061
+ maven-it-it0061
+ Verify that deployment of artifacts to a legacy-layout repository
+ results in a groupId directory of 'the.full.group.id' instead of
+ 'the/full/group/id'.
+ jar
+ 1.0
+
+
+
+ test
+ file:target/test-repo
+ legacy
+
+
+
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0061/src/main/java/org/apache/maven/it0061/Person.java b/its/maven-core-integration-tests/src/test/resources/it0061/src/main/java/org/apache/maven/it0061/Person.java
new file mode 100644
index 0000000000..613e499ae0
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0061/src/main/java/org/apache/maven/it0061/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0061/src/main/resources/it0001.properties b/its/maven-core-integration-tests/src/test/resources/it0061/src/main/resources/it0001.properties
new file mode 100644
index 0000000000..f54f8ab106
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0061/src/main/resources/it0001.properties
@@ -0,0 +1 @@
+name = jason
diff --git a/its/maven-core-integration-tests/src/test/resources/it0062/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0062/pom.xml
new file mode 100644
index 0000000000..d1d61e118b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0062/pom.xml
@@ -0,0 +1,15 @@
+
+ 4.0.0
+ Maven Integration Test :: it0062
+ org.apache.maven.its.it0062
+ maven-it-it0062
+ Test that a deployment of a snapshot falls back to a non-snapshot repository if no snapshot repository is
+ specified.
+ 1.0-SNAPSHOT
+
+
+ repo
+ file://localhost/${project.basedir}/target/test-repo
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0062/src/main/java/org/apache/maven/it0062/Person.java b/its/maven-core-integration-tests/src/test/resources/it0062/src/main/java/org/apache/maven/it0062/Person.java
new file mode 100644
index 0000000000..d34f37e5b8
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0062/src/main/java/org/apache/maven/it0062/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0062;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0063/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0063/pom.xml
new file mode 100644
index 0000000000..4bc9cfa071
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0063/pom.xml
@@ -0,0 +1,38 @@
+
+ 4.0.0
+ Maven Integration Test :: it0063
+ org.apache.maven.its.it0063
+ maven-it-it0063
+ Test the use of a system scoped dependency to tools.jar.
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+
+
+
+ default-tools.jar
+
+
+ java.vendor
+ Sun Microsystems Inc.
+
+
+
+
+ com.sun
+ tools
+ 1.4.2
+ system
+ ${java.home}/../lib/tools.jar
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0063/src/main/java/org/apache/maven/it0063/Person.java b/its/maven-core-integration-tests/src/test/resources/it0063/src/main/java/org/apache/maven/it0063/Person.java
new file mode 100644
index 0000000000..211e8589b8
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0063/src/main/java/org/apache/maven/it0063/Person.java
@@ -0,0 +1,18 @@
+package org.apache.maven.it0001;
+
+import com.sun.tools.javac.Main;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0063/src/main/resources/it0001.properties b/its/maven-core-integration-tests/src/test/resources/it0063/src/main/resources/it0001.properties
new file mode 100644
index 0000000000..f54f8ab106
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0063/src/main/resources/it0001.properties
@@ -0,0 +1 @@
+name = jason
diff --git a/its/maven-core-integration-tests/src/test/resources/it0063/src/test/java/org/apache/maven/it0063/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0063/src/test/java/org/apache/maven/it0063/PersonTest.java
new file mode 100644
index 0000000000..80014fa03b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0063/src/test/java/org/apache/maven/it0063/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0001;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0064/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0064/pom.xml
new file mode 100644
index 0000000000..dbef4acfad
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0064/pom.xml
@@ -0,0 +1,32 @@
+
+ 4.0.0
+ Maven Integration Test :: it0064
+ org.apache.maven.its.it0064
+ maven-it-it0064
+ Test the use of a mojo that uses setters instead of private fields
+ for the population of configuration values.
+ jar
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-setter
+ 1.0-SNAPSHOT
+
+ fooValue
+ barValue
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0065/plugin/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0065/plugin/pom.xml
new file mode 100644
index 0000000000..663065d0b6
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0065/plugin/pom.xml
@@ -0,0 +1,34 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0065
+ maven-it-it0065
+ 1.0
+
+ plugin
+ maven-plugin
+ 1.0-SNAPSHOT
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0-beta-1
+ jar
+ compile
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+ central
+ Test Repository
+ file:/tmp/testRepo
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0065/plugin/src/main/java/org/apache/maven/plugin/coreit/TestBasedirMojo.java b/its/maven-core-integration-tests/src/test/resources/it0065/plugin/src/main/java/org/apache/maven/plugin/coreit/TestBasedirMojo.java
new file mode 100644
index 0000000000..df031c708a
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0065/plugin/src/main/java/org/apache/maven/plugin/coreit/TestBasedirMojo.java
@@ -0,0 +1,76 @@
+package org.apache.maven.plugin.coreit;
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
+/**
+ * @goal test-basedir
+ * @phase compile
+ */
+public class TestBasedirMojo
+ extends AbstractMojo
+{
+ private static final int DELETE_RETRY_SLEEP_MILLIS = 10;
+
+ /**
+ * @parameter expression="${basedir}/target/child-basedir"
+ * @required
+ */
+ private String childBasedir;
+
+ /**
+ * @parameter expression="${project.parent.basedir}/parent-basedir"
+ * @required
+ */
+ private String parentBasedir;
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ write( new File( childBasedir ) );
+
+ write( new File( parentBasedir ) );
+ }
+
+ private void write( File f )
+ throws MojoExecutionException
+ {
+ if ( !f.getParentFile().exists() )
+ {
+ f.getParentFile().mkdirs();
+ }
+
+ try
+ {
+ FileWriter w = new FileWriter( f );
+
+ w.write( f.getPath() );
+
+ w.close();
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Error writing verification file.", e );
+ }
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0065/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0065/pom.xml
new file mode 100644
index 0000000000..58ba9ce193
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0065/pom.xml
@@ -0,0 +1,23 @@
+
+ 4.0.0
+ Maven Integration Test :: it0065
+ org.apache.maven.its.it0065
+ maven-it-it0065
+ Test that the basedir of the parent is set correctly.
+ pom
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+ plugin
+ subproject
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0065/subproject/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0065/subproject/pom.xml
new file mode 100644
index 0000000000..2fe686d478
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0065/subproject/pom.xml
@@ -0,0 +1,27 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0065
+ maven-it-it0065
+ 1.0
+
+ subproject
+ jar
+ 1.0
+
+
+
+ org.apache.maven.its.it0065
+ plugin
+ 1.0-SNAPSHOT
+
+
+
+ test-basedir
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0065/subproject/src/main/java/org/apache/maven/it0065/Person.java b/its/maven-core-integration-tests/src/test/resources/it0065/subproject/src/main/java/org/apache/maven/it0065/Person.java
new file mode 100644
index 0000000000..af13ac20c0
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0065/subproject/src/main/java/org/apache/maven/it0065/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0065;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0065/subproject/src/main/resources/it0001.properties b/its/maven-core-integration-tests/src/test/resources/it0065/subproject/src/main/resources/it0001.properties
new file mode 100644
index 0000000000..f54f8ab106
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0065/subproject/src/main/resources/it0001.properties
@@ -0,0 +1 @@
+name = jason
diff --git a/its/maven-core-integration-tests/src/test/resources/it0065/subproject/src/test/java/org/apache/maven/it0065/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0065/subproject/src/test/java/org/apache/maven/it0065/PersonTest.java
new file mode 100644
index 0000000000..de5487b859
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0065/subproject/src/test/java/org/apache/maven/it0065/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0065;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0065/subproject/src/test/java/org/apache/maven/it0065/PersonThreeTest.java b/its/maven-core-integration-tests/src/test/resources/it0065/subproject/src/test/java/org/apache/maven/it0065/PersonThreeTest.java
new file mode 100644
index 0000000000..aaa095d51e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0065/subproject/src/test/java/org/apache/maven/it0065/PersonThreeTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0065;
+
+import junit.framework.TestCase;
+
+public class PersonThreeTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0065/subproject/src/test/java/org/apache/maven/it0065/PersonTwoTest.java b/its/maven-core-integration-tests/src/test/resources/it0065/subproject/src/test/java/org/apache/maven/it0065/PersonTwoTest.java
new file mode 100644
index 0000000000..5caea7be62
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0065/subproject/src/test/java/org/apache/maven/it0065/PersonTwoTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0065;
+
+import junit.framework.TestCase;
+
+public class PersonTwoTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0066/other-pom.xml b/its/maven-core-integration-tests/src/test/resources/it0066/other-pom.xml
new file mode 100644
index 0000000000..e4116941cc
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0066/other-pom.xml
@@ -0,0 +1,7 @@
+
+ 4.0.0
+ org.apache.maven.its.it0066
+ maven-it-it0066
+ 1.0-SNAPSHOT
+ pom
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0067/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0067/pom.xml
new file mode 100644
index 0000000000..39cd31b579
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0067/pom.xml
@@ -0,0 +1,23 @@
+
+ 4.0.0
+ Maven Integration Test :: it0067
+ org.apache.maven.its.it0067
+ maven-it-it0067
+ Test activation of a profile from the command line.
+ maven-plugin
+ 1.0-SNAPSHOT
+
+
+
+ test-profile
+
+
+
+ junit
+ junit
+ 3.8.1
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0067/src/main/java/org/apache/maven/it0067/Person.java b/its/maven-core-integration-tests/src/test/resources/it0067/src/main/java/org/apache/maven/it0067/Person.java
new file mode 100644
index 0000000000..a8de7781b2
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0067/src/main/java/org/apache/maven/it0067/Person.java
@@ -0,0 +1,18 @@
+package org.apache.maven.it0021;
+
+import junit.framework.TestCase;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0068/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0068/pom.xml
new file mode 100644
index 0000000000..a98a35ca79
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0068/pom.xml
@@ -0,0 +1,30 @@
+
+ 4.0.0
+ Maven Integration Test :: it0068
+ org.apache.maven.its.it0068
+ maven-it-it0068
+ Test repository accumulation.
+ 1.0-SNAPSHOT
+
+
+
+ org.codehaus.modello
+ modello-maven-plugin
+
+
+
+ xpp3-writer
+ java
+ xpp3-reader
+
+
+ 1.0.0
+ test.mdo
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0068/test.mdo b/its/maven-core-integration-tests/src/test/resources/it0068/test.mdo
new file mode 100644
index 0000000000..5bd623bf87
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0068/test.mdo
@@ -0,0 +1,769 @@
+
+
+
+ settings
+ Settings
+
+
+
+ package
+ org.apache.maven.settings
+
+
+
+
+ TrackableBase
+ 1.0.0
+ common base class that contains code to track the source for this instance (USER|GLOBAL)
+
+
+ 1.0.0
+
+
+
+
+
+ IdentifiableBase
+ TrackableBase
+ 1.0.0
+
+
+ id
+ 1.0.0
+ String
+ default
+ true
+
+
+
+
+ Settings
+ 1.0.0
+ TrackableBase
+ Root element of the user configuration file.
+
+
+ localRepository
+ 1.0.0
+ true
+
+ String
+
+
+ interactiveMode
+ 1.0.0
+
+ boolean
+ true
+
+
+ usePluginRegistry
+ 1.0.0
+
+ boolean
+ true
+
+
+
+
+ offline
+ 1.0.0
+ false
+
+
+ boolean
+ false
+
+
+
+
+ proxies
+ 1.0.0
+
+
+ Proxy
+ *
+
+
+
+ servers
+ 1.0.0
+
+
+ Server
+ *
+
+
+
+ mirrors
+ 1.0.0
+ Configuration of download mirrors for repositories.
+
+
+ Mirror
+ *
+
+
+
+ profiles
+ 1.0.0
+
+
+ Profile
+ *
+
+
+
+ activeProfiles
+ 1.0.0
+
+
+ String
+ *
+
+
+
+ pluginGroups
+ 1.0.0
+ List of groupIds to search for a plugin when that plugin groupId is not explicitly provided.
+
+ String
+ *
+
+
+
+
+
+ 1.0.0
+ 1 )
+ {
+ for ( java.util.Iterator it = proxies.iterator(); it.hasNext(); )
+ {
+ Proxy proxy = (Proxy) it.next();
+ if ( proxy.isActive() )
+ {
+ activeProxy = proxy;
+ break;
+ }
+ }
+ }
+ else
+ {
+ // If we only have one proxy, use it as the active one.
+ activeProxy = (Proxy) proxies.get( 0 );
+ }
+ }
+ }
+
+ return activeProxy;
+ }
+
+ public Server getServer( String serverId )
+ {
+ Server match = null;
+
+ java.util.List servers = getServers();
+ if ( servers != null && serverId != null )
+ {
+ for ( java.util.Iterator it = servers.iterator(); it.hasNext(); )
+ {
+ Server server = (Server) it.next();
+ if ( serverId.equals( server.getId() ) )
+ {
+ match = server;
+ break;
+ }
+ }
+ }
+
+ return match;
+ }
+
+ public Mirror getMirrorOf( String repositoryId )
+ {
+ Mirror match = null;
+
+ java.util.List mirrors = getMirrors();
+ if ( mirrors != null && repositoryId != null )
+ {
+ for ( java.util.Iterator it = mirrors.iterator(); it.hasNext(); )
+ {
+ Mirror mirror = (Mirror) it.next();
+ if ( repositoryId.equals( mirror.getMirrorOf() ) )
+ {
+ match = mirror;
+ break;
+ }
+ }
+ }
+
+ return match;
+ }
+
+ private java.util.Map profileMap;
+
+ public void flushProfileMap()
+ {
+ this.profileMap = null;
+ }
+
+ public java.util.Map getProfilesAsMap()
+ {
+ if ( profileMap == null )
+ {
+ profileMap = new java.util.HashMap();
+
+ if ( getProfiles() != null )
+ {
+ for ( java.util.Iterator it = getProfiles().iterator(); it.hasNext(); )
+ {
+ Profile profile = (Profile) it.next();
+
+ profileMap.put( profile.getId(), profile );
+ }
+ }
+ }
+
+ return profileMap;
+ }
+
+ private RuntimeInfo runtimeInfo;
+
+ public void setRuntimeInfo( RuntimeInfo runtimeInfo )
+ {
+ this.runtimeInfo = runtimeInfo;
+ }
+
+ public RuntimeInfo getRuntimeInfo()
+ {
+ return runtimeInfo;
+ }
+ ]]>
+
+
+
+
+
+
+
+ Proxy
+ 1.0.0
+ IdentifiableBase
+
+
+ active
+ 1.0.0
+ false
+ false
+
+
+ boolean
+
+
+ protocol
+ 1.0.0
+
+ String
+ http
+
+
+ username
+ 1.0.0
+
+ String
+
+
+ password
+ 1.0.0
+
+ String
+
+
+ port
+ 1.0.0
+
+ int
+
+
+ host
+ 1.0.0
+
+ String
+
+
+ nonProxyHosts
+ 1.0.0
+
+ String
+
+
+
+
+ Server
+ 1.0.0
+ IdentifiableBase
+
+
+ username
+ 1.0.0
+
+
+ String
+
+
+ password
+ 1.0.0
+
+ String
+
+
+ privateKey
+ 1.0.0
+
+
+ String
+
+
+ passphrase
+ 1.0.0
+
+ String
+
+
+
+
+ Mirror
+ 1.0.0
+ IdentifiableBase
+ A download mirror for a given repository.
+
+
+ mirrorOf
+ true
+ 1.0.0
+ String
+ The server ID of the repository being mirrored, eg
+ "central". This MUST NOT match the mirror id.
+
+
+ name
+ false
+ 1.0.0
+ String
+ The optional name that describes the mirror.
+
+
+
+ url
+ true
+ 1.0.0
+ String
+ The URL of the mirror repository.
+
+
+
+
+
+
+ Profile
+ 1.0.0
+ IdentifiableBase
+
+
+
+ activation
+ 1.0.0
+
+
+ Activation
+
+
+
+ localRepository
+ 1.0.0
+ String
+ backwards-compatible location for specifying the local repository for use in builds
+ THIS IS DEPRECATED: use localRepository under the root element instead.
+
+
+ properties
+ Extended configuration specific to this profile goes
+ here.
+ Properties
+
+ String
+ *
+
+
+
+ repositories
+ 1.0.0
+
+
+
+ Repository
+ *
+
+
+
+ pluginRepositories
+ 1.0.0
+
+
+ Repository
+ *
+
+
+
+
+
+
+ Activation
+ 1.0.0
+
+
+
+ activeByDefault
+ 1.0.0
+ boolean
+ Flag specifying whether this profile is active as a default.
+
+
+ jdk
+ 1.0.0
+ String
+
+
+
+ property
+ 1.0.0
+
+
+ ActivationProperty
+
+
+
+
+
+
+
+ RepositoryBase
+ 1.0.0
+
+
+
+ id
+ 1.0.0
+
+ String
+
+
+ name
+ 1.0.0
+
+ String
+
+
+ url
+ 1.0.0
+
+ String
+
+
+ layout
+ 1.0.0
+ The type of layout this repository uses for locating and storing artifacts - can be "legacy" or
+ "default".
+ String
+ default
+
+
+
+
+ 1.0.0
+
+
+
+
+
+
+ Repository
+ RepositoryBase
+ 1.0.0
+
+ Repository contains the information needed for establishing connections with remote repoistory
+
+
+
+
+ snapshotPolicy
+ 1.0.0
+
+ The policy for downloading snapshots - can be "always", "daily" (default), "interval:XXX" (in minutes) or
+ "never" (repository is not checked, even if the snapshot is not present locally).
+
+ String
+
+
+
+ checksumPolicy
+ 1.0.0
+ What to do when verification of an artifact checksum fails - warn, fail, etc. Valid values are
+ "fail" or "warn"
+ String
+
+
+ releases
+ 1.0.0
+ How to handle downloading of releases from this repository
+
+ RepositoryPolicy
+
+
+
+ snapshots
+ 1.0.0
+ How to handle downloading of snapshots from this repository
+
+ RepositoryPolicy
+
+
+
+
+
+
+ 1.0.0
+
+
+
+
+
+
+ RepositoryPolicy
+ 1.0.0
+ Download policy
+
+
+ enabled
+ 1.0.0
+ Whether to use this repository for downloading this type of artifact
+ boolean
+ true
+
+
+ updatePolicy
+ 1.0.0
+
+ The frequency for downloading updates - can be "always", "daily" (default), "interval:XXX" (in minutes) or
+ "never" (only if it doesn't exist locally).
+
+ String
+
+
+ checksumPolicy
+ 1.0.0
+ What to do when verification of an artifact checksum fails - warn, fail, etc. Valid values are
+ "fail" or "warn"
+ String
+
+
+
+
+
+ ActivationProperty
+ 1.0.0
+
+
+
+ name
+ 1.0.0
+ String
+ true
+ The name of the property to be used to activate a profile
+
+
+ value
+ 1.0.0
+ String
+ The value of the property to be used to activate a profile
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0069/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0069/pom.xml
new file mode 100644
index 0000000000..9207ffb1b4
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0069/pom.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+ Maven Integration Test :: it0069
+ org.apache.maven.its.it0069
+ maven-it-it0069
+ Test offline mode.
+ 1.0-SNAPSHOT
+
+
+
+ classworlds
+ classworlds
+ 1.1-alpha-2
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0069/src/main/java/org/apache/maven/it0069/ClassworldBasedThing.java b/its/maven-core-integration-tests/src/test/resources/it0069/src/main/java/org/apache/maven/it0069/ClassworldBasedThing.java
new file mode 100644
index 0000000000..330d86a055
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0069/src/main/java/org/apache/maven/it0069/ClassworldBasedThing.java
@@ -0,0 +1,7 @@
+package org.apache.maven.it0069;
+
+public class ClassworldBasedThing
+{
+ private org.codehaus.classworlds.ClassRealm realm;
+}
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0070/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0070/pom.xml
new file mode 100644
index 0000000000..ffc4e8d485
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0070/pom.xml
@@ -0,0 +1,22 @@
+
+ 4.0.0
+ Maven Integration Test :: it0070
+ org.apache.maven.its.it0070
+ maven-it-it0070
+ Test a RAR generation.
+ rar
+ 1.0
+
+
+
+
+ org.apache.maven.plugins
+ maven-rar-plugin
+
+ false
+ src/main/custom/ra.xml
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0070/src/main/custom/ra.xml b/its/maven-core-integration-tests/src/test/resources/it0070/src/main/custom/ra.xml
new file mode 100644
index 0000000000..dfd9a98064
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0070/src/main/custom/ra.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/its/maven-core-integration-tests/src/test/resources/it0070/src/main/rar/SomeResource.txt b/its/maven-core-integration-tests/src/test/resources/it0070/src/main/rar/SomeResource.txt
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/its/maven-core-integration-tests/src/test/resources/it0071/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0071/pom.xml
new file mode 100644
index 0000000000..42671cf90a
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0071/pom.xml
@@ -0,0 +1,34 @@
+
+ 4.0.0
+ Maven Integration Test :: it0071
+ org.apache.maven.its.it0071
+ maven-it-it0071
+ Verifies that dotted property references work within plugin
+ configurations.
+ jar
+ 1.0-SNAPSHOT
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-touch
+ 1.0-SNAPSHOT
+
+ ${m2.foo}
+
+
+
+
+
+ foo2
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0072/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0072/pom.xml
new file mode 100644
index 0000000000..c74745a50b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0072/pom.xml
@@ -0,0 +1,24 @@
+
+ 4.0.0
+ Maven Integration Test :: it0072
+ org.apache.maven.its.it0072
+ maven-it-it0072
+ Verifies that property references with dotted notation work within
+ POM interpolation.
+ jar
+ ${m2.version}
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+ foo2
+ 1.0-SNAPSHOT
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0073/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0073/pom.xml
new file mode 100644
index 0000000000..d383a6a765
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0073/pom.xml
@@ -0,0 +1,20 @@
+
+ 4.0.0
+ Maven Integration Test :: it0073
+ org.apache.maven.its.it0073
+ maven-it-it0073
+ Tests context passing between mojos in the same plugin.
+ 1.0-SNAPSHOT
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-context-passing
+ 1.0-SNAPSHOT
+
+ thrown-value
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0074/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0074/pom.xml
new file mode 100644
index 0000000000..34ae043ff1
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0074/pom.xml
@@ -0,0 +1,41 @@
+
+ 4.0.0
+ Maven Integration Test :: it0074
+ org.apache.maven.its.it0074
+ maven-it-it0074
+ Test that plugin-level configuration instances are not nullified by
+ execution-level configuration instances.
+ 1.0
+
+
+
+ junit
+ junit
+ 3.8.1
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+ precompile
+ initialize
+
+
+ org/apache/maven/it0074/Person.java
+
+
+
+ compile
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0074/src/main/java/org/apache/maven/it0074/Person.java b/its/maven-core-integration-tests/src/test/resources/it0074/src/main/java/org/apache/maven/it0074/Person.java
new file mode 100644
index 0000000000..81569e26f3
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0074/src/main/java/org/apache/maven/it0074/Person.java
@@ -0,0 +1,6 @@
+package org.apache.maven.it0074;
+
+public class Person
+{
+ private String name;
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0075/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0075/pom.xml
new file mode 100644
index 0000000000..3b613a7281
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0075/pom.xml
@@ -0,0 +1,29 @@
+
+ 4.0.0
+ Maven Integration Test :: it0075
+ org.apache.maven.its.it0075
+ maven-it-it0075
+ Verify that direct invocation of a mojo from the command line still
+ results in the processing of modules included via profiles.
+ 1.0
+ pom
+
+
+ sub1
+
+
+
+
+ include-sub2
+
+
+ activate
+
+
+
+
+ sub2
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0075/sub1/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0075/sub1/pom.xml
new file mode 100644
index 0000000000..097a1af95f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0075/sub1/pom.xml
@@ -0,0 +1,9 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0075
+ maven-it-it0075
+ 1.0
+
+ sub1
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0075/sub1/src/main/java/org/apache/maven/it0075/Person.java b/its/maven-core-integration-tests/src/test/resources/it0075/sub1/src/main/java/org/apache/maven/it0075/Person.java
new file mode 100644
index 0000000000..4625629e09
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0075/sub1/src/main/java/org/apache/maven/it0075/Person.java
@@ -0,0 +1,6 @@
+package org.apache.maven.it0075;
+
+public class Person
+{
+ private String name;
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0075/sub2/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0075/sub2/pom.xml
new file mode 100644
index 0000000000..2fc1341f18
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0075/sub2/pom.xml
@@ -0,0 +1,9 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0075
+ maven-it-it0075
+ 1.0
+
+ sub2
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0075/sub2/src/main/java/org/apache/maven/it0075/Person2.java b/its/maven-core-integration-tests/src/test/resources/it0075/sub2/src/main/java/org/apache/maven/it0075/Person2.java
new file mode 100644
index 0000000000..21053e2b75
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0075/sub2/src/main/java/org/apache/maven/it0075/Person2.java
@@ -0,0 +1,6 @@
+package org.apache.maven.it0075;
+
+public class Person2
+{
+ private String name;
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0076/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0076/pom.xml
new file mode 100644
index 0000000000..88498b0257
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0076/pom.xml
@@ -0,0 +1,33 @@
+
+
+ 4.0.0
+ Maven Integration Test :: it0076
+ org.apache.maven.its.it0076
+ maven-it-it0076
+ Test that plugins in pluginManagement aren't included in the build
+ unless they are referenced by groupId/artifactId within the plugins
+ section of a pom.
+ 1.0-SNAPSHOT
+ pom
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+
+
+
+ exec1
+ package
+
+ war
+
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0077/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0077/pom.xml
new file mode 100644
index 0000000000..a236e8c040
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0077/pom.xml
@@ -0,0 +1,30 @@
+
+ 4.0.0
+ Maven Integration Test :: it0077
+ org.apache.maven.its.it0077
+ maven-it-it0077
+ Test test jar attachment.
+ pom
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+ sub1
+ sub2
+
+
+
+
+ test
+ file:target/test-repo
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0077/settings.xml b/its/maven-core-integration-tests/src/test/resources/it0077/settings.xml
new file mode 100644
index 0000000000..57f8c014c5
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0077/settings.xml
@@ -0,0 +1,4 @@
+
+ file:../target/local-repo
+ false
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0077/sub1/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0077/sub1/pom.xml
new file mode 100644
index 0000000000..8244aae36d
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0077/sub1/pom.xml
@@ -0,0 +1,41 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0077
+ maven-it-it0077
+ 1.0
+
+ sub1
+ 1.0
+
+
+ commons-lang
+ commons-lang
+ 2.0
+ test
+
+
+
+
+
+ central
+ Test Repository
+ file:../target/test-repo
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ test-jar
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0077/sub1/src/main/java/org/apache/maven/it0077/Person.java b/its/maven-core-integration-tests/src/test/resources/it0077/sub1/src/main/java/org/apache/maven/it0077/Person.java
new file mode 100644
index 0000000000..14c3784427
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0077/sub1/src/main/java/org/apache/maven/it0077/Person.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0077;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0077/sub1/src/test/java/org/apache/maven/it0077/PersonTest.java b/its/maven-core-integration-tests/src/test/resources/it0077/sub1/src/test/java/org/apache/maven/it0077/PersonTest.java
new file mode 100644
index 0000000000..f3a40ca096
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0077/sub1/src/test/java/org/apache/maven/it0077/PersonTest.java
@@ -0,0 +1,16 @@
+package org.apache.maven.it0077;
+
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0077/sub2/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0077/sub2/pom.xml
new file mode 100644
index 0000000000..f127b8525f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0077/sub2/pom.xml
@@ -0,0 +1,25 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0077
+ maven-it-it0077
+ 1.0
+
+ sub2
+ 1.0
+
+
+ org.apache.maven.its.it0077
+ sub1
+ 1.0
+ test
+
+
+ org.apache.maven.its.it0077
+ sub1
+ test-jar
+ 1.0
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0077/sub2/src/test/java/org/apache/maven/it0077/PersonTwoTest.java b/its/maven-core-integration-tests/src/test/resources/it0077/sub2/src/test/java/org/apache/maven/it0077/PersonTwoTest.java
new file mode 100644
index 0000000000..a81618e7ea
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0077/sub2/src/test/java/org/apache/maven/it0077/PersonTwoTest.java
@@ -0,0 +1,8 @@
+package org.apache.maven.it0077;
+
+import junit.framework.TestCase;
+
+public class PersonTwoTest
+ extends PersonTest
+{
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0078/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0078/pom.xml
new file mode 100644
index 0000000000..c6e4aab48f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0078/pom.xml
@@ -0,0 +1,25 @@
+
+ 4.0.0
+ Maven Integration Test :: it0078
+ org.apache.maven.its.it0078
+ maven-it-it0078
+ Test that configuration for maven-compiler-plugin is injected from
+ PluginManagement section even when it's not explicitly defined in the
+ plugins section.
+ jar
+ 1.0
+
+
+
+
+ maven-compiler-plugin
+
+
+ **/Test.java
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0078/src/main/java/Test.java b/its/maven-core-integration-tests/src/test/resources/it0078/src/main/java/Test.java
new file mode 100644
index 0000000000..a0d36b07d4
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0078/src/main/java/Test.java
@@ -0,0 +1,6 @@
+import java.util.List;
+
+public class Test
+{
+ private List strings;
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0079/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0079/pom.xml
new file mode 100644
index 0000000000..6761fcfc21
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0079/pom.xml
@@ -0,0 +1,36 @@
+
+
+
+ 4.0.0
+ org.apache.maven.its.it0079
+ maven-it-it0079
+
+ Test that source attachments have the same build number as the main
+ artifact when deployed.
+
+ SNAPSHOT
+
+
+ test
+ Test Repo
+ file:target/test-repo
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+
+
+
+ jar
+
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0079/src/main/java/org/apache/maven/it0079/Person.java b/its/maven-core-integration-tests/src/test/resources/it0079/src/main/java/org/apache/maven/it0079/Person.java
new file mode 100644
index 0000000000..13e7918e1f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0079/src/main/java/org/apache/maven/it0079/Person.java
@@ -0,0 +1,6 @@
+package org.apache.maven.it0079;
+
+public class Person
+{
+ String name;
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0080/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0080/pom.xml
new file mode 100644
index 0000000000..66aa74a1fb
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0080/pom.xml
@@ -0,0 +1,15 @@
+
+ 4.0.0
+ Maven Integration Test :: it0080
+ org.apache.maven.its.it0080
+ maven-it-it0080
+ Test that depending on a WAR doesn't also get its dependencies
+ transitively.
+ 0.1
+ pom
+
+ test-component-c
+ test-component-b
+ test-component-a
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0080/test-component-a/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0080/test-component-a/pom.xml
new file mode 100644
index 0000000000..c6cdc46397
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0080/test-component-a/pom.xml
@@ -0,0 +1,12 @@
+
+ 4.0.0
+
+ maven-it-it0080
+ org.apache.maven.its.it0080
+ 0.1
+
+ test-component-a
+ 0.1
+ Test Component A
+ jar
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0080/test-component-a/src/main/java/A.java b/its/maven-core-integration-tests/src/test/resources/it0080/test-component-a/src/main/java/A.java
new file mode 100644
index 0000000000..73e270dbea
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0080/test-component-a/src/main/java/A.java
@@ -0,0 +1,3 @@
+public class A {
+}
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0080/test-component-b/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0080/test-component-b/pom.xml
new file mode 100644
index 0000000000..42c81ec40f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0080/test-component-b/pom.xml
@@ -0,0 +1,19 @@
+
+ 4.0.0
+
+ maven-it-it0080
+ org.apache.maven.its.it0080
+ 0.1
+
+ test-component-b
+ 0.1
+ Test Component B
+ war
+
+
+ test
+ test-component-a
+ 0.1
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0080/test-component-b/src/main/java/B.java b/its/maven-core-integration-tests/src/test/resources/it0080/test-component-b/src/main/java/B.java
new file mode 100644
index 0000000000..c288d4d8b7
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0080/test-component-b/src/main/java/B.java
@@ -0,0 +1,5 @@
+public class B
+ extends A
+{
+}
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0080/test-component-b/src/main/webapp/WEB-INF/web.xml b/its/maven-core-integration-tests/src/test/resources/it0080/test-component-b/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000000..92bb2e9825
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0080/test-component-b/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0080/test-component-c/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0080/test-component-c/pom.xml
new file mode 100644
index 0000000000..38244af7ce
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0080/test-component-c/pom.xml
@@ -0,0 +1,20 @@
+
+ 4.0.0
+
+ maven-it-it0080
+ org.apache.maven.its.it0080
+ 0.1
+
+ test-component-c
+ 0.1
+ Test Component C
+ ear
+
+
+ test
+ test-component-b
+ 0.1
+ war
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0080/test-component-c/src/main/java/C.java b/its/maven-core-integration-tests/src/test/resources/it0080/test-component-c/src/main/java/C.java
new file mode 100644
index 0000000000..f7546a58a7
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0080/test-component-c/src/main/java/C.java
@@ -0,0 +1,5 @@
+public class C
+ extends A
+{
+}
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0081/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0081/pom.xml
new file mode 100644
index 0000000000..b72264eeec
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0081/pom.xml
@@ -0,0 +1,13 @@
+
+ 4.0.0
+ Maven Integration Test :: it0081
+ org.apache.maven.its.it0081
+ maven-it-it0081
+ Test per-plugin dependencies.
+ 0.1
+ pom
+
+ test-component-c
+ test-plugin
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0081/test-component-c/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0081/test-component-c/pom.xml
new file mode 100644
index 0000000000..769a03690a
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0081/test-component-c/pom.xml
@@ -0,0 +1,34 @@
+
+ 4.0.0
+
+ maven-it-it0081
+ org.apache.maven.its.it0081
+ 0.1
+
+ test-component-c
+ 0.1
+ Test Component C
+
+
+
+ test
+ test-plugin
+ 0.1
+
+
+ org.apache.maven.wagon
+ wagon-ftp
+ 1.0-alpha-4
+
+
+
+
+
+ test
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0081/test-plugin/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0081/test-plugin/pom.xml
new file mode 100644
index 0000000000..403a0d665e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0081/test-plugin/pom.xml
@@ -0,0 +1,19 @@
+
+ 4.0.0
+
+ maven-it-it0081
+ org.apache.maven.its.it0081
+ 0.1
+
+ test-plugin
+ maven-plugin
+ 0.1
+ Test Plugin
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0-beta-1
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0081/test-plugin/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java b/its/maven-core-integration-tests/src/test/resources/it0081/test-plugin/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java
new file mode 100644
index 0000000000..28bcec9ea5
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0081/test-plugin/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java
@@ -0,0 +1,75 @@
+package org.apache.maven.plugin.coreit;
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
+/**
+ * test goal.
+ *
+ * @goal test
+ * @phase test
+ */
+public class CoreItMojo
+ extends AbstractMojo
+{
+ /**
+ * @parameter expression="${project.build.directory}"
+ * @required
+ */
+ private String outputDirectory;
+
+ /**
+ * @component role="org.apache.maven.wagon.Wagon" roleHint="ftp"
+ */
+ private Object wagon;
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ touch( new File( outputDirectory ), wagon.getClass().getName() );
+ }
+
+ private static void touch( File dir, String file )
+ throws MojoExecutionException
+ {
+ try
+ {
+ if ( !dir.exists() )
+ {
+ dir.mkdirs();
+ }
+
+ File touch = new File( dir, file );
+
+ FileWriter w = new FileWriter( touch );
+
+ w.write( file );
+
+ w.close();
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Error touching file", e );
+ }
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0082/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0082/pom.xml
new file mode 100644
index 0000000000..be95fc14ec
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0082/pom.xml
@@ -0,0 +1,14 @@
+
+ 4.0.0
+ Maven Integration Test :: it0082
+ org.apache.maven.its.it0082
+ maven-it-it0082
+ Test that the reactor can establish the artifact location of known projects for dependencies
+ using process-sources to see that it works even when they aren't compiled
+ 0.1
+ pom
+
+ test-component-c
+ test-plugin
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0082/test-component-c/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0082/test-component-c/pom.xml
new file mode 100644
index 0000000000..596c9c4b5e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0082/test-component-c/pom.xml
@@ -0,0 +1,31 @@
+
+ 4.0.0
+
+ maven-it-it0082
+ org.apache.maven.its.it0082
+ 0.1
+
+ test-component-c
+ 0.1
+ Test Component C
+ war
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-touch
+ 1.0-SNAPSHOT
+
+ my-test
+
+
+
+
+ touch
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0082/test-component-c/src/main/java/C.java b/its/maven-core-integration-tests/src/test/resources/it0082/test-component-c/src/main/java/C.java
new file mode 100644
index 0000000000..f7546a58a7
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0082/test-component-c/src/main/java/C.java
@@ -0,0 +1,5 @@
+public class C
+ extends A
+{
+}
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0082/test-component-c/src/main/webapp/WEB-INF/web.xml b/its/maven-core-integration-tests/src/test/resources/it0082/test-component-c/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000000..92bb2e9825
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0082/test-component-c/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0082/test-plugin/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0082/test-plugin/pom.xml
new file mode 100644
index 0000000000..a0a2ae55a3
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0082/test-plugin/pom.xml
@@ -0,0 +1,19 @@
+
+ 4.0.0
+
+ maven-it-it0082
+ org.apache.maven.its.it0082
+ 0.1
+
+ test-plugin
+ maven-plugin
+ 1.0-SNAPSHOT
+ Test Plugin
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0-beta-1
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0082/test-plugin/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java b/its/maven-core-integration-tests/src/test/resources/it0082/test-plugin/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java
new file mode 100644
index 0000000000..ad958a7e66
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0082/test-plugin/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java
@@ -0,0 +1,77 @@
+package org.apache.maven.plugin.coreit;
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
+/**
+ * @goal test
+ *
+ * @phase process-sources
+ *
+ * @description Goal which cleans the build
+ */
+public class CoreItMojo
+ extends AbstractMojo
+{
+ /**
+ * @parameter expression="${project.build.directory}"
+ * @required
+ */
+ private String outputDirectory;
+
+ /**
+ * @parameter
+ * @required
+ */
+ private String value;
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ touch( new File( outputDirectory ), value );
+ }
+
+ private static void touch( File dir, String file )
+ throws MojoExecutionException
+ {
+ try
+ {
+ if ( !dir.exists() )
+ {
+ dir.mkdirs();
+ }
+
+ File touch = new File( dir, file );
+
+ FileWriter w = new FileWriter( touch );
+
+ w.write( file );
+
+ w.close();
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Error touching file", e );
+ }
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0083/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0083/pom.xml
new file mode 100644
index 0000000000..6a21b07e9a
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0083/pom.xml
@@ -0,0 +1,15 @@
+
+ 4.0.0
+ Maven Integration Test :: it0083
+ org.apache.maven.its.it0083
+ maven-it-it0083
+ Verify that overriding a compile time dependency as provided in a WAR ensures it is not included.
+
+ 0.1
+ pom
+
+ test-component-c
+ test-component-b
+ test-component-a
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0083/test-component-a/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0083/test-component-a/pom.xml
new file mode 100644
index 0000000000..6957e1fd5d
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0083/test-component-a/pom.xml
@@ -0,0 +1,12 @@
+
+ 4.0.0
+
+ maven-it-it0083
+ org.apache.maven.its.it0083
+ 0.1
+
+ test-component-a
+ 0.1
+ Test Component A
+ jar
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0083/test-component-a/src/main/java/A.java b/its/maven-core-integration-tests/src/test/resources/it0083/test-component-a/src/main/java/A.java
new file mode 100644
index 0000000000..73e270dbea
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0083/test-component-a/src/main/java/A.java
@@ -0,0 +1,3 @@
+public class A {
+}
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0083/test-component-b/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0083/test-component-b/pom.xml
new file mode 100644
index 0000000000..03c42bb15e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0083/test-component-b/pom.xml
@@ -0,0 +1,20 @@
+
+ 4.0.0
+
+ maven-it-it0083
+ org.apache.maven.its.it0083
+ 0.1
+
+ test-component-b
+ 0.1
+ Test Component B
+ jar
+
+
+
+ org.apache.maven.its.it0083
+ test-component-a
+ 0.1
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0083/test-component-b/src/main/java/B.java b/its/maven-core-integration-tests/src/test/resources/it0083/test-component-b/src/main/java/B.java
new file mode 100644
index 0000000000..c288d4d8b7
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0083/test-component-b/src/main/java/B.java
@@ -0,0 +1,5 @@
+public class B
+ extends A
+{
+}
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0083/test-component-c/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0083/test-component-c/pom.xml
new file mode 100644
index 0000000000..c03f5a3186
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0083/test-component-c/pom.xml
@@ -0,0 +1,25 @@
+
+ 4.0.0
+
+ maven-it-it0083
+ org.apache.maven.its.it0083
+ 0.1
+
+ test-component-c
+ 0.1
+ Test Component C
+ war
+
+
+ org.apache.maven.its.it0083
+ test-component-b
+ 0.1
+
+
+ org.apache.maven.its.it0083
+ test-component-a
+ 0.1
+ provided
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0083/test-component-c/src/main/java/C.java b/its/maven-core-integration-tests/src/test/resources/it0083/test-component-c/src/main/java/C.java
new file mode 100644
index 0000000000..f7546a58a7
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0083/test-component-c/src/main/java/C.java
@@ -0,0 +1,5 @@
+public class C
+ extends A
+{
+}
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0083/test-component-c/src/main/webapp/WEB-INF/web.xml b/its/maven-core-integration-tests/src/test/resources/it0083/test-component-c/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000000..92bb2e9825
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0083/test-component-c/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0084/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0084/pom.xml
new file mode 100644
index 0000000000..1b9a5b3975
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0084/pom.xml
@@ -0,0 +1,14 @@
+
+ 4.0.0
+ Maven Integration Test :: it0084
+ org.apache.maven.its.it0084
+ maven-it-it0084
+ Verify that the collector selecting a particular version gets the correct subtree
+ 0.1
+ pom
+
+ test-component-c
+ test-component-b
+ test-component-a
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0084/test-component-a/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0084/test-component-a/pom.xml
new file mode 100644
index 0000000000..220be64332
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0084/test-component-a/pom.xml
@@ -0,0 +1,19 @@
+
+ 4.0.0
+
+ maven-it-it0084
+ org.apache.maven.its.it0084
+ 0.1
+
+ test-component-a
+ 0.1
+ Test Component A
+ jar
+
+
+ org.apache.maven
+ maven-core-it-support
+ 1.4
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0084/test-component-a/src/main/java/A.java b/its/maven-core-integration-tests/src/test/resources/it0084/test-component-a/src/main/java/A.java
new file mode 100644
index 0000000000..73e270dbea
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0084/test-component-a/src/main/java/A.java
@@ -0,0 +1,3 @@
+public class A {
+}
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0084/test-component-b/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0084/test-component-b/pom.xml
new file mode 100644
index 0000000000..350ebc4aa8
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0084/test-component-b/pom.xml
@@ -0,0 +1,19 @@
+
+ 4.0.0
+
+ maven-it-it0084
+ org.apache.maven.its.it0084
+ 0.1
+
+ test-component-b
+ 0.1
+ Test Component B
+ jar
+
+
+ org.apache.maven
+ maven-core-it-support
+ 1.3
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0084/test-component-b/src/main/java/B.java b/its/maven-core-integration-tests/src/test/resources/it0084/test-component-b/src/main/java/B.java
new file mode 100644
index 0000000000..142f69843a
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0084/test-component-b/src/main/java/B.java
@@ -0,0 +1,4 @@
+public class B
+{
+}
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0084/test-component-c/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0084/test-component-c/pom.xml
new file mode 100644
index 0000000000..54d13a582d
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0084/test-component-c/pom.xml
@@ -0,0 +1,29 @@
+
+ 4.0.0
+
+ maven-it-it0084
+ org.apache.maven.its.it0084
+ 0.1
+
+ test-component-c
+ 0.1
+ Test Component C
+ war
+
+
+ org.apache.maven
+ maven-core-it-support
+ 1.4
+
+
+ org.apache.maven.its.it0084
+ test-component-a
+ 0.1
+
+
+ org.apache.maven.its.it0084
+ test-component-b
+ 0.1
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0084/test-component-c/src/main/java/C.java b/its/maven-core-integration-tests/src/test/resources/it0084/test-component-c/src/main/java/C.java
new file mode 100644
index 0000000000..bea74fda04
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0084/test-component-c/src/main/java/C.java
@@ -0,0 +1,4 @@
+public class C
+{
+}
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0084/test-component-c/src/main/webapp/WEB-INF/web.xml b/its/maven-core-integration-tests/src/test/resources/it0084/test-component-c/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000000..92bb2e9825
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0084/test-component-c/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0085/dep/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0085/dep/pom.xml
new file mode 100644
index 0000000000..028388a9bd
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0085/dep/pom.xml
@@ -0,0 +1,15 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0085
+ maven-it-it0085
+ 1.0
+
+ dep
+
+
+ org.apache.maven.its.it0085
+ pom-dep
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0085/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0085/pom.xml
new file mode 100644
index 0000000000..9de05173d6
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0085/pom.xml
@@ -0,0 +1,29 @@
+
+ 4.0.0
+ Maven Integration Test :: it0085
+ org.apache.maven.its.it0085
+ maven-it-it0085
+ Verify that system-scoped dependencies get resolved with system scope
+ when they are resolved transitively via another (non-system)
+ dependency. Inherited scope should not apply in the case of
+ system-scoped dependencies, no matter where they are.
+ 1.0
+ pom
+
+
+ dep
+ war
+
+
+
+
+
+ org.apache.maven.its.it0085
+ pom-dep
+ 1.4.2
+ system
+ ${basedir}/pom.xml
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0085/war/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0085/war/pom.xml
new file mode 100644
index 0000000000..0d09a021d6
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0085/war/pom.xml
@@ -0,0 +1,24 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0085
+ maven-it-it0085
+ 1.0
+
+ war
+ war
+
+
+
+ junit
+ junit
+ 3.8.1
+
+
+ org.apache.maven.its.it0085
+ dep
+ 1.0
+ provided
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0085/war/src/main/webapp/WEB-INF/web.xml b/its/maven-core-integration-tests/src/test/resources/it0085/war/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000000..692c8c3b9a
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0085/war/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0086/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0086/pom.xml
new file mode 100644
index 0000000000..7a4c11facf
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0086/pom.xml
@@ -0,0 +1,30 @@
+
+ 4.0.0
+ Maven Integration Test :: it0086
+ org.apache.maven.its.it0086
+ 1.0
+ maven-it-it0086
+ Verify that a plugin dependency class can be loaded from both the plugin classloader and the context classloader available to the plugin.
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-loadable
+ 1.0-SNAPSHOT
+
+
+ validate
+
+
+ bsh.Interpreter
+
+
+
+ loadable
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0087/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0087/pom.xml
new file mode 100644
index 0000000000..282af5d0d0
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0087/pom.xml
@@ -0,0 +1,40 @@
+
+ 4.0.0
+ Maven Integration Test :: it0087
+ org.apache.maven.its.it0087
+ 1.0
+ maven-it-it0087
+
+ Verify that a project-level plugin dependency class can be loaded from both the plugin classloader
+ and the context classloader available to the plugin.
+
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-loadable
+ 1.0-SNAPSHOT
+
+
+ commons-logging
+ commons-logging
+ 1.0.3
+
+
+
+
+ validate
+
+
+ org.apache.commons.logging.LogFactory
+
+
+
+ loadable
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0088/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0088/pom.xml
new file mode 100644
index 0000000000..064c9827bf
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0088/pom.xml
@@ -0,0 +1,45 @@
+
+ 4.0.0
+ Maven Integration Test :: it0088
+ org.apache.maven.its.it0088
+ maven-it-it0088
+ Test path translation.
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+
+ src/main/resources
+ true
+
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-generate-properties
+ 1.0-SNAPSHOT
+
+
+ process-resources
+
+ ${project.build.directory}
+ target
+ target
+
+
+ generate-properties
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0088/src/main/resources/test.properties b/its/maven-core-integration-tests/src/test/resources/it0088/src/main/resources/test.properties
new file mode 100644
index 0000000000..afe1e72856
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0088/src/main/resources/test.properties
@@ -0,0 +1 @@
+project.build.directory = ${project.build.directory}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0088/src/test/java/org/apache/maven/it0088/PomInterpolationTest.java b/its/maven-core-integration-tests/src/test/resources/it0088/src/test/java/org/apache/maven/it0088/PomInterpolationTest.java
new file mode 100644
index 0000000000..8e38533e08
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0088/src/test/java/org/apache/maven/it0088/PomInterpolationTest.java
@@ -0,0 +1,53 @@
+package org.apache.maven.it0088;
+
+import junit.framework.TestCase;
+
+import java.util.Properties;
+import java.io.File;
+import java.io.FileInputStream;
+
+public class PomInterpolationTest
+ extends TestCase
+{
+ private String basedir;
+
+ protected void setUp()
+ throws Exception
+ {
+ basedir = System.getProperty( "basedir" );
+ }
+
+ public void testProjectBuildDirectoryAfterResourceFiltering()
+ throws Exception
+ {
+ Properties testProperties = new Properties();
+
+ File testPropertiesFile = new File( basedir, "target/classes/test.properties" );
+
+ assertTrue( testPropertiesFile.exists() );
+
+ testProperties.load( new FileInputStream( testPropertiesFile ) );
+
+ File projectBuildDirectory = new File( basedir, "target" );
+
+ assertEquals( projectBuildDirectory.getAbsolutePath(), testProperties.getProperty( "project.build.directory" ) );
+ }
+
+ public void testProjectBuildDirectoryForMojoExecution()
+ throws Exception
+ {
+ Properties testProperties = new Properties();
+
+ File testPropertiesFile = new File( basedir, "target/mojo-generated.properties" );
+
+ assertTrue( testPropertiesFile.exists() );
+
+ testProperties.load( new FileInputStream( testPropertiesFile ) );
+
+ File projectBuildDirectory = new File( basedir, "target" );
+
+ assertEquals( projectBuildDirectory.getAbsolutePath(), testProperties.getProperty( "project.build.directory" ) );
+ assertEquals( projectBuildDirectory.getAbsolutePath(), testProperties.getProperty( "targetDirectoryFile" ) );
+ assertEquals( "target", testProperties.getProperty( "targetDirectoryString" ) );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0089/plugin/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0089/plugin/pom.xml
new file mode 100644
index 0000000000..eb16309431
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0089/plugin/pom.xml
@@ -0,0 +1,24 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0089
+ 1.0
+ maven-it-it0089
+
+ org.apache.maven.plugins
+ maven-it0089-plugin
+ 1.0-SNAPSHOT
+ maven-plugin
+
+
+ checkstyle
+ checkstyle
+ 4.1
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0089/plugin/src/main/java/org/apache/maven/plugins/it0089/Mojo.java b/its/maven-core-integration-tests/src/test/resources/it0089/plugin/src/main/java/org/apache/maven/plugins/it0089/Mojo.java
new file mode 100644
index 0000000000..27617fbc7c
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0089/plugin/src/main/java/org/apache/maven/plugins/it0089/Mojo.java
@@ -0,0 +1,71 @@
+package org.apache.maven.plugins.it0089;
+
+import com.puppycrawl.tools.checkstyle.PackageNamesLoader;
+import com.puppycrawl.tools.checkstyle.api.CheckstyleException;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.Writer;
+
+
+/**
+ * @goal test
+ */
+public class Mojo
+ extends AbstractMojo
+{
+
+ /**
+ * @parameter default-value="${basedir}/target"
+ * @required
+ * @readonly
+ */
+ private File outDir;
+
+ public void execute() throws MojoExecutionException, MojoFailureException
+ {
+ try
+ {
+ PackageNamesLoader.loadModuleFactory(Thread.currentThread().getContextClassLoader());
+ getLog().info( "Loaded checkstyle module factory.");
+
+ outDir.mkdirs();
+
+ File output = new File( outDir, "output.txt" );
+ Writer writer = null;
+
+ try
+ {
+ writer = new FileWriter( output );
+ writer.write( "Success." );
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Failed to write output file.", e );
+ }
+ finally
+ {
+ if ( writer != null )
+ {
+ try
+ {
+ writer.close();
+ }
+ catch ( IOException e )
+ {
+ }
+ }
+ }
+ }
+ catch ( CheckstyleException e )
+ {
+ throw new MojoExecutionException( "Error loading checkstyle module factory.", e );
+ }
+ }
+
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0089/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0089/pom.xml
new file mode 100644
index 0000000000..206b460a22
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0089/pom.xml
@@ -0,0 +1,17 @@
+
+ 4.0.0
+ Maven Integration Test :: it0089
+ org.apache.maven.its.it0089
+ maven-it-it0089
+ Test that Checkstyle PackageNamesLoader.loadModuleFactory(..) method will complete as-is with
+ the context classloader available to the plugin.
+
+ 1.0
+
+ pom
+
+
+ plugin
+ project
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0089/project/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0089/project/pom.xml
new file mode 100644
index 0000000000..a642d8d18e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0089/project/pom.xml
@@ -0,0 +1,25 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0089
+ 1.0
+ maven-it-it0089
+
+ project
+ Plugin Transitive Dependency Classloading Test
+
+
+
+ maven-it0089-plugin
+
+
+ validate
+
+ test
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0090/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0090/pom.xml
new file mode 100644
index 0000000000..46da7cc267
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0090/pom.xml
@@ -0,0 +1,44 @@
+
+ 4.0.0
+ Maven Integration Test :: it0090
+ org.apache.maven.its.it0090
+ maven-it-it0090
+ Test that ensures that envars are interpolated correctly into plugin
+ configurations.
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+
+ src/main/resources
+ true
+
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-generate-envar-properties
+ 1.0-SNAPSHOT
+
+
+ process-resources
+
+ ${env.MAVEN_TEST_ENVAR}
+
+
+ generate-envar-properties
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0090/src/main/resources/test.properties b/its/maven-core-integration-tests/src/test/resources/it0090/src/main/resources/test.properties
new file mode 100644
index 0000000000..658e54becd
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0090/src/main/resources/test.properties
@@ -0,0 +1,2 @@
+# When we want to test the filtering of envars
+maven.test.envar=${env.MAVEN_TEST_ENVAR}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0090/src/test/java/org/apache/maven/it0090/PomInterpolationTest.java b/its/maven-core-integration-tests/src/test/resources/it0090/src/test/java/org/apache/maven/it0090/PomInterpolationTest.java
new file mode 100644
index 0000000000..a89e4cf145
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0090/src/test/java/org/apache/maven/it0090/PomInterpolationTest.java
@@ -0,0 +1,35 @@
+package org.apache.maven.it0090;
+
+import junit.framework.TestCase;
+
+import java.util.Properties;
+import java.io.File;
+import java.io.FileInputStream;
+
+public class PomInterpolationTest
+ extends TestCase
+{
+ private String basedir;
+
+ protected void setUp()
+ throws Exception
+ {
+ basedir = System.getProperty( "basedir" );
+ }
+
+ public void testProjectBuildDirectoryAfterForMojoExecution()
+ throws Exception
+ {
+ Properties testProperties = new Properties();
+
+ File testPropertiesFile = new File( basedir, "target/mojo-generated.properties" );
+
+ assertTrue( testPropertiesFile.exists() );
+
+ testProperties.load( new FileInputStream( testPropertiesFile ) );
+
+ File projectBuildDirectory = new File( basedir, "target" );
+
+ assertEquals( testProperties.getProperty( "maven.test.envar" ), "MAVEN_TEST_ENVAR_VALUE" );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0091/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0091/pom.xml
new file mode 100644
index 0000000000..35c44daf79
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0091/pom.xml
@@ -0,0 +1,41 @@
+
+ 4.0.0
+ Maven Integration Test :: it0091
+ org.apache.maven.its.it0091
+ maven-it-it0091
+ Test that currently demonstrates that properties are not correctly
+ interpolated into other areas in the POM. This may strictly be a boolean
+ problem: I captured the problem as it was reported.
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+ true
+ jason
+
+
+
+
+ src/main/resources
+ true
+
+
+
+ ${project.build.sourceDirectory}
+ true
+
+ **/*.properties
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0091/src/main/java/source.properties b/its/maven-core-integration-tests/src/test/resources/it0091/src/main/java/source.properties
new file mode 100644
index 0000000000..7673f9f83e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0091/src/main/java/source.properties
@@ -0,0 +1 @@
+name=${name}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0091/src/main/resources/test.properties b/its/maven-core-integration-tests/src/test/resources/it0091/src/main/resources/test.properties
new file mode 100644
index 0000000000..f951fd171d
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0091/src/main/resources/test.properties
@@ -0,0 +1,2 @@
+# When we want to test the filtering of envars
+name=${name}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0091/src/test/java/org/apache/maven/it0091/PomInterpolationTest.java b/its/maven-core-integration-tests/src/test/resources/it0091/src/test/java/org/apache/maven/it0091/PomInterpolationTest.java
new file mode 100644
index 0000000000..d97975017d
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0091/src/test/java/org/apache/maven/it0091/PomInterpolationTest.java
@@ -0,0 +1,51 @@
+package org.apache.maven.it0091;
+
+import junit.framework.TestCase;
+
+import java.util.Properties;
+import java.io.File;
+import java.io.FileInputStream;
+
+public class PomInterpolationTest
+ extends TestCase
+{
+ private String basedir;
+
+ protected void setUp()
+ throws Exception
+ {
+ basedir = System.getProperty( "basedir" );
+ }
+
+ public void testProjectBuildDirectoryAfterForMojoExecution()
+ throws Exception
+ {
+ Properties testProperties = new Properties();
+
+ File testPropertiesFile = new File( basedir, "target/classes/test.properties" );
+
+ assertTrue( testPropertiesFile.exists() );
+
+ testProperties.load( new FileInputStream( testPropertiesFile ) );
+
+ File projectBuildDirectory = new File( basedir, "target" );
+
+ assertEquals( testProperties.getProperty( "name" ), "jason" );
+ }
+
+ public void testInterpolatedProjectSourceDirectory()
+ throws Exception
+ {
+ Properties testProperties = new Properties();
+
+ File testPropertiesFile = new File( basedir, "target/classes/source.properties" );
+
+ assertTrue( testPropertiesFile.exists() );
+
+ testProperties.load( new FileInputStream( testPropertiesFile ) );
+
+ File projectBuildDirectory = new File( basedir, "target" );
+
+ assertEquals( testProperties.getProperty( "name" ), "jason" );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0092/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0092/pom.xml
new file mode 100644
index 0000000000..7264f48eb3
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0092/pom.xml
@@ -0,0 +1,22 @@
+
+ 4.0.0
+ Maven Integration Test :: it0092
+ org.apache.maven.its.it0092
+ maven-it-it0092
+ Test that legacy repositories with legacy snapshots download correctly.
+ 1.0
+
+
+ org.apache.maven
+ maven-core-it-support
+ 1.0-SNAPSHOT
+
+
+
+
+ it0092
+ file://localhost/${basedir}/repository
+ legacy
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0092/repository/org.apache.maven/jars/maven-core-it-support-1.0-SNAPSHOT.jar b/its/maven-core-integration-tests/src/test/resources/it0092/repository/org.apache.maven/jars/maven-core-it-support-1.0-SNAPSHOT.jar
new file mode 100644
index 0000000000..dadf84f0d5
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0092/repository/org.apache.maven/jars/maven-core-it-support-1.0-SNAPSHOT.jar
@@ -0,0 +1 @@
+THIS IS NOT A JAR
diff --git a/its/maven-core-integration-tests/src/test/resources/it0094/mojo/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0094/mojo/pom.xml
new file mode 100644
index 0000000000..63c2f655cf
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0094/mojo/pom.xml
@@ -0,0 +1,58 @@
+
+ 4.0.0
+ org.apache.maven.its.it0094
+ maven-it0094-plugin
+ maven-plugin
+ 1.0-SNAPSHOT
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0
+
+
+ org.apache.maven
+ maven-model
+ 2.0
+
+
+ log4j
+ log4j
+ [1.2.9,]
+
+
+ org.codehaus.plexus
+ plexus-utils
+ 1.0.5
+
+
+ xalan
+ xalan
+ 2.5.1
+ compile
+
+
+ xerces
+ xercesImpl
+ 2.5.0
+ compile
+
+
+ xml-apis
+ xml-apis
+ 2.0.0
+ compile
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-plugin-plugin
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0094/mojo/src/main/java/org/codehaus/mojo/kodo/Enhance.java b/its/maven-core-integration-tests/src/test/resources/it0094/mojo/src/main/java/org/codehaus/mojo/kodo/Enhance.java
new file mode 100644
index 0000000000..e57e4b3aee
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0094/mojo/src/main/java/org/codehaus/mojo/kodo/Enhance.java
@@ -0,0 +1,173 @@
+/*
+ * Copyright 2005-2006 Brian Fox (brianefox@gmail.com)
+ *
+ * Licensed 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.codehaus.mojo.kodo;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.xerces.jaxp.SAXParserFactoryImpl;
+import org.codehaus.classworlds.ClassRealm;
+
+import javax.xml.parsers.SAXParserFactory;
+import java.lang.reflect.Field;
+import java.net.URL;
+import java.net.URLClassLoader;
+
+/**
+ * Goal that enhances persistant classes
+ *
+ * @requiresDependancyResolution test
+ * @goal enhance
+ * @phase compile
+ */
+public class Enhance
+ extends AbstractMojo
+
+{
+ public Enhance()
+ {
+ super();
+ }
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ printClassPath();
+
+ ClassLoader originalLoader = Thread.currentThread().getContextClassLoader();
+ System.out.println( originalLoader.getClass() );
+
+ setupClassloader();
+ originalLoader = Thread.currentThread().getContextClassLoader();
+ System.out.println( originalLoader.getClass() );
+
+ SAXParserFactoryImpl spi = new SAXParserFactoryImpl();
+ SAXParserFactory spf = SAXParserFactory.newInstance();
+ this.getLog().info( spf.toString() );
+ String t = "org/apache/xerces/jaxp/SAXParserFactoryImpl.class";
+ this.getLog().info( t );
+ URL url = originalLoader.getResource( t );
+ //URL url = spf.getClass().getClassLoader().getResource("javax/xml/parsers/SAXParserFactory.class");
+ this.getLog().info( "Loaded from: " + url.toString() );
+
+ }
+
+ /**
+ * Adds nessessary items to the classloader.
+ *
+ * @return ClassLoader original Classloader.
+ * @throws MojoExecutionException
+ */
+ public ClassLoader setupClassloader()
+ throws MojoExecutionException
+ {
+
+ URLClassLoader loader = null;
+ ClassLoader originalLoader = Thread.currentThread().getContextClassLoader();
+ this.getLog().info( "orig classloader:" );
+ printURLClassPath( Thread.currentThread().getContextClassLoader(), "" );
+ URL[] urls = new URL[0];
+ loader = new URLClassLoader( urls, originalLoader );
+
+ Thread.currentThread().setContextClassLoader( loader );
+ this.getLog().info( "new classloader:" );
+ printURLClassPath( Thread.currentThread().getContextClassLoader(), "" );
+ return originalLoader;
+
+ }
+
+ public void printURLClassPath( ClassLoader sysClassLoader, String s )
+ throws MojoExecutionException
+ {
+ //Get the Classloader
+ //Get the URLs
+ URL[] urls;
+ if ( sysClassLoader instanceof URLClassLoader )
+ {
+ urls = ( (URLClassLoader) sysClassLoader ).getURLs();
+ }
+ else
+ {
+ try
+ {
+ Field f = sysClassLoader.getClass().getDeclaredField( "realm" );
+ f.setAccessible( true );
+ ClassRealm r = (ClassRealm) f.get( sysClassLoader );
+ urls = r.getConstituents();
+ }
+ catch ( NoSuchFieldException e )
+ {
+ throw new MojoExecutionException( "mee ", e );
+ }
+ catch ( IllegalAccessException e )
+ {
+ throw new MojoExecutionException( "mee ", e );
+ }
+ }
+ for ( int i = 0; i < urls.length; i++ )
+ {
+ this.getLog().info( s + urls[i].getFile() );
+ }
+
+ if ( sysClassLoader.getParent() != null )
+ {
+ printURLClassPath( sysClassLoader.getParent(), s + " " );
+ }
+ }
+
+ public void printClassPath()
+ {
+ ClassLoader sysClassLoader = Thread.currentThread().getContextClassLoader();
+ URL[] urls = null;
+ Field field;
+ try
+ {
+
+ field = sysClassLoader.getClass().getDeclaredField( "realm" );
+ field.setAccessible( true );
+ ClassRealm realm = (ClassRealm) field.get( sysClassLoader );
+
+ urls = realm.getConstituents();
+ }
+ catch ( SecurityException e )
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ catch ( NoSuchFieldException e )
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ catch ( IllegalArgumentException e )
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ catch ( IllegalAccessException e )
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ //URL[] urls = ( (URLClassLoader) sysClassLoader ).getURLs();
+ this.getLog().info( "Initial Classpath:" );
+ for ( int i = 0; i < urls.length; i++ )
+ {
+ this.getLog().info( urls[i].getFile() );
+ }
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0094/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0094/pom.xml
new file mode 100644
index 0000000000..9e9f92ac88
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0094/pom.xml
@@ -0,0 +1,17 @@
+
+
+ 4.0.0
+ Maven Integration Test :: it0094
+ org.apache.maven.its.it0094
+ maven-it-it0094
+ Test classloading issues with mojos after 2.0 (MNG-1898).
+ pom
+ 1.0-SNAPSHOT
+
+
+ mojo
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0094/test/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0094/test/pom.xml
new file mode 100644
index 0000000000..79677ebbde
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0094/test/pom.xml
@@ -0,0 +1,31 @@
+
+
+ 4.0.0
+
+ org.apache.maven.its.it0094
+ maven-it-it0094
+ 1.0-SNAPSHOT
+
+ test
+
+
+
+
+
+ org.apache.maven.its.it0094
+ maven-it0094-plugin
+
+
+ process-classes
+ process-classes
+
+ enhance
+
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0095/parent/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0095/parent/pom.xml
new file mode 100644
index 0000000000..b4981bda7f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0095/parent/pom.xml
@@ -0,0 +1,19 @@
+
+ 4.0.0
+ org.apache.maven.its.it0095
+ parent
+ 1
+ pom
+
+ scm:svn:https://svn.apache.org/repos/asf/maven/components/branches/maven-2.0.x/maven-core-it/it0095/parent
+
+
+
+ website
+ scp://host/path/parent
+
+
+
+ ../sub1
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0095/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0095/pom.xml
new file mode 100644
index 0000000000..a98db9bd98
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0095/pom.xml
@@ -0,0 +1,18 @@
+
+ 4.0.0
+ Maven Integration Test :: it0095
+ org.apache.maven.its.it0095
+ maven-it-it0095
+ Test URL calculation when modules are in sibling dirs of parent. (MNG-2006)
+ 1
+
+ pom
+
+
+ parent
+
+
+
+ integration-test
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0095/sub1/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0095/sub1/pom.xml
new file mode 100644
index 0000000000..d855240a7c
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0095/sub1/pom.xml
@@ -0,0 +1,41 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0095
+ parent
+ 1
+ ../parent
+
+ sub1
+
+ integration-test
+
+
+ maven-help-plugin
+
+
+
+
+
+ effective-pom
+ generate-resources
+
+ effective-pom
+
+
+
+
+
+ maven-verifier-plugin
+
+
+ verify
+
+ verify
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0095/sub1/src/test/verifier/verifications.xml b/its/maven-core-integration-tests/src/test/resources/it0095/sub1/src/test/verifier/verifications.xml
new file mode 100644
index 0000000000..21b8837751
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0095/sub1/src/test/verifier/verifications.xml
@@ -0,0 +1,12 @@
+
+
+
+ target/effective-pom.xml
+ scp://host/path/parent/sub1
+
+
+ target/effective-pom.xml
+ scm:svn:https://svn.apache.org/repos/asf/maven/components/branches/maven-2.0.x/maven-core-it/it0095/sub1
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0096/plugin/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0096/plugin/pom.xml
new file mode 100644
index 0000000000..d814b39a00
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0096/plugin/pom.xml
@@ -0,0 +1,17 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0096
+ maven-it-it0096
+ 1
+
+ maven-it0096-plugin
+ maven-plugin
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0096/plugin/src/main/java/org/apache/maven/it0096/It0096Mojo.java b/its/maven-core-integration-tests/src/test/resources/it0096/plugin/src/main/java/org/apache/maven/it0096/It0096Mojo.java
new file mode 100644
index 0000000000..a7d2ef8357
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0096/plugin/src/main/java/org/apache/maven/it0096/It0096Mojo.java
@@ -0,0 +1,56 @@
+package org.apache.maven.it0096;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+
+/**
+ * @goal it0096
+ */
+public class It0096Mojo extends AbstractMojo
+{
+
+ /**
+ * @parameter default-value="${project.build.directory}"
+ * @required
+ * @readonly
+ */
+ private File targetDirectory;
+
+ public void execute() throws MojoExecutionException
+ {
+ targetDirectory.mkdirs();
+
+ File myFile = new File( targetDirectory, "it0096-test.txt" );
+
+ if ( myFile.exists() )
+ {
+ throw new MojoExecutionException( "This mojo has already been run, or the project wasn't cleaned." );
+ }
+ else
+ {
+ FileWriter writer = null;
+ try
+ {
+ writer = new FileWriter( myFile );
+ writer.write( "test" );
+ writer.close();
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Failed to write test file: " + myFile );
+ }
+ finally
+ {
+ if ( writer != null )
+ {
+ try{ writer.close(); }
+ catch( IOException e ) {}
+ }
+ }
+ }
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0096/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0096/pom.xml
new file mode 100644
index 0000000000..f840c2c031
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0096/pom.xml
@@ -0,0 +1,14 @@
+
+ 4.0.0
+ Maven Integration Test :: it0096
+ org.apache.maven.its.it0096
+ maven-it-it0096
+ Test that plugin executions from >1 step of inheritance don't run multiple times.
+ 1
+ pom
+
+
+ plugin
+ project
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0096/project/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0096/project/pom.xml
new file mode 100644
index 0000000000..bc13feb68f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0096/project/pom.xml
@@ -0,0 +1,32 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0096
+ maven-it-it0096
+ 1
+
+ project
+ pom
+
+ project-level2
+
+
+
+
+ org.apache.maven.its.it0096
+ maven-it0096-plugin
+ 1
+
+
+ it0096
+ initialize
+
+ it0096
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0096/project/project-level2/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0096/project/project-level2/pom.xml
new file mode 100644
index 0000000000..5e8d773458
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0096/project/project-level2/pom.xml
@@ -0,0 +1,14 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0096
+ project
+ 1
+
+ project-level2
+ pom
+
+ project-level3
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0096/project/project-level2/project-level3/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0096/project/project-level2/project-level3/pom.xml
new file mode 100644
index 0000000000..035bd5723e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0096/project/project-level2/project-level3/pom.xml
@@ -0,0 +1,14 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0096
+ project-level2
+ 1
+
+ project-level3
+ pom
+
+ project-jar
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0096/project/project-level2/project-level3/project-jar/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0096/project/project-level2/project-level3/project-jar/pom.xml
new file mode 100644
index 0000000000..6eff7bcdd3
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0096/project/project-level2/project-level3/project-jar/pom.xml
@@ -0,0 +1,33 @@
+
+
+ org.apache.maven.its.it0096
+ project-level3
+ 1
+
+ 4.0.0
+ project-jar
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ test-jar
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0096/project/project-level2/project-level3/project-jar/src/main/java/com/stchome/mavenTest/App.java b/its/maven-core-integration-tests/src/test/resources/it0096/project/project-level2/project-level3/project-jar/src/main/java/com/stchome/mavenTest/App.java
new file mode 100644
index 0000000000..0e6d8e31a4
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0096/project/project-level2/project-level3/project-jar/src/main/java/com/stchome/mavenTest/App.java
@@ -0,0 +1,13 @@
+package com.stchome.mavenTest;
+
+/**
+ * Hello world!
+ *
+ */
+public class App
+{
+ public static void main( String[] args )
+ {
+ System.out.println( "Hello World!" );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0096/project/project-level2/project-level3/project-jar/src/test/java/com/stchome/mavenTest/AppTest.java b/its/maven-core-integration-tests/src/test/resources/it0096/project/project-level2/project-level3/project-jar/src/test/java/com/stchome/mavenTest/AppTest.java
new file mode 100644
index 0000000000..efb5aaa5b5
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0096/project/project-level2/project-level3/project-jar/src/test/java/com/stchome/mavenTest/AppTest.java
@@ -0,0 +1,38 @@
+package com.stchome.mavenTest;
+
+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 );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0097/plugin/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0097/plugin/pom.xml
new file mode 100644
index 0000000000..be9d38e47a
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0097/plugin/pom.xml
@@ -0,0 +1,14 @@
+
+ 4.0.0
+ org.apache.maven.its.it0097
+ 1
+ maven-it0097-plugin
+ maven-plugin
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0097/plugin/src/main/java/org/apache/maven/it0096/It0096Mojo.java b/its/maven-core-integration-tests/src/test/resources/it0097/plugin/src/main/java/org/apache/maven/it0096/It0096Mojo.java
new file mode 100644
index 0000000000..b3b879edcc
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0097/plugin/src/main/java/org/apache/maven/it0096/It0096Mojo.java
@@ -0,0 +1,56 @@
+package org.apache.maven.it0096;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+
+/**
+ * @goal it0097
+ */
+public class It0096Mojo extends AbstractMojo
+{
+
+ /**
+ * @parameter default-value="${project.build.directory}"
+ * @required
+ * @readonly
+ */
+ private File targetDirectory;
+
+ public void execute() throws MojoExecutionException
+ {
+ targetDirectory.mkdirs();
+
+ File myFile = new File( targetDirectory, "it0097.txt" );
+
+ if ( myFile.exists() )
+ {
+ throw new MojoExecutionException( "This mojo has already been run, or the project wasn't cleaned." );
+ }
+ else
+ {
+ FileWriter writer = null;
+ try
+ {
+ writer = new FileWriter( myFile );
+ writer.write( "test" );
+ writer.close();
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Failed to write test file: " + myFile );
+ }
+ finally
+ {
+ if ( writer != null )
+ {
+ try{ writer.close(); }
+ catch( IOException e ) {}
+ }
+ }
+ }
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0097/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0097/pom.xml
new file mode 100644
index 0000000000..389afe1845
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0097/pom.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+ Maven Integration Test :: it0097
+ org.apache.maven.its.it0097
+ maven-it-it0097
+ Test that the implied relative path for the parent POM works, even two
+ levels deep.
+ 1
+ pom
+
+
+ plugin
+ project/project-level2/project-level3
+ project/relative-project-level2/relative-project-level3/
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0097/project/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0097/project/pom.xml
new file mode 100644
index 0000000000..d436ee0cf8
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0097/project/pom.xml
@@ -0,0 +1,29 @@
+
+ 4.0.0
+ org.apache.maven.its.it0097
+ 1
+ project
+ pom
+
+ project-level2
+
+
+
+
+ org.apache.maven.its.it0097
+ maven-it0097-plugin
+ 1
+
+
+ it0097
+ initialize
+
+ it0097
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0097/project/project-level2/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0097/project/project-level2/pom.xml
new file mode 100644
index 0000000000..136ba6b155
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0097/project/project-level2/pom.xml
@@ -0,0 +1,15 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0097
+ project
+ 1
+
+ project-level2
+ pom
+
+ project-level3
+ ../project-sibling-level2
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0097/project/project-level2/project-level3/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0097/project/project-level2/project-level3/pom.xml
new file mode 100644
index 0000000000..0e5ce3a704
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0097/project/project-level2/project-level3/pom.xml
@@ -0,0 +1,33 @@
+
+
+ org.apache.maven.its.it0097
+ project-level2
+ 1
+
+ 4.0.0
+ project-level3
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ test-jar
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0097/project/project-level2/project-level3/src/main/java/com/stchome/mavenTest/App.java b/its/maven-core-integration-tests/src/test/resources/it0097/project/project-level2/project-level3/src/main/java/com/stchome/mavenTest/App.java
new file mode 100644
index 0000000000..0e6d8e31a4
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0097/project/project-level2/project-level3/src/main/java/com/stchome/mavenTest/App.java
@@ -0,0 +1,13 @@
+package com.stchome.mavenTest;
+
+/**
+ * Hello world!
+ *
+ */
+public class App
+{
+ public static void main( String[] args )
+ {
+ System.out.println( "Hello World!" );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0097/project/project-level2/project-level3/src/test/java/com/stchome/mavenTest/AppTest.java b/its/maven-core-integration-tests/src/test/resources/it0097/project/project-level2/project-level3/src/test/java/com/stchome/mavenTest/AppTest.java
new file mode 100644
index 0000000000..efb5aaa5b5
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0097/project/project-level2/project-level3/src/test/java/com/stchome/mavenTest/AppTest.java
@@ -0,0 +1,38 @@
+package com.stchome.mavenTest;
+
+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 );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0097/project/project-sibling-level2/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0097/project/project-sibling-level2/pom.xml
new file mode 100644
index 0000000000..9263eb50f6
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0097/project/project-sibling-level2/pom.xml
@@ -0,0 +1,34 @@
+
+
+ org.apache.maven.its.it0097
+ project-level2
+ 1
+ ../project-level2
+
+ 4.0.0
+ project-sibling-level2
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ test-jar
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0097/project/project-sibling-level2/src/main/java/com/stchome/mavenTest/App.java b/its/maven-core-integration-tests/src/test/resources/it0097/project/project-sibling-level2/src/main/java/com/stchome/mavenTest/App.java
new file mode 100644
index 0000000000..0e6d8e31a4
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0097/project/project-sibling-level2/src/main/java/com/stchome/mavenTest/App.java
@@ -0,0 +1,13 @@
+package com.stchome.mavenTest;
+
+/**
+ * Hello world!
+ *
+ */
+public class App
+{
+ public static void main( String[] args )
+ {
+ System.out.println( "Hello World!" );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0097/project/project-sibling-level2/src/test/java/com/stchome/mavenTest/AppTest.java b/its/maven-core-integration-tests/src/test/resources/it0097/project/project-sibling-level2/src/test/java/com/stchome/mavenTest/AppTest.java
new file mode 100644
index 0000000000..efb5aaa5b5
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0097/project/project-sibling-level2/src/test/java/com/stchome/mavenTest/AppTest.java
@@ -0,0 +1,38 @@
+package com.stchome.mavenTest;
+
+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 );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0097/project/relative-project-level2/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0097/project/relative-project-level2/pom.xml
new file mode 100644
index 0000000000..706048eb18
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0097/project/relative-project-level2/pom.xml
@@ -0,0 +1,14 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0097
+ project
+ 1
+
+ relative-project-level2
+ pom
+
+ relative-project-level3
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0097/project/relative-project-level2/relative-project-level3/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0097/project/relative-project-level2/relative-project-level3/pom.xml
new file mode 100644
index 0000000000..da6e2b76b4
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0097/project/relative-project-level2/relative-project-level3/pom.xml
@@ -0,0 +1,14 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0097
+ relative-project-level2
+ 1
+
+ relative-project-level3
+ pom
+
+ ../../project-sibling-level2
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0098/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0098/pom.xml
new file mode 100644
index 0000000000..1ca8683cdd
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0098/pom.xml
@@ -0,0 +1,15 @@
+
+ 4.0.0
+ Maven Integration Test :: it0098
+ org.apache.maven.its.it0098
+ maven-it-it0098
+ Test that quoted system properties are processed correctly. [MNG-1415]
+ 1
+
+
+ junit
+ junit
+ 3.8.1
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0098/src/test/java/org/apache/maven/it/it0098/QuotedCLIPropertyTest.java b/its/maven-core-integration-tests/src/test/resources/it0098/src/test/java/org/apache/maven/it/it0098/QuotedCLIPropertyTest.java
new file mode 100644
index 0000000000..60ad8899ed
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0098/src/test/java/org/apache/maven/it/it0098/QuotedCLIPropertyTest.java
@@ -0,0 +1,14 @@
+package org.apache.maven.it.it0098;
+
+import junit.framework.TestCase;
+
+public class QuotedCLIPropertyTest
+ extends TestCase
+{
+
+ public void testPropertyValue()
+ {
+ assertEquals( "Test Property", System.getProperty( "test.property" ) );
+ }
+
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0099/child/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0099/child/pom.xml
new file mode 100644
index 0000000000..9b40f6c862
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0099/child/pom.xml
@@ -0,0 +1,9 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0099
+ maven-it-it0099
+ 1
+
+ child
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0099/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0099/pom.xml
new file mode 100644
index 0000000000..9d1cbb0bad
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0099/pom.xml
@@ -0,0 +1,15 @@
+
+ 4.0.0
+ Maven Integration Test :: it0099
+ org.apache.maven.its.it0099
+ maven-it-it0099
+ Test that parent-POMs cached during a build are available as parents
+ to other POMs in the multimodule build. [MNG-2130]
+ 1
+
+ pom
+
+
+ child
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0100/parent/child/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0100/parent/child/pom.xml
new file mode 100644
index 0000000000..3328b47797
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0100/parent/child/pom.xml
@@ -0,0 +1,46 @@
+
+
+
+ parent
+ org.apache.maven.its.it0100
+ 1.0
+
+
+ 4.0.0
+ child
+ child
+
+ pom
+
+
+
+
+ maven-help-plugin
+
+
+
+
+
+ initialize
+
+ effective-pom
+
+
+
+
+
+ maven-verifier-plugin
+
+
+ verify
+
+ verify
+
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0100/parent/child/src/test/verifier/verifications.xml b/its/maven-core-integration-tests/src/test/resources/it0100/parent/child/src/test/verifier/verifications.xml
new file mode 100644
index 0000000000..43cb3f4e53
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0100/parent/child/src/test/verifier/verifications.xml
@@ -0,0 +1,8 @@
+
+
+
+ target/effective-pom.txt
+ Parent: parent, project: child
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0100/parent/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0100/parent/pom.xml
new file mode 100644
index 0000000000..c06f293a24
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0100/parent/pom.xml
@@ -0,0 +1,32 @@
+
+ 4.0.0
+ org.apache.maven.its.it0100
+ parent
+ pom
+ 1.0
+ parent
+
+
+
+
+ maven-antrun-plugin
+
+
+ validate
+
+
+ Parent: ${pom.parent.artifactId}, project: ${pom.artifactId}
+ Parent: ${parent.artifactId}, project: ${pom.artifactId}
+
+
+
+ run
+
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0100/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0100/pom.xml
new file mode 100644
index 0000000000..c55ca22b8f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0100/pom.xml
@@ -0,0 +1,13 @@
+
+ 4.0.0
+ Maven Integration Test :: it0100
+ org.apache.maven.its.it0100
+ maven-it-it0100
+ Test that ${parent.artifactId} resolves correctly. [MNG-2124]
+ pom
+ 1.0
+
+ parent/child
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0101/lib/test-dep.txt b/its/maven-core-integration-tests/src/test/resources/it0101/lib/test-dep.txt
new file mode 100644
index 0000000000..b6745b109f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0101/lib/test-dep.txt
@@ -0,0 +1 @@
+test dependency
diff --git a/its/maven-core-integration-tests/src/test/resources/it0101/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0101/pom.xml
new file mode 100644
index 0000000000..09a512ab2d
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0101/pom.xml
@@ -0,0 +1,21 @@
+
+ 4.0.0
+ Maven Integration Test :: it0101
+ org.apache.maven.its.it0101
+ maven-it-it0101
+ Test that properties defined in an active profile in the user's
+ settings are available for interpolation of systemPath in a dependency.
+ [MNG-2052]
+ 1.0
+
+
+
+ org.apache.maven.its.it0101
+ test-dependency
+ 1
+ system
+ ${basedir}/${libdir}/test-dep.txt
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0101/settings.xml b/its/maven-core-integration-tests/src/test/resources/it0101/settings.xml
new file mode 100644
index 0000000000..28c348a54d
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0101/settings.xml
@@ -0,0 +1,13 @@
+
+
+
+ test
+
+ lib
+
+
+
+
+ test
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0102/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0102/pom.xml
new file mode 100644
index 0000000000..e77fe42f60
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0102/pom.xml
@@ -0,0 +1,68 @@
+
+ 4.0.0
+ Maven Integration Test :: it0102
+ org.apache.maven.its.it0102
+ maven-it-it0102
+ Test that <activeByDefault/> calculations for profile activation only
+ use profiles defined in the POM. [MNG-2136]
+ pom
+ 1.0
+
+
+
+ maven-help-plugin
+
+
+ output-pom
+ generate-resources
+
+
+
+
+ effective-pom
+
+
+
+
+
+ maven-antrun-plugin
+
+
+ validate
+
+
+ value from external profile: ${profilesXmlValue}
+ test output: ${testOutput}
+
+
+
+ run
+
+
+
+
+
+
+
+
+
+ testInternal
+
+ true
+
+
+ Failure
+
+
+
+ testInternal2
+
+ user.name
+
+
+ Success
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0102/profiles.xml b/its/maven-core-integration-tests/src/test/resources/it0102/profiles.xml
new file mode 100644
index 0000000000..090ea76e99
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0102/profiles.xml
@@ -0,0 +1,14 @@
+
+
+
+ test
+
+ Present
+
+
+
+
+ test
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0102/src/test/verifier/verifications.xml b/its/maven-core-integration-tests/src/test/resources/it0102/src/test/verifier/verifications.xml
new file mode 100644
index 0000000000..af46897f46
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0102/src/test/verifier/verifications.xml
@@ -0,0 +1,12 @@
+
+
+
+ target/effective-pom.txt
+ value from external profile: Present
+
+
+ target/effective-pom.txt
+ test output: Success
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0103/level1/level2/level3/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0103/level1/level2/level3/pom.xml
new file mode 100644
index 0000000000..06277a11a9
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0103/level1/level2/level3/pom.xml
@@ -0,0 +1,10 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0103
+ level1
+ 1
+
+ level3
+ 1
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0103/level1/level2/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0103/level1/level2/pom.xml
new file mode 100644
index 0000000000..71cc52d25a
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0103/level1/level2/pom.xml
@@ -0,0 +1,14 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0103
+ level1
+ 1
+
+ level2
+ pom
+
+
+ level3
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0103/level1/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0103/level1/pom.xml
new file mode 100644
index 0000000000..0850a80cac
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0103/level1/pom.xml
@@ -0,0 +1,13 @@
+
+ 4.0.0
+
+ org.apache.maven.its.it0103
+ maven-it-it0103
+ 1
+
+ level1
+ pom
+
+ level2
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0103/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0103/pom.xml
new file mode 100644
index 0000000000..6e8666259e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0103/pom.xml
@@ -0,0 +1,14 @@
+
+ 4.0.0
+ Maven Integration Test :: it0103
+ org.apache.maven.its.it0103
+ maven-it-it0103
+ Verify that multimodule builds where one project references another as
+ a parent can build, even if that parent is not correctly referenced by
+ <relativePath/> and is not in the local repository. [MNG-2196]
+ 1
+ pom
+
+ level1
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0104/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0104/pom.xml
new file mode 100644
index 0000000000..1160c9e21b
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0104/pom.xml
@@ -0,0 +1,40 @@
+
+ 4.0.0
+ Maven Integration Test :: it0104
+ org.apache.maven.its.it0104
+ maven-it-it0104
+ Verify that plugin configurations are resolved correctly, particularly
+ when they contain ${project.build.directory} in the string value of a
+ Map.Entry.
+ jar
+ 1.0-SNAPSHOT
+ Maven Quick Start Archetype
+ http://maven.apache.org
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+
+
+
+
+
+ maven-surefire-plugin
+
+
+
+ target.dir
+ ${project.build.directory}
+
+
+
+
+
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0104/src/main/java/org/apache/maven/it/App.java b/its/maven-core-integration-tests/src/test/resources/it0104/src/main/java/org/apache/maven/it/App.java
new file mode 100644
index 0000000000..2659fcfc52
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0104/src/main/java/org/apache/maven/it/App.java
@@ -0,0 +1,13 @@
+package org.apache.maven.it;
+
+/**
+ * Hello world!
+ *
+ */
+public class App
+{
+ public static void main( String[] args )
+ {
+ System.out.println( "Hello World!" );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0104/src/test/java/org/apache/maven/it/AppTest.java b/its/maven-core-integration-tests/src/test/resources/it0104/src/test/java/org/apache/maven/it/AppTest.java
new file mode 100644
index 0000000000..572ec8e470
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0104/src/test/java/org/apache/maven/it/AppTest.java
@@ -0,0 +1,29 @@
+package org.apache.maven.it;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import java.io.File;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+ extends TestCase
+{
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testApp()
+ {
+
+ String targetDir = System.getProperty( "target.dir" );
+
+ System.out.println( "Got 'target.dir' of: '" + targetDir + "'" );
+
+ assertNotNull( "System property 'target.dir' is not present.", targetDir );
+ assertTrue( "System property 'target.dir' was not resolved correctly.", targetDir.indexOf( "${" ) < 0 );
+ }
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0105/filter.properties b/its/maven-core-integration-tests/src/test/resources/it0105/filter.properties
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/its/maven-core-integration-tests/src/test/resources/it0105/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0105/pom.xml
new file mode 100644
index 0000000000..61985dbb0a
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0105/pom.xml
@@ -0,0 +1,36 @@
+
+ 4.0.0
+ Maven Integration Test :: it0105
+ org.apache.maven.its.it0105
+ maven-it-it0105
+ MRESOURCES-18
+ 1.0
+
+
+ junit
+ junit
+ 3.8.1
+ jar
+ test
+
+
+
+
+
+
+
+ src/main/resources
+ true
+
+
+
+
+
+ foo
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0105/src/main/resources/test.properties b/its/maven-core-integration-tests/src/test/resources/it0105/src/main/resources/test.properties
new file mode 100644
index 0000000000..79c6bf306e
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0105/src/main/resources/test.properties
@@ -0,0 +1,3 @@
+systemProperty=${java.version}
+param=${param}
+pom.property=${my.property}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0105/src/test/java/org/apache/maven/it0105/FilterTest.java b/its/maven-core-integration-tests/src/test/resources/it0105/src/test/java/org/apache/maven/it0105/FilterTest.java
new file mode 100644
index 0000000000..398fb8dd1f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0105/src/test/java/org/apache/maven/it0105/FilterTest.java
@@ -0,0 +1,49 @@
+package org.apache.maven.it0105;
+
+import junit.framework.TestCase;
+
+import java.util.Properties;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+
+public class FilterTest
+ extends TestCase
+{
+ private String basedir;
+
+ private Properties properties;
+
+ protected void setUp()
+ throws Exception
+ {
+ basedir = System.getProperty( "basedir" );
+
+ properties = new Properties();
+
+ File testPropertiesFile = new File( basedir, "target/classes/test.properties" );
+
+ assertTrue( testPropertiesFile.exists() );
+
+ properties.load( new FileInputStream( testPropertiesFile ) );
+ }
+
+ public void testSystemPropertyInterpolation()
+ throws IOException
+ {
+ assertEquals( "System property", System.getProperty( "java.version" ), properties.getProperty( "systemProperty" ) );
+ }
+
+ public void testParameterInterpolation()
+ throws IOException
+ {
+ assertEquals( "Parameter", System.getProperty( "parameter" ), properties.getProperty( "parameter" ) );
+ }
+
+ public void testPomPropertyInterpolation()
+ throws IOException
+ {
+ assertEquals( "Pom Property", "foo", properties.getProperty( "pom.property" ) );
+ }
+
+}
diff --git a/its/maven-core-integration-tests/src/test/resources/it0106/A/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0106/A/pom.xml
new file mode 100644
index 0000000000..5e7288852f
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0106/A/pom.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+ 4.0.0
+ org.apache.maven.its.it0106
+ A
+ 1
+ pom
+ A
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0106/C/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0106/C/pom.xml
new file mode 100644
index 0000000000..65a6cc8bba
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0106/C/pom.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+ 4.0.0
+
+
+ org.apache.maven.its.it0106
+ B
+ 1
+
+ C
+ pom
+ C
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0106/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0106/pom.xml
new file mode 100644
index 0000000000..f9c4a16395
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0106/pom.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+ 4.0.0
+
+
+ org.apache.maven.test.it0106
+ A
+ 1
+ A/pom.xml
+
+
+ maven-it-it0106
+ When a project has modules and its parent is not preinstalled [MNG-2318]
+ pom
+ B
+
+
+ C
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/it0107/pom.xml b/its/maven-core-integration-tests/src/test/resources/it0107/pom.xml
new file mode 100644
index 0000000000..a16134d6bd
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/it0107/pom.xml
@@ -0,0 +1,32 @@
+
+ 4.0.0
+ Maven Integration Test :: it0107
+ org.apache.maven.its.it0107
+ maven-it-it0107
+ Verify that default implementation of an implementation for a complex object works as
+ expected [MNG-2293]
+ pom
+ 3.8.1
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-parameter-implementation
+ 1.0-SNAPSHOT
+
+ param-implementation
+
+
+ foobar
+ class org.apache.maven.plugin.coreit.sub.MyBla-foobar
+
+
+
+
+
+
+ apache.snapshots
+ http://people.apache.org/maven-snapshot-repository
+
+
+
diff --git a/its/maven-core-integration-tests/src/test/resources/pom.xml b/its/maven-core-integration-tests/src/test/resources/pom.xml
new file mode 100644
index 0000000000..f24db45d14
--- /dev/null
+++ b/its/maven-core-integration-tests/src/test/resources/pom.xml
@@ -0,0 +1,123 @@
+
+ 4.0.0
+ org.apache.maven.its
+ maven-its
+ pom
+ 1.0-SNAPSHOT
+
+ it0000
+ it0001
+ it0002
+ it0003
+ it0004
+ it0005
+ it0006
+ it0007
+ it0008
+ it0009
+ it0010
+ it0011
+ it0012
+ it0013
+ it0014
+ it0016
+ it0017
+ it0018
+ it0019
+ it0020
+ it0021
+ it0022
+ it0023
+ it0024
+ it0025
+ it0026
+ it0027
+ it0028
+ it0029
+ it0030
+ it0031
+ it0032
+ it0033
+ it0034
+ it0035
+ it0036
+ it0037
+ it0038
+
+ it0040
+ it0041
+ it0042
+
+ it0044
+ it0045
+ it0046
+ it0047
+ it0048
+ it0049
+ it0050
+ it0051
+ it0052
+ it0053
+ it0054
+ it0055
+ it0056
+ it0057
+ it0058
+ it0059
+ it0060
+ it0061
+ it0062
+ it0063
+ it0064
+ it0065
+
+ it0067
+ it0068
+ it0069
+ it0070
+ it0071
+ it0072
+ it0073
+ it0074
+ it0075
+ it0076
+ it0077
+ it0078
+ it0079
+ it0080
+ it0081
+ it0082
+ it0083
+ it0084
+ it0085
+ it0086
+ it0087
+ it0088
+ it0089
+
+
+ it0092
+ it0094
+ it0095
+
+
+
+ it0099
+ it0100
+ it0101
+ it0102
+ it0103
+
+
+
+
+
+
diff --git a/its/maven-core-it-support/1.0/pom.xml b/its/maven-core-it-support/1.0/pom.xml
new file mode 100644
index 0000000000..c2906cb933
--- /dev/null
+++ b/its/maven-core-it-support/1.0/pom.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+ 4.0.0
+ org.apache.maven
+ maven-core-it-support
+ jar
+ 1.0
+
+
+ repo1
+ Maven Central Repository
+ scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2
+
+
+
diff --git a/its/maven-core-it-support/1.0/src/main/java/org/apache/maven/it/Support.java b/its/maven-core-it-support/1.0/src/main/java/org/apache/maven/it/Support.java
new file mode 100644
index 0000000000..84b1906c73
--- /dev/null
+++ b/its/maven-core-it-support/1.0/src/main/java/org/apache/maven/it/Support.java
@@ -0,0 +1,5 @@
+package org.apache.maven.it;
+
+public class Support
+{
+}
diff --git a/its/maven-core-it-support/1.1-old-location/pom.xml b/its/maven-core-it-support/1.1-old-location/pom.xml
new file mode 100644
index 0000000000..84f182a078
--- /dev/null
+++ b/its/maven-core-it-support/1.1-old-location/pom.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+ 4.0.0
+ org.apache.maven
+ maven-core-it-support-old-location
+ jar
+ 1.1
+
+
+ repo1
+ Maven Central Repository
+ scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2
+
+
+ maven-core-it-support
+ Testing
+
+
+
diff --git a/its/maven-core-it-support/1.1/pom.xml b/its/maven-core-it-support/1.1/pom.xml
new file mode 100644
index 0000000000..a711c8dd28
--- /dev/null
+++ b/its/maven-core-it-support/1.1/pom.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+ 4.0.0
+ org.apache.maven
+ maven-core-it-support
+ jar
+ 1.1
+
+
+ repo1
+ Maven Central Repository
+ scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2
+
+
+
diff --git a/its/maven-core-it-support/1.1/src/main/java/org/apache/maven/it/Support.java b/its/maven-core-it-support/1.1/src/main/java/org/apache/maven/it/Support.java
new file mode 100644
index 0000000000..84b1906c73
--- /dev/null
+++ b/its/maven-core-it-support/1.1/src/main/java/org/apache/maven/it/Support.java
@@ -0,0 +1,5 @@
+package org.apache.maven.it;
+
+public class Support
+{
+}
diff --git a/its/maven-core-it-support/1.2/pom.xml b/its/maven-core-it-support/1.2/pom.xml
new file mode 100644
index 0000000000..bdf750ce95
--- /dev/null
+++ b/its/maven-core-it-support/1.2/pom.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+ 4.0.0
+ org.apache.maven
+ maven-core-it-support
+ coreit-packaging
+ 1.2
+
+
+ repo1
+ Maven Central Repository
+ scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-core-it-plugin
+ 1.0
+ true
+
+
+
+
diff --git a/its/maven-core-it-support/1.2/src/main/java/org/apache/maven/it/Support.java b/its/maven-core-it-support/1.2/src/main/java/org/apache/maven/it/Support.java
new file mode 100644
index 0000000000..84b1906c73
--- /dev/null
+++ b/its/maven-core-it-support/1.2/src/main/java/org/apache/maven/it/Support.java
@@ -0,0 +1,5 @@
+package org.apache.maven.it;
+
+public class Support
+{
+}
diff --git a/its/maven-core-it-support/1.3/pom.xml b/its/maven-core-it-support/1.3/pom.xml
new file mode 100644
index 0000000000..ec123a5556
--- /dev/null
+++ b/its/maven-core-it-support/1.3/pom.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+ 4.0.0
+ org.apache.maven
+ maven-core-it-support
+ jar
+ 1.3
+
+
+ repo1
+ Maven Central Repository
+ scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-core-it-plugin
+ 1.0
+ true
+
+
+
+
+
+ commons-lang
+ commons-lang
+ 1.0
+
+
+ junit
+ junit
+
+
+
+
+
diff --git a/its/maven-core-it-support/1.3/src/main/java/org/apache/maven/it/Support.java b/its/maven-core-it-support/1.3/src/main/java/org/apache/maven/it/Support.java
new file mode 100644
index 0000000000..84b1906c73
--- /dev/null
+++ b/its/maven-core-it-support/1.3/src/main/java/org/apache/maven/it/Support.java
@@ -0,0 +1,5 @@
+package org.apache.maven.it;
+
+public class Support
+{
+}
diff --git a/its/maven-core-it-support/1.4/pom.xml b/its/maven-core-it-support/1.4/pom.xml
new file mode 100644
index 0000000000..090e6e3a12
--- /dev/null
+++ b/its/maven-core-it-support/1.4/pom.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+ 4.0.0
+ org.apache.maven
+ maven-core-it-support
+ jar
+ 1.4
+
+
+ repo1
+ Maven Central Repository
+ scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-core-it-plugin
+ 1.0
+ true
+
+
+
+
+
+ commons-io
+ commons-io
+ 1.0
+
+
+
diff --git a/its/maven-core-it-support/1.4/src/main/java/org/apache/maven/it/Support.java b/its/maven-core-it-support/1.4/src/main/java/org/apache/maven/it/Support.java
new file mode 100644
index 0000000000..84b1906c73
--- /dev/null
+++ b/its/maven-core-it-support/1.4/src/main/java/org/apache/maven/it/Support.java
@@ -0,0 +1,5 @@
+package org.apache.maven.it;
+
+public class Support
+{
+}
diff --git a/its/maven-it-plugins/maven-it-plugin-context-passing/pom.xml b/its/maven-it-plugins/maven-it-plugin-context-passing/pom.xml
new file mode 100644
index 0000000000..7ff9e74347
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-context-passing/pom.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+ maven-it-plugins
+ org.apache.maven.its.plugins
+ 1-SNAPSHOT
+
+ 4.0.0
+ maven-it-plugin-context-passing
+ maven-plugin
+ Maven Integration Test Plugin :: Context Passing
+ 1.0-SNAPSHOT
+ 2006
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0
+
+
+
diff --git a/its/maven-it-plugins/maven-it-plugin-context-passing/src/main/java/org/apache/maven/plugin/coreit/CatchMojo.java b/its/maven-it-plugins/maven-it-plugin-context-passing/src/main/java/org/apache/maven/plugin/coreit/CatchMojo.java
new file mode 100644
index 0000000000..01b437f575
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-context-passing/src/main/java/org/apache/maven/plugin/coreit/CatchMojo.java
@@ -0,0 +1,78 @@
+package org.apache.maven.plugin.coreit;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.Writer;
+
+/**
+ * "Catch" a parameter "thrown" by the ThrowMojo through the plugin context, and
+ * write a file based on it's value to the build output directory.
+ *
+ * @goal catch
+ */
+public class CatchMojo
+ extends AbstractMojo
+{
+
+ /**
+ * @parameter expression="${project.build.directory}"
+ * @required
+ * @readonly
+ */
+ private File outDir;
+
+ public File getOutDir()
+ {
+ return outDir;
+ }
+
+ public void setOutDir( File outDir )
+ {
+ this.outDir = outDir;
+ }
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ String value = (String) getPluginContext().get( ThrowMojo.THROWN_PARAMETER );
+
+ if ( !outDir.exists() )
+ {
+ outDir.mkdirs();
+ }
+
+ File outfile = new File( outDir, value );
+
+ Writer writer = null;
+ try
+ {
+ writer = new FileWriter( outfile );
+
+ writer.write( value );
+
+ writer.flush();
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Cannot write output file: " + outfile, e );
+ }
+ finally
+ {
+ if ( writer != null )
+ {
+ try
+ {
+ writer.close();
+ }
+ catch ( IOException e )
+ {
+ }
+ }
+ }
+ }
+
+}
diff --git a/its/maven-it-plugins/maven-it-plugin-context-passing/src/main/java/org/apache/maven/plugin/coreit/ThrowMojo.java b/its/maven-it-plugins/maven-it-plugin-context-passing/src/main/java/org/apache/maven/plugin/coreit/ThrowMojo.java
new file mode 100644
index 0000000000..d002a9565d
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-context-passing/src/main/java/org/apache/maven/plugin/coreit/ThrowMojo.java
@@ -0,0 +1,39 @@
+package org.apache.maven.plugin.coreit;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+
+/**
+ * "Throw" a parameter into the plugin context, for the "catch" mojo to
+ * pickup and process.
+ *
+ * @goal throw
+ */
+public class ThrowMojo
+ extends AbstractMojo
+{
+
+ public static final String THROWN_PARAMETER = "throw-parameter";
+
+ /**
+ * @parameter expression="${value}" default-value="thrown"
+ */
+ private String value;
+
+ public void setValue( String value )
+ {
+ this.value = value;
+ }
+
+ public String getValue()
+ {
+ return value;
+ }
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ getPluginContext().put( THROWN_PARAMETER, value );
+ }
+
+}
diff --git a/its/maven-it-plugins/maven-it-plugin-fork/pom.xml b/its/maven-it-plugins/maven-it-plugin-fork/pom.xml
new file mode 100644
index 0000000000..70d7ce83af
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-fork/pom.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+ maven-it-plugins
+ org.apache.maven.its.plugins
+ 1-SNAPSHOT
+
+ 4.0.0
+ maven-it-plugin-fork
+ maven-plugin
+ Maven Integration Test Plugin :: Fork
+ 1.0-SNAPSHOT
+ 2006
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0
+
+
+ org.apache.maven
+ maven-project
+ 2.0
+
+
+
diff --git a/its/maven-it-plugins/maven-it-plugin-fork/src/main/java/org/apache/maven/plugin/coreit/CoreItForkerMojo.java b/its/maven-it-plugins/maven-it-plugin-fork/src/main/java/org/apache/maven/plugin/coreit/CoreItForkerMojo.java
new file mode 100644
index 0000000000..cafffad13a
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-fork/src/main/java/org/apache/maven/plugin/coreit/CoreItForkerMojo.java
@@ -0,0 +1,54 @@
+package org.apache.maven.plugin.coreit;
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.project.MavenProject;
+
+/**
+ * @goal fork
+ *
+ * @execute phase="generate-sources" lifecycle="foo"
+ */
+public class CoreItForkerMojo
+ extends AbstractMojo
+{
+ /**
+ * @parameter expression="${project}"
+ */
+ private MavenProject project;
+
+ /**
+ * @parameter expression="${executedProject}"
+ */
+ private MavenProject executedProject;
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ if ( !executedProject.getBuild().getFinalName().equals( "coreitified" ) )
+ {
+ throw new MojoExecutionException( "Unexpected result, final name of executed project is " + executedProject.getBuild().getFinalName() );
+ }
+
+ if ( project.getBuild().getFinalName().equals( "coreitified" ) )
+ {
+ throw new MojoExecutionException( "forked project was polluted" );
+ }
+ }
+}
diff --git a/its/maven-it-plugins/maven-it-plugin-fork/src/main/java/org/apache/maven/plugin/coreit/CoreItGoalForkerMojo.java b/its/maven-it-plugins/maven-it-plugin-fork/src/main/java/org/apache/maven/plugin/coreit/CoreItGoalForkerMojo.java
new file mode 100644
index 0000000000..1cabc42ec0
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-fork/src/main/java/org/apache/maven/plugin/coreit/CoreItGoalForkerMojo.java
@@ -0,0 +1,54 @@
+package org.apache.maven.plugin.coreit;
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.project.MavenProject;
+
+/**
+ * @goal fork-goal
+ *
+ * @execute goal="touch"
+ */
+public class CoreItGoalForkerMojo
+ extends AbstractMojo
+{
+ /**
+ * @parameter expression="${project}"
+ */
+ private MavenProject project;
+
+ /**
+ * @parameter expression="${executedProject}"
+ */
+ private MavenProject executedProject;
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ if ( !executedProject.getBuild().getFinalName().equals( "coreitified" ) )
+ {
+ throw new MojoExecutionException( "Unexpected result, final name of executed project is " + executedProject.getBuild().getFinalName() );
+ }
+
+ if ( project.getBuild().getFinalName().equals( "coreitified" ) )
+ {
+ throw new MojoExecutionException( "forked project was polluted" );
+ }
+ }
+}
diff --git a/its/maven-it-plugins/maven-it-plugin-fork/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java b/its/maven-it-plugins/maven-it-plugin-fork/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java
new file mode 100644
index 0000000000..504a3b5a8e
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-fork/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java
@@ -0,0 +1,151 @@
+package org.apache.maven.plugin.coreit;
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.project.MavenProject;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * @goal touch
+ *
+ * @phase process-sources
+ *
+ * @description Goal which cleans the build
+ */
+public class CoreItMojo
+ extends AbstractMojo
+{
+ /**
+ * @parameter expression="${project}"
+ */
+ private MavenProject project;
+
+ /**
+ * @parameter expression="${project.build.directory}"
+ * @required
+ */
+ private String outputDirectory;
+
+ /** Test setting of plugin-artifacts on the PluginDescriptor instance.
+ * @parameter expression="${plugin.artifactMap}"
+ * @required
+ */
+ private Map pluginArtifacts;
+
+ /**
+ * @parameter expression="target/test-basedir-alignment"
+ */
+ private File basedirAlignmentDirectory;
+
+ /**
+ * @parameter alias="pluginFile"
+ */
+ private String pluginItem = "foo";
+
+ /**
+ * @parameter
+ */
+ private String goalItem = "bar";
+
+ /**
+ * @parameter expression="${artifactToFile}"
+ */
+ private String artifactToFile;
+
+ /**
+ * @parameter expression="${fail}"
+ */
+ private boolean fail = false;
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ if ( fail )
+ {
+ throw new MojoExecutionException( "Failing per \'fail\' parameter (specified in pom or system properties)" );
+ }
+
+ touch( new File( outputDirectory ), "touch.txt" );
+
+ // This parameter should be aligned to the basedir as the parameter type is specified
+ // as java.io.File
+
+ if ( basedirAlignmentDirectory.getPath().equals( "target/test-basedir-alignment" ) )
+ {
+ throw new MojoExecutionException( "basedirAlignmentDirectory not aligned" );
+ }
+
+ touch( basedirAlignmentDirectory, "touch.txt" );
+
+ File outDir = new File( outputDirectory );
+
+ // Test parameter setting
+ if ( pluginItem != null )
+ {
+ touch( outDir, pluginItem );
+ }
+
+ if ( goalItem != null )
+ {
+ touch( outDir, goalItem );
+ }
+
+ if ( artifactToFile != null )
+ {
+ Artifact artifact = (Artifact) pluginArtifacts.get( artifactToFile );
+
+ File artifactFile = artifact.getFile();
+
+ String filename = artifactFile.getAbsolutePath().replace('/', '_').replace(':', '_') + ".txt";
+
+ touch( outDir, filename );
+ }
+
+ project.getBuild().setFinalName( "coreitified" );
+ }
+
+ private static void touch( File dir, String file )
+ throws MojoExecutionException
+ {
+ try
+ {
+ if ( !dir.exists() )
+ {
+ dir.mkdirs();
+ }
+
+ File touch = new File( dir, file );
+
+ FileWriter w = new FileWriter( touch );
+
+ w.write( file );
+
+ w.close();
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Error touching file", e );
+ }
+ }
+}
diff --git a/its/maven-it-plugins/maven-it-plugin-fork/src/main/resources/META-INF/maven/lifecycle.xml b/its/maven-it-plugins/maven-it-plugin-fork/src/main/resources/META-INF/maven/lifecycle.xml
new file mode 100644
index 0000000000..9504c71e0c
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-fork/src/main/resources/META-INF/maven/lifecycle.xml
@@ -0,0 +1,28 @@
+
+
+ foo
+
+
+ generate-sources
+
+
+
+ ${project.build.directory}/forked
+
+
+ touch
+
+
+
+
+ ${project.build.directory}/forked2
+
+
+ touch
+
+
+
+
+
+
+
diff --git a/its/maven-it-plugins/maven-it-plugin-generate-envar-properties/pom.xml b/its/maven-it-plugins/maven-it-plugin-generate-envar-properties/pom.xml
new file mode 100644
index 0000000000..1e892fbef3
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-generate-envar-properties/pom.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+ maven-it-plugins
+ org.apache.maven.its.plugins
+ 1-SNAPSHOT
+
+ 4.0.0
+ maven-it-plugin-generate-envar-properties
+ maven-plugin
+ Maven Integration Test Plugin :: Envar
+ 1.0-SNAPSHOT
+ 2006
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0
+
+
+
diff --git a/its/maven-it-plugins/maven-it-plugin-generate-envar-properties/src/main/java/org/apache/maven/plugin/coreit/InterpolatedEnvarConfigurationMojo.java b/its/maven-it-plugins/maven-it-plugin-generate-envar-properties/src/main/java/org/apache/maven/plugin/coreit/InterpolatedEnvarConfigurationMojo.java
new file mode 100644
index 0000000000..88b9bb1be2
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-generate-envar-properties/src/main/java/org/apache/maven/plugin/coreit/InterpolatedEnvarConfigurationMojo.java
@@ -0,0 +1,52 @@
+package org.apache.maven.plugin.coreit;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+
+import java.util.Properties;
+import java.io.FileOutputStream;
+import java.io.File;
+
+/**
+ * Interpolate some envars that are embedded in the POM and make sure they pass through
+ * the system.
+ *
+ * @goal generate-envar-properties
+ */
+public class InterpolatedEnvarConfigurationMojo
+ extends AbstractMojo
+{
+ /**
+ * @parameter expression="${basedir}"
+ */
+ private String basedir;
+
+ /**
+ * @parameter expression="${mavenTestEnvar}"
+ */
+ private String mavenTestEnvar;
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ if ( mavenTestEnvar == null )
+ {
+ throw new MojoExecutionException( "The mavenTestEnvar field should not be null! You must run this using the maven-core-it scripts! ");
+ }
+
+ try
+ {
+ Properties mojoGeneratedPropeties = new Properties();
+
+ mojoGeneratedPropeties.put( "maven.test.envar", mavenTestEnvar );
+
+ FileOutputStream fos = new FileOutputStream( new File( basedir, "target/mojo-generated.properties" ) );
+
+ mojoGeneratedPropeties.store( fos, "# Properties generated by the execution of a mojo that uses interpolated envar values." );
+ }
+ catch( Exception e )
+ {
+ getLog().error( "Error creating mojo generated properties.", e );
+ }
+ }
+}
diff --git a/its/maven-it-plugins/maven-it-plugin-generate-properties/pom.xml b/its/maven-it-plugins/maven-it-plugin-generate-properties/pom.xml
new file mode 100644
index 0000000000..6600581c9b
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-generate-properties/pom.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+ maven-it-plugins
+ org.apache.maven.its.plugins
+ 1-SNAPSHOT
+
+ 4.0.0
+ maven-it-plugin-generate-properties
+ maven-plugin
+ Maven Integration Test Plugin :: Interpolated POM Configuration
+ 1.0-SNAPSHOT
+ 2006
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0
+
+
+
diff --git a/its/maven-it-plugins/maven-it-plugin-generate-properties/src/main/java/org/apache/maven/plugin/coreit/InterpolatedPomConfigurationMojo.java b/its/maven-it-plugins/maven-it-plugin-generate-properties/src/main/java/org/apache/maven/plugin/coreit/InterpolatedPomConfigurationMojo.java
new file mode 100644
index 0000000000..04e791edc4
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-generate-properties/src/main/java/org/apache/maven/plugin/coreit/InterpolatedPomConfigurationMojo.java
@@ -0,0 +1,65 @@
+package org.apache.maven.plugin.coreit;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+
+import java.util.Properties;
+import java.io.FileOutputStream;
+import java.io.File;
+
+/**
+ * Take some configuration values that use interpolated POM values and write them to a properties file
+ * to make sure they are passing through the system properly. We have reports (MNG-1927) that we're
+ *
+ * @goal generate-properties
+ */
+public class InterpolatedPomConfigurationMojo
+ extends AbstractMojo
+{
+ /**
+ * @parameter expression="${basedir}"
+ */
+ private String basedir;
+
+ /**
+ * @parameter expression="${projectBuildDirectory}"
+ */
+ private String projectBuildDirectory;
+
+ /**
+ * @parameter expression="${targetDirectoryString}"
+ */
+ private String targetDirectoryString;
+
+ /**
+ * @parameter expression="${targetDirectoryFile}"
+ */
+ private File targetDirectoryFile;
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ try
+ {
+ Properties mojoGeneratedPropeties = new Properties();
+
+ mojoGeneratedPropeties.put( "project.build.directory", projectBuildDirectory );
+ if ( targetDirectoryString != null )
+ {
+ mojoGeneratedPropeties.put( "targetDirectoryString", targetDirectoryString );
+ }
+ if ( targetDirectoryFile != null )
+ {
+ mojoGeneratedPropeties.put( "targetDirectoryFile", targetDirectoryFile.getAbsolutePath() );
+ }
+
+ FileOutputStream fos = new FileOutputStream( new File( basedir, "target/mojo-generated.properties" ) );
+
+ mojoGeneratedPropeties.store( fos, "# Properties generated by the execution of a mojo that uses interpolated POM values for configuration." );
+ }
+ catch( Exception e )
+ {
+ getLog().error( "Error creating mojo generated properties.", e );
+ }
+ }
+}
diff --git a/its/maven-it-plugins/maven-it-plugin-loadable/pom.xml b/its/maven-it-plugins/maven-it-plugin-loadable/pom.xml
new file mode 100644
index 0000000000..2edd0ec5a9
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-loadable/pom.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+ maven-it-plugins
+ org.apache.maven.its.plugins
+ 1-SNAPSHOT
+
+ 4.0.0
+ maven-it-plugin-loadable
+ maven-plugin
+ Maven Integration Test Plugin :: Loadable
+ 1.0-SNAPSHOT
+ 2006
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0
+
+
+ bsh
+ bsh
+ 1.3.0
+
+
+
diff --git a/its/maven-it-plugins/maven-it-plugin-loadable/src/main/java/org/apache/maven/plugin/coreit/LoadableMojo.java b/its/maven-it-plugins/maven-it-plugin-loadable/src/main/java/org/apache/maven/plugin/coreit/LoadableMojo.java
new file mode 100644
index 0000000000..a8752e5635
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-loadable/src/main/java/org/apache/maven/plugin/coreit/LoadableMojo.java
@@ -0,0 +1,59 @@
+package org.apache.maven.plugin.coreit;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoFailureException;
+
+/**
+ * @goal loadable
+ * @requiresDependencyResolution test
+ */
+public class LoadableMojo
+ extends AbstractMojo
+{
+ /**
+ * @parameter
+ * @required
+ */
+ private String className;
+
+ public void execute() throws MojoFailureException
+ {
+ if ( !load( true ) || !load( false ) )
+ {
+ throw new MojoFailureException( this, "Class-loading test failed..", "Failed to load class: " + className + " using one or more methods." );
+ }
+ }
+
+ private boolean load( boolean useContextClassloader ) throws MojoFailureException
+ {
+ getLog().info( "Executing in java version: " + System.getProperty( "java.version" ) );
+
+ ClassLoader cl;
+ if ( useContextClassloader )
+ {
+ cl = Thread.currentThread().getContextClassLoader();
+ }
+ else
+ {
+ cl = this.getClass().getClassLoader();
+ }
+
+ getLog().info( "Attepting to load: " + className + " from: " + cl + (useContextClassloader ? " (context classloader)" : "" ) );
+
+ try
+ {
+ Class result = cl.loadClass( className );
+
+ getLog().info( "Load succeeded." );
+
+ return true;
+ }
+ catch ( ClassNotFoundException e )
+ {
+ getLog().info( "Failed to load class: " + className
+ + (useContextClassloader ? " using context classloader" : "") );
+
+ return false;
+ }
+ }
+}
diff --git a/its/maven-it-plugins/maven-it-plugin-no-project/pom.xml b/its/maven-it-plugins/maven-it-plugin-no-project/pom.xml
new file mode 100644
index 0000000000..881407feca
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-no-project/pom.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+ maven-it-plugins
+ org.apache.maven.its.plugins
+ 1-SNAPSHOT
+
+ 4.0.0
+ maven-it-plugin-no-project
+ maven-plugin
+ Maven Core Integration Test Plugin
+ 1.1-SNAPSHOT
+ 2001
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0
+
+
+
diff --git a/its/maven-it-plugins/maven-it-plugin-no-project/src/main/java/org/apache/maven/plugin/coreit/NoProjectMojo.java b/its/maven-it-plugins/maven-it-plugin-no-project/src/main/java/org/apache/maven/plugin/coreit/NoProjectMojo.java
new file mode 100644
index 0000000000..d36cc6e1c7
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-no-project/src/main/java/org/apache/maven/plugin/coreit/NoProjectMojo.java
@@ -0,0 +1,79 @@
+package org.apache.maven.plugin.coreit;
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * Mojo which touches a file without requiring a project.
+ *
+ * @goal light-touch
+ * @requiresProject false
+ *
+ */
+public class NoProjectMojo
+ extends AbstractMojo
+{
+ /**
+ * @parameter expression="${project.build.directory}"
+ * @required
+ */
+ private String outputDirectory;
+
+ /**
+ * @parameter expression="target/test-basedir-alignment"
+ */
+ private File basedirAlignmentDirectory;
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ touch( new File( outputDirectory ), "touch.txt" );
+ }
+
+ private void touch( File dir, String file )
+ throws MojoExecutionException
+ {
+ try
+ {
+ if ( !dir.exists() )
+ {
+ dir.mkdirs();
+ }
+
+ File touch = new File( dir, file );
+
+ getLog().info( "Touching: " + touch );
+
+ FileWriter w = new FileWriter( touch );
+
+ w.write( file );
+
+ w.close();
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Error touching file", e );
+ }
+ }
+}
diff --git a/its/maven-it-plugins/maven-it-plugin-packaging/pom.xml b/its/maven-it-plugins/maven-it-plugin-packaging/pom.xml
new file mode 100644
index 0000000000..8326e7679e
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-packaging/pom.xml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+ maven-it-plugins
+ org.apache.maven.its.plugins
+ 1-SNAPSHOT
+
+ 4.0.0
+ maven-it-plugin-packaging
+ maven-plugin
+ Maven Integration Test Plugin :: Packaging
+ 1.0-SNAPSHOT
+ 2006
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0
+
+
+ org.apache.maven
+ maven-project
+ 2.0
+
+
+ org.apache.maven
+ maven-artifact
+ 2.0
+
+
+ org.apache.maven
+ maven-archiver
+ 2.0
+
+
+
diff --git a/its/maven-it-plugins/maven-it-plugin-packaging/src/main/java/org/apache/maven/plugin/coreit/PackagingMojo.java b/its/maven-it-plugins/maven-it-plugin-packaging/src/main/java/org/apache/maven/plugin/coreit/PackagingMojo.java
new file mode 100644
index 0000000000..8347fa7324
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-packaging/src/main/java/org/apache/maven/plugin/coreit/PackagingMojo.java
@@ -0,0 +1,81 @@
+package org.apache.maven.plugin.coreit;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import org.apache.maven.archiver.MavenArchiver;
+import org.apache.maven.archiver.MavenArchiveConfiguration;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.archiver.jar.JarArchiver;
+
+import java.io.File;
+
+/**
+ * @author Brett Porter
+ * @version $Id$
+ * @goal package
+ */
+public class PackagingMojo
+ extends AbstractMojo
+{
+
+ /**
+ * @parameter expression="${project}"
+ * @required
+ */
+ private MavenProject project;
+
+ /**
+ * @parameter expression="${project.build.finalName}"
+ * @required
+ */
+ private String finalName;
+
+ /**
+ * @parameter expression="${project.build.directory}"
+ * @required
+ * @readonly
+ */
+ private String outputDirectory;
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ File jarFile = new File( outputDirectory, finalName + "-it.jar" );
+
+ MavenArchiver archiver = new MavenArchiver();
+
+ archiver.setArchiver( new JarArchiver() );
+
+ archiver.setOutputFile( jarFile );
+
+ try
+ {
+ archiver.createArchive( project, new MavenArchiveConfiguration() );
+ }
+ catch ( Exception e )
+ {
+ // TODO: improve error handling
+ throw new MojoExecutionException( "Error assembling JAR", e );
+ }
+
+ project.getArtifact().setFile( jarFile );
+ }
+
+}
+
diff --git a/its/maven-it-plugins/maven-it-plugin-packaging/src/main/resources/META-INF/plexus/components.xml b/its/maven-it-plugins/maven-it-plugin-packaging/src/main/resources/META-INF/plexus/components.xml
new file mode 100644
index 0000000000..a89159d4c5
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-packaging/src/main/resources/META-INF/plexus/components.xml
@@ -0,0 +1,27 @@
+
+
+
+ org.apache.maven.lifecycle.mapping.LifecycleMapping
+ it-packaging
+ org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
+
+
+ org.apache.maven.its.plugins:maven-it-plugin-packaging:package
+ org.apache.maven.plugins:maven-install-plugin:install
+ org.apache.maven.plugins:maven-deploy-plugin:deploy
+
+
+
+
+ org.apache.maven.artifact.handler.ArtifactHandler
+ it-artifact
+ org.apache.maven.artifact.handler.DefaultArtifactHandler
+
+ it-artifact
+ jar
+ it-packaging
+ it
+
+
+
+
diff --git a/its/maven-it-plugins/maven-it-plugin-parameter-implementation/pom.xml b/its/maven-it-plugins/maven-it-plugin-parameter-implementation/pom.xml
new file mode 100644
index 0000000000..bdda15ca46
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-parameter-implementation/pom.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+ maven-it-plugins
+ org.apache.maven.its.plugins
+ 1-SNAPSHOT
+
+ 4.0.0
+ maven-it-plugin-parameter-implementation
+ maven-plugin
+ Maven Integration Test Plugin :: Parameter Implementation
+ 1.0-SNAPSHOT
+ 2006
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0
+
+
+
diff --git a/its/maven-it-plugins/maven-it-plugin-parameter-implementation/src/main/java/org/apache/maven/plugin/coreit/Bla.java b/its/maven-it-plugins/maven-it-plugin-parameter-implementation/src/main/java/org/apache/maven/plugin/coreit/Bla.java
new file mode 100644
index 0000000000..98f472755e
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-parameter-implementation/src/main/java/org/apache/maven/plugin/coreit/Bla.java
@@ -0,0 +1,7 @@
+package org.apache.maven.plugin.coreit;
+
+/**
+ */
+public interface Bla
+{
+}
diff --git a/its/maven-it-plugins/maven-it-plugin-parameter-implementation/src/main/java/org/apache/maven/plugin/coreit/ParameterImplementationMojo.java b/its/maven-it-plugins/maven-it-plugin-parameter-implementation/src/main/java/org/apache/maven/plugin/coreit/ParameterImplementationMojo.java
new file mode 100644
index 0000000000..40cfad5901
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-parameter-implementation/src/main/java/org/apache/maven/plugin/coreit/ParameterImplementationMojo.java
@@ -0,0 +1,42 @@
+package org.apache.maven.plugin.coreit;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+
+/**
+ * Check that we correctly use the implementation parameter. See MNG-2293
+ *
+ * @goal param-implementation
+ * @description Prints out the name of the implementation of the bla field.
+ */
+public class ParameterImplementationMojo
+ extends AbstractMojo
+{
+
+ /**
+ * @parameter implementation="org.apache.maven.plugin.coreit.sub.MyBla"
+ * @required
+ */
+ private Bla bla;
+
+ /**
+ * The expected value of bla.toString().
+ *
+ * @parameter
+ * @required
+ */
+ private String expected;
+
+ public void execute()
+ throws MojoExecutionException
+ {
+
+ getLog().info( "bla: " + bla );
+
+ if ( ! expected.equals( bla.toString() ) )
+ {
+ throw new MojoExecutionException( "Expected '" + expected + "'; found '" + bla + "'" );
+ }
+ }
+
+}
diff --git a/its/maven-it-plugins/maven-it-plugin-parameter-implementation/src/main/java/org/apache/maven/plugin/coreit/sub/MyBla.java b/its/maven-it-plugins/maven-it-plugin-parameter-implementation/src/main/java/org/apache/maven/plugin/coreit/sub/MyBla.java
new file mode 100644
index 0000000000..b4328404df
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-parameter-implementation/src/main/java/org/apache/maven/plugin/coreit/sub/MyBla.java
@@ -0,0 +1,26 @@
+package org.apache.maven.plugin.coreit.sub;
+
+import org.apache.maven.plugin.coreit.Bla;
+
+/**
+ */
+public class MyBla
+ implements Bla
+{
+ private String field;
+
+ public String getField()
+ {
+ return field;
+ }
+
+ public void setField( String field )
+ {
+ this.field = field;
+ }
+
+ public String toString()
+ {
+ return getClass() + "-" + field;
+ }
+}
diff --git a/its/maven-it-plugins/maven-it-plugin-setter/pom.xml b/its/maven-it-plugins/maven-it-plugin-setter/pom.xml
new file mode 100644
index 0000000000..454f384273
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-setter/pom.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+ maven-it-plugins
+ org.apache.maven.its.plugins
+ 1-SNAPSHOT
+
+ 4.0.0
+ maven-it-plugin-setter
+ maven-plugin
+ Maven Integration Test Plugin :: Setter
+ 1.0-SNAPSHOT
+ 2006
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0
+
+
+
diff --git a/its/maven-it-plugins/maven-it-plugin-setter/src/main/java/org/apache/maven/plugin/coreit/CoreItMojoWithSetters.java b/its/maven-it-plugins/maven-it-plugin-setter/src/main/java/org/apache/maven/plugin/coreit/CoreItMojoWithSetters.java
new file mode 100644
index 0000000000..c2c5f3b7d0
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-setter/src/main/java/org/apache/maven/plugin/coreit/CoreItMojoWithSetters.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright (c) 2005 Your Corporation. All Rights Reserved.
+ */
+package org.apache.maven.plugin.coreit;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
+/**
+ * @goal setter-touch
+ *
+ * @description Goal which cleans the build
+ */
+public class CoreItMojoWithSetters
+ extends AbstractMojo
+{
+ /**
+ * @parameter
+ * property="outputDirectory"
+ * expression="${project.build.directory}"
+ * @required
+ */
+ private String outputDirectoryValue;
+
+ /**
+ * @parameter property="foo"
+ */
+ private String fooValue;
+
+ /**
+ * @parameter
+ */
+ private String bar;
+
+ // ----------------------------------------------------------------------
+ // Setters
+ // ----------------------------------------------------------------------
+
+ public void setOutputDirectory( String outputDirectory )
+ {
+ this.outputDirectoryValue = outputDirectory;
+ }
+
+ boolean setFooSetterExecuted;
+
+ public void setFoo( String fooValue )
+ {
+ this.fooValue = fooValue;
+
+ setFooSetterExecuted = true;
+ }
+
+ boolean setBarSetterExecuted;
+
+ public void setBar( String barValue )
+ {
+ this.bar = barValue + ".baz";
+
+ setBarSetterExecuted = true;
+ }
+
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ touch( new File( outputDirectoryValue ), "touch.txt" );
+
+ File outDir = new File( outputDirectoryValue );
+
+ // Test parameter setting
+ if ( fooValue != null && setFooSetterExecuted )
+ {
+ touch( outDir, fooValue );
+ }
+
+ if ( bar != null && setBarSetterExecuted )
+ {
+ touch( outDir, bar );
+ }
+ }
+
+ private static void touch( File dir, String file )
+ throws MojoExecutionException
+ {
+ try
+ {
+ if ( !dir.exists() )
+ {
+ dir.mkdirs();
+ }
+
+ File touch = new File( dir, file );
+
+ FileWriter w = new FileWriter( touch );
+
+ w.write( file );
+
+ w.close();
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Error touching file", e );
+ }
+ }
+}
diff --git a/its/maven-it-plugins/maven-it-plugin-touch/pom.xml b/its/maven-it-plugins/maven-it-plugin-touch/pom.xml
new file mode 100644
index 0000000000..2dcb1e75d8
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-touch/pom.xml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+ maven-it-plugins
+ org.apache.maven.its.plugins
+ 1-SNAPSHOT
+
+ 4.0.0
+ maven-it-plugin-touch
+ maven-plugin
+ Maven Integration Test Plugin :: Touch
+ 1.0-SNAPSHOT
+ 2001
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0
+
+
+ org.apache.maven
+ maven-project
+ 2.0
+
+
+ org.apache.maven
+ maven-artifact
+ 2.0
+
+
+ org.apache.maven
+ maven-archiver
+ 2.0
+
+
+
diff --git a/its/maven-it-plugins/maven-it-plugin-touch/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java b/its/maven-it-plugins/maven-it-plugin-touch/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java
new file mode 100644
index 0000000000..504a3b5a8e
--- /dev/null
+++ b/its/maven-it-plugins/maven-it-plugin-touch/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java
@@ -0,0 +1,151 @@
+package org.apache.maven.plugin.coreit;
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.project.MavenProject;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * @goal touch
+ *
+ * @phase process-sources
+ *
+ * @description Goal which cleans the build
+ */
+public class CoreItMojo
+ extends AbstractMojo
+{
+ /**
+ * @parameter expression="${project}"
+ */
+ private MavenProject project;
+
+ /**
+ * @parameter expression="${project.build.directory}"
+ * @required
+ */
+ private String outputDirectory;
+
+ /** Test setting of plugin-artifacts on the PluginDescriptor instance.
+ * @parameter expression="${plugin.artifactMap}"
+ * @required
+ */
+ private Map pluginArtifacts;
+
+ /**
+ * @parameter expression="target/test-basedir-alignment"
+ */
+ private File basedirAlignmentDirectory;
+
+ /**
+ * @parameter alias="pluginFile"
+ */
+ private String pluginItem = "foo";
+
+ /**
+ * @parameter
+ */
+ private String goalItem = "bar";
+
+ /**
+ * @parameter expression="${artifactToFile}"
+ */
+ private String artifactToFile;
+
+ /**
+ * @parameter expression="${fail}"
+ */
+ private boolean fail = false;
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ if ( fail )
+ {
+ throw new MojoExecutionException( "Failing per \'fail\' parameter (specified in pom or system properties)" );
+ }
+
+ touch( new File( outputDirectory ), "touch.txt" );
+
+ // This parameter should be aligned to the basedir as the parameter type is specified
+ // as java.io.File
+
+ if ( basedirAlignmentDirectory.getPath().equals( "target/test-basedir-alignment" ) )
+ {
+ throw new MojoExecutionException( "basedirAlignmentDirectory not aligned" );
+ }
+
+ touch( basedirAlignmentDirectory, "touch.txt" );
+
+ File outDir = new File( outputDirectory );
+
+ // Test parameter setting
+ if ( pluginItem != null )
+ {
+ touch( outDir, pluginItem );
+ }
+
+ if ( goalItem != null )
+ {
+ touch( outDir, goalItem );
+ }
+
+ if ( artifactToFile != null )
+ {
+ Artifact artifact = (Artifact) pluginArtifacts.get( artifactToFile );
+
+ File artifactFile = artifact.getFile();
+
+ String filename = artifactFile.getAbsolutePath().replace('/', '_').replace(':', '_') + ".txt";
+
+ touch( outDir, filename );
+ }
+
+ project.getBuild().setFinalName( "coreitified" );
+ }
+
+ private static void touch( File dir, String file )
+ throws MojoExecutionException
+ {
+ try
+ {
+ if ( !dir.exists() )
+ {
+ dir.mkdirs();
+ }
+
+ File touch = new File( dir, file );
+
+ FileWriter w = new FileWriter( touch );
+
+ w.write( file );
+
+ w.close();
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Error touching file", e );
+ }
+ }
+}
diff --git a/its/maven-it-plugins/pom.xml b/its/maven-it-plugins/pom.xml
new file mode 100644
index 0000000000..99d48a9d61
--- /dev/null
+++ b/its/maven-it-plugins/pom.xml
@@ -0,0 +1,24 @@
+
+
+ integration-tests
+ org.apache.maven.its
+ 1-SNAPSHOT
+
+ 4.0.0
+ org.apache.maven.its.plugins
+ maven-it-plugins
+ 1-SNAPSHOT
+ pom
+
+ maven-it-plugin-context-passing
+ maven-it-plugin-fork
+ maven-it-plugin-generate-envar-properties
+ maven-it-plugin-generate-properties
+ maven-it-plugin-loadable
+ maven-it-plugin-no-project
+ maven-it-plugin-packaging
+ maven-it-plugin-parameter-implementation
+ maven-it-plugin-setter
+ maven-it-plugin-touch
+
+
diff --git a/its/maven-it-plugins/used.txt b/its/maven-it-plugins/used.txt
new file mode 100644
index 0000000000..a6b7a9368c
--- /dev/null
+++ b/its/maven-it-plugins/used.txt
@@ -0,0 +1,8 @@
+it0071 touch
+it0073 context-passing
+it0082 touch
+it0086 loadable
+it0087 loadable
+it0088 generate-properties
+it0090 interpolated-pom-configuration
+it0107 parameter-implementation
diff --git a/its/mavenexecute.pl b/its/mavenexecute.pl
new file mode 100644
index 0000000000..2b9b4427b4
--- /dev/null
+++ b/its/mavenexecute.pl
@@ -0,0 +1,331 @@
+#!/usr/bin/perl
+
+# DO NOT EXECUTE THIS SCRIPT!!!!!!
+# This script was used to generate the new IT structure and we're leaving it around for safe keeping
+# but the transfer to the new mechanism has been made.
+
+use File::Path;
+use strict;
+
+my $dirname = "maven-core-it";
+my $newITs = "maven-core-integration-tests";
+my $newITsResources = "$newITs/src/test/resources";
+
+
+open( FILE, "$dirname/integration-tests-descriptions.txt" ) or die;
+undef $/;
+my $readme = ;
+close( FILE );
+
+$/ = "\n";
+
+my @descriptions = $readme =~ m/(it\d+\: .*?)(?=\nit\d+\:|$)/gsx;
+my %comment;
+for my $desc (@descriptions) {
+ my ($name, $value) = ($desc =~ m/^(it\d+)\: (.*)$/s);
+ chomp ($value);
+ $comment{$name} = $value;
+}
+
+rmtree($newITs);
+mkpath($newITs);
+
+open (POM, "> $newITs/pom.xml" );
+print POM <
+ 4.0.0
+ org.apache.maven.integrationtests
+ maven-core-integrationtests
+ 1.0-SNAPSHOT
+ Maven Integration Tests
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ **/IntegrationTestSuite.java
+
+ never
+
+
+
+
+
+
+ org.apache.maven.shared
+ maven-verifier
+ 1.0-SNAPSHOT
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+
+END
+
+close POM;
+
+my $suiteRoot = "$newITs/src/test/java/org/apache/maven/integrationtests";
+mkpath($suiteRoot);
+mkpath($newITsResources);
+
+open( SUITE, "> $suiteRoot/IntegrationTestSuite.java" );
+print SUITE </\>/gs;
+ if (-e $testPomFile) {
+ my $testPom;
+ {
+ local( $/, *TESTPOM );
+ open (TESTPOM, "<$testPomFile");
+ $testPom = ;
+ close TESTPOM;
+ }
+ # drop the existing description, if there is one
+ $testPom =~ s!.*?!!s;
+ # insert the test description into the POM
+ $testPom =~ s^(?!.*)(\s+)<^\1$testDescriptionEscaped\1<^sx;
+ my $testDescriptionMatcher = quotemeta($testDescriptionEscaped);
+ die "failed to insert description in $testProjectDirectory/pom.xml " unless ($testPom =~ m/$testDescriptionMatcher/s);
+ open (TESTPOM, ">$testPomFile");
+ print TESTPOM $testPom;
+ close TESTPOM;
+ }
+ unlink("$testProjectDirectory/cli-options.txt");
+ unlink("$testProjectDirectory/system.properties");
+ unlink("$testProjectDirectory/verifier.properties");
+ unlink("$testProjectDirectory/goals.txt");
+ unlink("$testProjectDirectory/expected-results.txt");
+ unlink("$testProjectDirectory/prebuild-hook.txt");
+ unlink("$testProjectDirectory/log.txt");
+
+ open( T, "> $testFile") or die;
+ print $filename . "\n";
+ print T <) {
+ if ($line =~ /^(rm|rmdir) (.*)/) {
+ my ($cmd, $path) = ($1, $2);
+
+ if ($cmd eq "rm") {
+ if ($path =~ m/^\$\{artifact:([^:]*?):([^:]*?):([^:]*?):([^:]*?)\}$/) {
+ print T "verifier.deleteArtifact(\"$1\", \"$2\", \"$3\", \"$4\");\n";
+ } else {
+ print T "FileUtils.deleteFile(new File(basedir, \"$path\"));\n";
+ }
+ } elsif ($cmd eq "rmdir") {
+ print T "FileUtils.deleteDirectory(new File(basedir, \"$path\"));\n";
+ } else {
+ die ("wtf? $line\n");
+ }
+ }
+ else {
+ die ("unexpected command: $line\n");
+ }
+ }
+ close FILE;
+ }
+
+ if (-e "$fileCliOptions") {
+ open(FILE, $fileCliOptions);
+ my $cliOptions = ;
+ chomp ($cliOptions);
+ $cliOptions =~ s/"/\\"/g;
+ print T "List cliOptions = new ArrayList();\n";
+ print T "cliOptions.add(\"$cliOptions\");\n";
+ print T "verifier.setCliOptions(cliOptions);\n";
+ close FILE;
+ }
+ if (-e "$fileSystemProperties") {
+ open(FILE, $fileSystemProperties);
+ print T "Properties systemProperties = new Properties();\n";
+ while (my $line = ) {
+ next if ($line =~ m/^\s*\#/);
+ my ($name, $value) = ($line =~ m/^([^=]*)=(.*)/);
+ print T "systemProperties.put(\"$name\", \"$value\");\n";
+ }
+ print T "verifier.setSystemProperties(systemProperties);\n";
+ close FILE;
+ }
+ if (-e "$fileVerifierProperties") {
+ open(FILE, $fileVerifierProperties);
+ print T "Properties verifierProperties = new Properties();\n";
+ while (my $line = ) {
+ next if ($line =~ m/^\s*\#/);
+ my ($name, $value) = ($line =~ m/^([^=]*)=(.*)/);
+ if ($name eq "failOnErrorOutput" and $value eq "false") {
+ $failOnErrorOutput = 0;
+ }
+ print T "verifierProperties.put(\"$name\", \"$value\");\n";
+ }
+ print T "verifier.setVerifierProperties(verifierProperties);\n";
+ close FILE;
+ }
+
+ open (FILE, $fileGoals) or die "Couldn't open $fileGoals: $!\n";
+
+ my @goals = ();
+ while (my $line = ) {
+ next if ($line =~ m/^\s*$/);
+ chomp ($line);
+ push (@goals, $line);
+ }
+ if (scalar(@goals) == 1) {
+ print T "verifier.executeGoal(\"$goals[0]\");\n";
+ } else {
+ print T "List goals = Arrays.asList(new String[] {";
+ for (my $i = 0; $i < @goals; $i++) {
+ print T "\"$goals[$i]\"";
+ print T ", " if ($i != scalar(@goals) -1);
+ }
+ print T "});\n";
+ print T "verifier.executeGoals(goals);\n";
+ }
+
+ close FILE;
+
+ if (-e $fileExpectedResults) {
+
+ open (FILE, $fileExpectedResults) or die "Couldn't open $fileExpectedResults: $!\n";
+
+ while (my $line = ) {
+ chomp ($line);
+ #print T ("OLDLINE: $line\n");
+ if ($line =~ /^\#(.*)/) {
+ print T "//$1\n";
+ next;
+ }
+ if ($line =~ m/^\!\$\{artifact:([^:]*?):([^:]*?):([^:]*?):([^:]*?)\}$/) {
+ print T "verifier.assertArtifactNotPresent(\"$1\", \"$2\", \"$3\", \"$4\");\n";
+ } elsif ($line =~ m/^\$\{artifact:([^:]*?):([^:]*?):([^:]*?):([^:]*?)\}$/) {
+ print T "verifier.assertArtifactPresent(\"$1\", \"$2\", \"$3\", \"$4\");\n";
+ } elsif ($line =~ m/^\!(.*)/) {
+ print T "verifier.assertFileNotPresent(\"$1\");\n";
+ } else {
+ print T "verifier.assertFilePresent(\"$line\");\n";
+ }
+ }
+ close FILE;
+ }
+
+ if ($failOnErrorOutput) {
+ print T "verifier.verifyErrorFreeLog();\n";
+ } else {
+ print T "// don't verify error free log\n";
+ }
+ print T "verifier.resetStreams();\n";
+ print T "System.out.println(\"PASS\");\n";
+ print T "}}\n\n";
+
+}
+
+# DGF end of the suite
+print SUITE <
+ 4.0.0
+
+ org.apache.maven
+ maven-parent
+ 1
+ ../pom/maven/pom.xml
+
+ org.apache.maven.its
+ integration-tests
+ 1-SNAPSHOT
+ Maven Integration Testing
+ pom
+ http://maven.apache.org
+
+ scm:svn:http://svn.apache.org/repos/asf/maven/integration-tests/trunk
+ scm:svn:https://svn.apache.org/repos/asf/maven/integration-tests/trunk
+ http://svn.apache.org/viewcvs.cgi/maven/integration-tests/trunk
+
+
+ jira
+ http://jira.codehaus.org/browse/MNG
+
+
+
+ Maven User List
+ users-subscribe@maven.apache.org
+ users-unsubscribe@maven.apache.org
+ users@maven.apache.org
+ http://mail-archives.apache.org/mod_mbox/maven-users
+
+ http://www.mail-archive.com/users@maven.apache.org/
+ http://www.nabble.com/Maven---Users-f178.html
+
+
+
+ Maven Developer List
+ dev-subscribe@maven.apache.org
+ dev-unsubscribe@maven.apache.org
+ dev@maven.apache.org
+ http://mail-archives.apache.org/mod_mbox/maven-dev
+
+
+ Maven Commits List
+ commits-subscribe@maven.apache.org
+ commits-unsubscribe@maven.apache.org
+ commits@maven.apache.org
+ http://mail-archives.apache.org/mod_mbox/maven-dev
+
+
+
+ maven-it-plugins
+
+
diff --git a/its/pom.xml.release b/its/pom.xml.release
new file mode 100644
index 0000000000..ce0af1bf55
--- /dev/null
+++ b/its/pom.xml.release
@@ -0,0 +1,54 @@
+
+ 4.0.0
+
+ org.apache.maven
+ maven-parent
+ 1
+ ../pom/maven/pom.xml
+
+ org.apache.maven.its
+ integration-tests
+ 1
+ Maven Integration Testing
+ pom
+ http://maven.apache.org
+
+ scm:svn:http://svn.apache.org/repos/asf/maven/integration-tests/tags/integration-tests-1
+ scm:svn:https://svn.apache.org/repos/asf/maven/integration-tests/tags/integration-tests-1
+ http://svn.apache.org/viewcvs.cgi/maven/integration-tests/tags/integration-tests-1
+
+
+ jira
+ http://jira.codehaus.org/browse/MNG
+
+
+
+ Maven User List
+ users-subscribe@maven.apache.org
+ users-unsubscribe@maven.apache.org
+ users@maven.apache.org
+ http://mail-archives.apache.org/mod_mbox/maven-users
+
+ http://www.mail-archive.com/users@maven.apache.org/
+ http://www.nabble.com/Maven---Users-f178.html
+
+
+
+ Maven Developer List
+ dev-subscribe@maven.apache.org
+ dev-unsubscribe@maven.apache.org
+ dev@maven.apache.org
+ http://mail-archives.apache.org/mod_mbox/maven-dev
+
+
+ Maven Commits List
+ commits-subscribe@maven.apache.org
+ commits-unsubscribe@maven.apache.org
+ commits@maven.apache.org
+ http://mail-archives.apache.org/mod_mbox/maven-dev
+
+
+
+ maven-it-plugins
+
+
diff --git a/its/run.sh b/its/run.sh
new file mode 100755
index 0000000000..95fd4ebb54
--- /dev/null
+++ b/its/run.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+m2Versions="2.0.1 2.0.2 2.0.3 2.0.4"
+
+for i in $m2Versions
+do
+ echo "Testing against version $i"
+ M2_HOME=$HOME/maven-${i}
+ mvn clean test
+done