This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch MPLUGINTESTING-61
in repository https://gitbox.apache.org/repos/asf/maven-plugin-testing.git

commit 550fd53386dd1d56c5be97a4435e9415bbe61fa9
Author: rfscholte <[email protected]>
AuthorDate: Sat Aug 31 11:13:38 2019 +0200

    [MPLUGINTESTING-65] Remove deprecated maven-plugin-testing-tools module
---
 maven-plugin-testing-harness/pom.xml               |   2 +-
 maven-plugin-testing-tools/pom.xml                 | 103 -----
 .../apache/maven/shared/test/plugin/BuildTool.java | 269 -----------
 .../shared/test/plugin/ComponentTestTool.java      | 196 --------
 .../maven/shared/test/plugin/PluginTestTool.java   | 198 ---------
 .../maven/shared/test/plugin/ProjectTool.java      | 494 ---------------------
 .../maven/shared/test/plugin/RepositoryTool.java   | 354 ---------------
 .../shared/test/plugin/TestToolsException.java     |  49 --
 maven-plugin-testing-tools/src/site/apt/index.apt  | 145 ------
 maven-plugin-testing-tools/src/site/site.xml       |  33 --
 .../maven/shared/test/plugin/ProjectToolTest.java  | 121 -----
 .../shared/test/plugin/RepositoryToolTest.java     |  96 ----
 .../src/test/resources/projects/basic/pom.xml      |  51 ---
 .../projects/basic/src/main/java/ItMojo.java       |  33 --
 maven-test-tools/pom.xml                           |   2 +-
 pom.xml                                            |   3 +-
 16 files changed, 3 insertions(+), 2146 deletions(-)

diff --git a/maven-plugin-testing-harness/pom.xml 
b/maven-plugin-testing-harness/pom.xml
index fe87dbe..5bfb02e 100644
--- a/maven-plugin-testing-harness/pom.xml
+++ b/maven-plugin-testing-harness/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven.plugin-testing</groupId>
     <artifactId>maven-plugin-testing</artifactId>
-    <version>3.3.1-SNAPSHOT</version>
+    <version>3.4.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-plugin-testing-harness</artifactId>
diff --git a/maven-plugin-testing-tools/pom.xml 
b/maven-plugin-testing-tools/pom.xml
deleted file mode 100644
index 34b4ab8..0000000
--- a/maven-plugin-testing-tools/pom.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.maven.plugin-testing</groupId>
-    <artifactId>maven-plugin-testing</artifactId>
-    <version>3.3.1-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>maven-plugin-testing-tools</artifactId>
-  <name>Maven Plugin Testing Tools</name>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-utils</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-model</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-core</artifactId>
-    </dependency>    
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-compat</artifactId>
-    </dependency>    
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-aether-provider</artifactId>
-    </dependency>    
-    <dependency>
-      <groupId>org.apache.maven.shared</groupId>
-      <artifactId>maven-invoker</artifactId>
-      <version>2.2</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.plugin-testing</groupId>
-      <artifactId>maven-test-tools</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.wagon</groupId>
-      <artifactId>wagon-file</artifactId>
-      <version>2.1</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <systemProperties>
-            <property>
-              <name>maven.home</name>
-              <value>${maven.home}</value>
-            </property>
-          </systemProperties>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.plexus</groupId>
-        <artifactId>plexus-component-metadata</artifactId>
-        <version>${plexusVersion}</version>
-        <executions>
-          <execution>
-            <goals>
-              <goal>generate-metadata</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-
-    </plugins>
-  </build>
-</project>
diff --git 
a/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/BuildTool.java
 
b/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/BuildTool.java
deleted file mode 100644
index e271a4d..0000000
--- 
a/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/BuildTool.java
+++ /dev/null
@@ -1,269 +0,0 @@
-package org.apache.maven.shared.test.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.List;
-import java.util.Properties;
-
-import org.apache.maven.shared.invoker.DefaultInvocationRequest;
-import org.apache.maven.shared.invoker.DefaultInvoker;
-import org.apache.maven.shared.invoker.InvocationOutputHandler;
-import org.apache.maven.shared.invoker.InvocationRequest;
-import org.apache.maven.shared.invoker.InvocationResult;
-import org.apache.maven.shared.invoker.Invoker;
-import org.apache.maven.shared.invoker.MavenInvocationException;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Disposable;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
-import 
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.cli.CommandLineUtils;
-
-/**
- * Test-tool used to execute Maven builds in order to test plugin 
functionality.
- *
- * @author jdcasey
- * @version $Id$
- */
-@Deprecated
-@Component( role = BuildTool.class )
-public class BuildTool
-    implements Initializable, Disposable
-{
-    /** Plexus role */
-    public static final String ROLE = BuildTool.class.getName();
-
-    private Invoker mavenInvoker;
-
-    /**
-     * Build a standard InvocationRequest using the specified test-build POM, 
command-line properties,
-     * goals, and output logfile. Then, execute Maven using this standard 
request. Return the result
-     * of the invocation.
-     *
-     * @param pom The test-build POM
-     * @param properties command-line properties to fine-tune the test build, 
or test parameter
-     *   extraction from CLI properties
-     * @param goals The list of goals and/or lifecycle phases to execute 
during this build
-     * @param buildLogFile The logfile used to capture build output
-     * @return The result of the Maven invocation, including exit value and 
any execution exceptions
-     *   resulting from the Maven invocation.
-     * @throws TestToolsException if any
-     */
-    public InvocationResult executeMaven( File pom, Properties properties, 
List<String> goals, File buildLogFile )
-        throws TestToolsException
-    {
-        InvocationRequest request = createBasicInvocationRequest( pom, 
properties, goals, buildLogFile );
-
-        return executeMaven( request );
-    }
-
-    /**
-     * Execute a test build using a customized InvocationRequest. Normally, 
this request would be
-     * created using the <code>createBasicInvocationRequest</code> method in 
this class.
-     *
-     * @param request The customized InvocationRequest containing the 
configuration used to execute
-     *   the current test build
-     * @return The result of the Maven invocation, containing exit value, 
along with any execution
-     *   exceptions resulting from the [attempted] Maven invocation.
-     * @throws TestToolsException if any
-     */
-    public InvocationResult executeMaven( InvocationRequest request )
-        throws TestToolsException
-    {
-        try
-        {
-            return mavenInvoker.execute( request );
-        }
-        catch ( MavenInvocationException e )
-        {
-            throw new TestToolsException( "Error executing maven.", e );
-        }
-        finally
-        {
-            closeHandlers( request );
-        }
-    }
-
-    /**
-     * Detect the location of the local Maven installation, and start up the 
MavenInvoker using that
-     * path. Detection uses the system property <code>maven.home</code>, and 
falls back to the shell
-     * environment variable <code>M2_HOME</code>.
-     *
-     * @throws IOException in case the shell environment variables cannot be 
read
-     */
-    private void startInvoker()
-        throws IOException
-    {
-        if ( mavenInvoker == null )
-        {
-            mavenInvoker = new DefaultInvoker();
-
-            if ( System.getProperty( "maven.home" ) == null )
-            {
-                Properties envars = CommandLineUtils.getSystemEnvVars();
-
-                String mavenHome = envars.getProperty( "M2_HOME" );
-
-                if ( mavenHome != null )
-                {
-                    mavenInvoker.setMavenHome( new File( mavenHome ) );
-                }
-            }
-        }
-    }
-
-    /**
-     * If we're logging output to a log file using standard output handlers, 
make sure these are
-     * closed.
-     *
-     * @param request
-     */
-    private void closeHandlers( InvocationRequest request )
-    {
-        InvocationOutputHandler outHandler = request.getOutputHandler( null );
-
-        if ( outHandler != null && ( outHandler instanceof LoggerHandler ) )
-        {
-            ( (LoggerHandler) outHandler ).close();
-        }
-
-        InvocationOutputHandler errHandler = request.getErrorHandler( null );
-
-        if ( errHandler != null && ( outHandler == null || errHandler != 
outHandler )
-            && ( errHandler instanceof LoggerHandler ) )
-        {
-            ( (LoggerHandler) errHandler ).close();
-        }
-    }
-
-    /**
-     * Construct a standardized InvocationRequest given the test-build POM, a 
set of CLI properties,
-     * a list of goals to execute, and the location of a log file to which 
build output should be
-     * directed. The resulting InvocationRequest can then be customized by the 
test class before
-     * being used to execute a test build. Both standard-out and 
standard-error will be directed
-     * to the specified log file.
-     *
-     * @param pom The POM for the test build
-     * @param properties The command-line properties for use in this test build
-     * @param goals The goals and/or lifecycle phases to execute during the 
test build
-     * @param buildLogFile Location to which build output should be logged
-     * @return The standardized InvocationRequest for the test build, ready 
for any necessary
-     *   customizations.
-     */
-    public InvocationRequest createBasicInvocationRequest( File pom, 
Properties properties, List<String> goals,
-                                                           File buildLogFile )
-    {
-        InvocationRequest request = new DefaultInvocationRequest();
-
-        request.setPomFile( pom );
-
-        request.setGoals( goals );
-
-        request.setProperties( properties );
-
-        LoggerHandler handler = new LoggerHandler( buildLogFile );
-
-        request.setOutputHandler( handler );
-        request.setErrorHandler( handler );
-
-        return request;
-    }
-
-    private static final class LoggerHandler
-        implements InvocationOutputHandler
-    {
-        private static final String LS = System.getProperty( "line.separator" 
);
-
-        private final File output;
-
-        private FileWriter writer;
-
-        LoggerHandler( File logFile )
-        {
-            output = logFile;
-        }
-
-        /** {@inheritDoc} */
-        public void consumeLine( String line )
-        {
-            if ( writer == null )
-            {
-                try
-                {
-                    output.getParentFile().mkdirs();
-                    writer = new FileWriter( output );
-                }
-                catch ( IOException e )
-                {
-                    throw new IllegalStateException( "Failed to open build 
log: " + output + "\n\nError: "
-                        + e.getMessage() );
-                }
-            }
-
-            try
-            {
-                writer.write( line + LS );
-                writer.flush();
-            }
-            catch ( IOException e )
-            {
-                throw new IllegalStateException( "Failed to write to build 
log: " + output + " output:\n\n\'" + line
-                    + "\'\n\nError: " + e.getMessage() );
-            }
-        }
-
-        void close()
-        {
-            IOUtil.close( writer );
-        }
-    }
-
-    /**
-     * Initialize this tool once it's been instantiated and composed, in order 
to start up the
-     * MavenInvoker instance.
-     *
-     * @throws InitializationException if any
-     */
-    public void initialize()
-        throws InitializationException
-    {
-        try
-        {
-            startInvoker();
-        }
-        catch ( IOException e )
-        {
-            throw new InitializationException( "Error detecting maven home.", 
e );
-        }
-    }
-
-    /**
-     * Not currently used; when this API switches to use the Maven Embedder, 
it will be used to
-     * shutdown the embedder and its associated container, to free up JVM 
memory.
-     */
-    public void dispose()
-    {
-        // TODO: When we switch to the embedder, use this to deallocate the 
MavenEmbedder, along
-        // with the PlexusContainer and ClassRealm that it wraps.
-    }
-}
diff --git 
a/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/ComponentTestTool.java
 
b/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/ComponentTestTool.java
deleted file mode 100644
index 5b9db15..0000000
--- 
a/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/ComponentTestTool.java
+++ /dev/null
@@ -1,196 +0,0 @@
-package org.apache.maven.shared.test.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.util.FileUtils;
-
-import java.io.File;
-import java.io.IOException;
-
-/**
- * Test tool that provides a single point of access for staging a maven 
component artifact - along with its
- * POM lineage - into a clean test-time local repository. This involves 
modifying the component POM to
- * provide a stable test-time version for test-build POMs to reference, then 
installing the component
- * jar and associated POMs (including those ancestors that are reachable using 
&lt;relativePath&gt;)
- * into the test local repository.
- *
- * <p>
- * <b>WARNING:</b> Currently, the <code>RepositoryTool</code> will not
- * resolve parent POMs that exist <b>only</b> in your normal local repository, 
and are not reachable
- * using the relativePath element. This may result in failed test builds, as 
one or more of the
- * component's ancestor POMs cannot be resolved.
- * </p>
- *
- * @author jdcasey
- * @version $Id$
- */
-@Deprecated
-@Component( role = ComponentTestTool.class )
-public class ComponentTestTool
-{
-    /** Plexus role */
-    public static final String ROLE = ComponentTestTool.class.getName();
-
-    @Requirement
-    private ProjectTool projectTool;
-
-    @Requirement
-    private RepositoryTool repositoryTool;
-
-    /**
-     * Stage the component, using a stable version, into a temporary 
local-repository directory that is
-     * generated by this method. When the component is staged, return the 
local repository base directory
-     * for use in test builds.
-     *
-     * @param pomFile current POM file
-     * @param testVersion The test version for the component, used for 
reference in test-build POMs and
-     * fully-qualified goals
-     * @return The base-directory location of the generated local repository
-     * @throws TestToolsException if any
-     */
-    public File prepareComponentForIntegrationTesting( File pomFile, String 
testVersion )
-        throws TestToolsException
-    {
-        return prepareForTesting( pomFile, testVersion, false, null );
-    }
-
-    /**
-     * Stage the component, using a stable version, into a temporary 
local-repository directory that is
-     * generated by this method. When the component is staged, return the 
local repository base directory
-     * for use in test builds. This method also skips unit testing during 
component jar production,
-     * since it is assumed that executing these tests would lead to a 
recursive test-and-build loop.
-     *
-     * @param pomFile current POM file
-     * @param testVersion The test version for the component, used for 
reference in test-build POMs and
-     * fully-qualified goals
-     * @return The base-directory location of the generated local repository
-     * @throws TestToolsException if any
-     */
-    public File prepareComponentForUnitTestingWithMavenBuilds( File pomFile, 
String testVersion )
-        throws TestToolsException
-    {
-        return prepareForTesting( pomFile, testVersion, true, null );
-    }
-
-    /**
-     * Stage the component, using a stable version, into the specified 
local-repository directory.
-     * When the component is staged, return the local repository base 
directory for verification.
-     *
-     * @param pomFile current POM file
-     * @param testVersion The test version for the component, used for 
reference in test-build POMs and
-     *   fully-qualified goals
-     * @param localRepositoryDir The base-directory location of the test local 
repository, into which
-     *   the component's test version should be staged.
-     * @return The base-directory location of the generated local repository
-     * @throws TestToolsException if any
-     */
-    public File prepareComponentForIntegrationTesting( File pomFile, String 
testVersion, File localRepositoryDir )
-        throws TestToolsException
-    {
-        return prepareForTesting( pomFile, testVersion, false, 
localRepositoryDir );
-    }
-
-    /**
-     * Stage the component, using a stable version, into the specified 
local-repository directory.
-     * When the component is staged, return the local repository base 
directory for verification. This
-     * method also skips unit testing during component jar production, since 
it is assumed that
-     * executing these tests would lead to a recursive test-and-build loop.
-     *
-     * @param pomFile current POM file
-     * @param testVersion The test version for the component, used for 
reference in test-build POMs and
-     * fully-qualified goals
-     * @param localRepositoryDir The base-directory location of the test local 
repository, into which
-     * the component's test version should be staged.
-     * @return The base-directory location of the generated local repository
-     * @throws TestToolsException if any
-     */
-    public File prepareComponentForUnitTestingWithMavenBuilds( File pomFile, 
String testVersion,
-                                                               File 
localRepositoryDir )
-        throws TestToolsException
-    {
-        return prepareForTesting( pomFile, testVersion, true, 
localRepositoryDir );
-    }
-
-    private File prepareForTesting( File pomFile, String testVersion, boolean 
skipUnitTests, File localRepositoryDir )
-        throws TestToolsException
-    {
-        File realProjectDir = pomFile.getParentFile();
-        try
-        {
-            realProjectDir = realProjectDir.getCanonicalFile();
-        }
-        catch ( IOException e )
-        {
-            throw new TestToolsException( "Failed to stage component for 
testing.", e );
-        }
-
-        try
-        {
-            final File tmpDir = File.createTempFile( 
"component-IT-staging-project", "" );
-
-            tmpDir.delete();
-
-            tmpDir.mkdirs();
-
-            Runtime.getRuntime().addShutdownHook( new Thread( new Runnable()
-            {
-                public void run()
-                {
-                    try
-                    {
-                        FileUtils.deleteDirectory( tmpDir );
-                    }
-                    catch ( IOException e )
-                    {
-                        // it'll get cleaned up when the temp dir is purged 
next...
-                    }
-                }
-
-            } ) );
-
-            FileUtils.copyDirectoryStructure( realProjectDir, tmpDir );
-        }
-        catch ( IOException e )
-        {
-            throw new TestToolsException( "Failed to create temporary staging 
directory for component project.", e );
-        }
-
-        File buildLog = new File( "target/test-build-logs/setup.build.log" );
-
-        buildLog.getParentFile().mkdirs();
-
-        File localRepoDir = localRepositoryDir;
-
-        if ( localRepoDir == null )
-        {
-            localRepoDir = new File( "target/test-local-repository" );
-        }
-
-        MavenProject project = projectTool.packageProjectArtifact( pomFile, 
testVersion, skipUnitTests, buildLog );
-
-        repositoryTool.createLocalRepositoryFromComponentProject( project, new 
File( realProjectDir, "pom.xml" ),
-                                                                  localRepoDir 
);
-
-        return localRepoDir;
-    }
-}
diff --git 
a/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/PluginTestTool.java
 
b/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/PluginTestTool.java
deleted file mode 100644
index 0f78d9a..0000000
--- 
a/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/PluginTestTool.java
+++ /dev/null
@@ -1,198 +0,0 @@
-package org.apache.maven.shared.test.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.util.FileUtils;
-
-import java.io.File;
-import java.io.IOException;
-
-/**
- * Test tool that provides a single point of access for staging a plugin 
artifact - along with its
- * POM lineage - into a clean test-time local repository. This involves 
modifying the plugin POM to
- * provide a stable test-time version for test-build POMs to reference, then 
installing the plugin
- * jar and associated POMs (including those ancestors that are reachable using 
&lt;relativePath&gt;)
- * into the test local repository.
- *
- * <p>
- * <b>WARNING:</b> Currently, the <code>RepositoryTool</code> will not
- * resolve parent POMs that exist <b>only</b> in your normal local repository, 
and are not reachable
- * using the relativePath element. This may result in failed test builds, as 
one or more of the
- * plugin's ancestor POMs cannot be resolved.
- * </p>
- *
- * @author jdcasey
- * @version $Id$
- */
-@Deprecated
-@Component( role = PluginTestTool.class )
-public class PluginTestTool
-{
-    /** Plexus role */
-    public static final String ROLE = PluginTestTool.class.getName();
-
-    @Requirement
-    private ProjectTool projectTool;
-
-    @Requirement
-    private RepositoryTool repositoryTool;
-
-    /**
-     * Stage the plugin, using a stable version, into a temporary 
local-repository directory that is
-     * generated by this method. When the plugin is staged, return the local 
repository base directory
-     * for use in test builds.
-     *
-     * @param pomFile current POM file
-     * @param testVersion The test version for the plugin, used for reference 
in test-build POMs and
-     *   fully-qualified goals
-     * @return The base-directory location of the generated local repository
-     * @throws TestToolsException if any
-     */
-    public File preparePluginForIntegrationTesting( File pomFile, String 
testVersion )
-        throws TestToolsException
-    {
-        return prepareForTesting( pomFile, testVersion, false, null );
-    }
-
-    /**
-     * Stage the plugin, using a stable version, into a temporary 
local-repository directory that is
-     * generated by this method. When the plugin is staged, return the local 
repository base directory
-     * for use in test builds. This method also skips unit testing during 
plugin jar production,
-     * since it is assumed that executing these tests would lead to a 
recursive test-and-build loop.
-     *
-     * @param pomFile current POM file
-     * @param testVersion The test version for the plugin, used for reference 
in test-build POMs and
-     *   fully-qualified goals
-     * @return The base-directory location of the generated local repository
-     * @throws TestToolsException if any
-     */
-    public File preparePluginForUnitTestingWithMavenBuilds( File pomFile, 
String testVersion )
-        throws TestToolsException
-    {
-        return prepareForTesting( pomFile, testVersion, true, null );
-    }
-
-    /**
-     * Stage the plugin, using a stable version, into the specified 
local-repository directory.
-     * When the plugin is staged, return the local repository base directory 
for verification.
-     *
-     * @param pomFile current POM file
-     * @param testVersion The test version for the plugin, used for reference 
in test-build POMs and
-     *   fully-qualified goals
-     * @param localRepositoryDir The base-directory location of the test local 
repository, into which
-     *   the plugin's test version should be staged.
-     * @return The base-directory location of the generated local repository
-     * @throws TestToolsException if any
-     */
-    public File preparePluginForIntegrationTesting( File pomFile, String 
testVersion, File localRepositoryDir )
-        throws TestToolsException
-    {
-        return prepareForTesting( pomFile, testVersion, false, 
localRepositoryDir );
-    }
-
-    /**
-     * Stage the plugin, using a stable version, into the specified 
local-repository directory.
-     * When the plugin is staged, return the local repository base directory 
for verification. This
-     * method also skips unit testing during plugin jar production, since it 
is assumed that
-     * executing these tests would lead to a recursive test-and-build loop.
-     *
-     * @param pomFile current POM file
-     * @param testVersion The test version for the plugin, used for reference 
in test-build POMs and
-     *   fully-qualified goals
-     * @param localRepositoryDir The base-directory location of the test local 
repository, into which
-     *   the plugin's test version should be staged.
-     * @return The base-directory location of the generated local repository
-     * @throws TestToolsException if any
-     */
-    public File preparePluginForUnitTestingWithMavenBuilds( File pomFile, 
String testVersion, File localRepositoryDir )
-        throws TestToolsException
-    {
-        return prepareForTesting( pomFile, testVersion, true, 
localRepositoryDir );
-    }
-
-    private File prepareForTesting( File pomFile, String testVersion, boolean 
skipUnitTests, File localRepositoryDir )
-        throws TestToolsException
-    {
-        File realProjectDir = pomFile.getParentFile();
-
-        try
-        {
-            realProjectDir = realProjectDir.getCanonicalFile();
-        }
-        catch ( IOException e )
-        {
-            throw new TestToolsException( "Failed to stage plugin for 
testing.", e );
-        }
-
-        try
-        {
-            final File tmpDir = File.createTempFile( 
"plugin-IT-staging-project", "" );
-
-            tmpDir.delete();
-
-            tmpDir.mkdirs();
-
-            Runtime.getRuntime().addShutdownHook( new Thread( new Runnable()
-            {
-
-                public void run()
-                {
-                    try
-                    {
-                        FileUtils.deleteDirectory( tmpDir );
-                    }
-                    catch ( IOException e )
-                    {
-                        // it'll get cleaned up when the temp dir is purged 
next...
-                    }
-                }
-
-            } ) );
-
-            FileUtils.copyDirectoryStructure( realProjectDir, tmpDir );
-        }
-        catch ( IOException e )
-        {
-            throw new TestToolsException( "Failed to create temporary staging 
directory for plugin project.", e );
-        }
-
-        File buildLog = new File( "target/test-build-logs/setup.build.log" );
-
-        buildLog.getParentFile().mkdirs();
-
-        File localRepoDir = localRepositoryDir;
-
-        if ( localRepoDir == null )
-        {
-            localRepoDir = new File( "target/test-local-repository" );
-        }
-
-        MavenProject project = projectTool.packageProjectArtifact( pomFile, 
testVersion, skipUnitTests, buildLog );
-
-        repositoryTool.createLocalRepositoryFromComponentProject( project, new 
File( realProjectDir, "pom.xml" ),
-                                                                  localRepoDir 
);
-
-        return localRepoDir;
-    }
-
-}
diff --git 
a/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/ProjectTool.java
 
b/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/ProjectTool.java
deleted file mode 100644
index 9480017..0000000
--- 
a/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/ProjectTool.java
+++ /dev/null
@@ -1,494 +0,0 @@
-package org.apache.maven.shared.test.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.UnknownRepositoryLayoutException;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.handler.ArtifactHandler;
-import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
-import org.apache.maven.model.Build;
-import org.apache.maven.model.DeploymentRepository;
-import org.apache.maven.model.DistributionManagement;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.Repository;
-import org.apache.maven.model.Site;
-import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
-import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
-import org.apache.maven.project.DefaultProjectBuildingRequest;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectBuilder;
-import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.project.ProjectBuildingRequest;
-import org.apache.maven.project.artifact.ProjectArtifactMetadata;
-import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.ReaderFactory;
-import org.codehaus.plexus.util.WriterFactory;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-
-/**
- * Testing tool used to read MavenProject instances from pom.xml files, and to 
create plugin jar
- * files (package phase of the normal build process) for distribution to a 
test local repository
- * directory.
- *
- * @author jdcasey
- * @version $Id$
- */
-@Deprecated
-@Component( role = ProjectTool.class )
-public class ProjectTool
-{
-    /** Plexus role */
-    public static final String ROLE = ProjectTool.class.getName();
-
-    public static final String INTEGRATION_TEST_DEPLOYMENT_REPO_URL = 
"integration-test.deployment.repo.url";
-
-    @Requirement
-    private BuildTool buildTool;
-
-    @Requirement
-    private RepositoryTool repositoryTool;
-
-    @Requirement
-    private ProjectBuilder projectBuilder;
-
-    @Requirement
-    private ArtifactHandlerManager artifactHandlerManager;
-
-    @Requirement
-    private ArtifactFactory artifactFactory;
-
-    @Requirement
-    private ArtifactRepositoryFactory artifactRepositoryFactory;
-
-    /**
-     * Construct a MavenProject instance from the specified POM file.
-     *
-     * @param pomFile current POM file
-     * @return the Maven project from a file
-     * @throws TestToolsException if any
-     */
-    public MavenProject readProject( File pomFile )
-        throws TestToolsException
-    {
-        return readProject( pomFile, 
repositoryTool.findLocalRepositoryDirectory() );
-    }
-
-    /**
-     * Construct a MavenProject instance from the specified POM file, using 
the specified local
-     * repository directory to resolve ancestor POMs as needed.
-     *
-     * @param pomFile current POM file
-     * @param localRepositoryBasedir
-     * @return the Maven project from a file and a local repo
-     * @throws TestToolsException if any
-     */
-    public MavenProject readProject( File pomFile, File localRepositoryBasedir 
)
-        throws TestToolsException
-    {
-        try
-        {
-            ArtifactRepository localRepository = repositoryTool
-                .createLocalArtifactRepositoryInstance( localRepositoryBasedir 
);
-
-            ProjectBuildingRequest request = new 
DefaultProjectBuildingRequest();
-            return projectBuilder.build( pomFile, request ).getProject();
-        }
-        catch ( ProjectBuildingException e )
-        {
-            throw new TestToolsException( "Error building MavenProject 
instance from test pom: " + pomFile, e );
-        }
-    }
-
-    /**
-     * Construct a MavenProject instance from the specified POM file with 
dependencies.
-     *
-     * @param pomFile current POM file
-     * @return the Maven project with dependencies from a file
-     * @throws TestToolsException if any
-     */
-    public MavenProject readProjectWithDependencies( File pomFile )
-        throws TestToolsException
-    {
-        return readProjectWithDependencies( pomFile, 
repositoryTool.findLocalRepositoryDirectory() );
-    }
-
-    /**
-     * Construct a MavenProject instance from the specified POM file with 
dependencies, using the specified local
-     * repository directory to resolve ancestor POMs as needed.
-     *
-     * @param pomFile current POM file
-     * @param localRepositoryBasedir
-     * @return the Maven project with dependencies from a file and a local repo
-     * @throws TestToolsException if any
-     */
-    public MavenProject readProjectWithDependencies( File pomFile, File 
localRepositoryBasedir )
-        throws TestToolsException
-    {
-        try
-        {
-            ArtifactRepository localRepository = repositoryTool
-                .createLocalArtifactRepositoryInstance( localRepositoryBasedir 
);
-
-            ProjectBuildingRequest request = new 
DefaultProjectBuildingRequest();
-            return projectBuilder.build( pomFile, request ).getProject();
-        }
-        catch ( ProjectBuildingException e )
-        {
-            throw new TestToolsException( "Error building MavenProject 
instance from test pom: " + pomFile, e );
-        }
-    }
-
-    /**
-     * Run the plugin's Maven build up to the package phase, in order to 
produce a jar file for
-     * distribution to a test-time local repository. The testVersion parameter 
specifies the version
-     * to be used in the &lt;version/&gt; element of the plugin configuration, 
and also in fully
-     * qualified, unambiguous goal invocations (as in
-     * org.apache.maven.plugins:maven-eclipse-plugin:test:eclipse).
-     *
-     * @param pomFile The plugin's POM
-     * @param testVersion The version to use for testing this plugin. To 
promote test resiliency,
-     *   this version should remain unchanged, regardless of what plugin 
version is under
-     *   development.
-     * @param skipUnitTests In cases where test builds occur during the 
unit-testing phase (usually
-     *   a bad testing smell), the plugin jar must be produced <b>without</b> 
running unit tests.
-     *   Otherwise, the testing process will result in a recursive loop of 
building a plugin jar and
-     *   trying to unit test it during the build. In these cases, set this 
flag to <code>true</code>.
-     * @return The resulting MavenProject, after the test version and skip 
flag (for unit tests)
-     *   have been appropriately configured.
-     * @throws TestToolsException if any
-     */
-    public MavenProject packageProjectArtifact( File pomFile, String 
testVersion, boolean skipUnitTests )
-        throws TestToolsException
-    {
-        return packageProjectArtifact( pomFile, testVersion, skipUnitTests, 
null );
-    }
-
-    /**
-     * Run the plugin's Maven build up to the package phase, in order to 
produce a jar file for
-     * distribution to a test-time local repository. The testVersion parameter 
specifies the version
-     * to be used in the &lt;version/&gt; element of the plugin configuration, 
and also in fully
-     * qualified, unambiguous goal invocations (as in
-     * org.apache.maven.plugins:maven-eclipse-plugin:test:eclipse).
-     *
-     * @param pomFile The plugin's POM
-     * @param testVersion The version to use for testing this plugin. To 
promote test resiliency,
-     *   this version should remain unchanged, regardless of what plugin 
version is under
-     *   development.
-     * @param skipUnitTests In cases where test builds occur during the 
unit-testing phase (usually
-     *   a bad testing smell), the plugin jar must be produced <b>without</b> 
running unit tests.
-     *   Otherwise, the testing process will result in a recursive loop of 
building a plugin jar and
-     *   trying to unit test it during the build. In these cases, set this 
flag to <code>true</code>.
-     * @param logFile The file to which build output should be logged, in 
order to allow later
-     *   inspection in case this build fails.
-     * @return The resulting MavenProject, after the test version and skip 
flag (for unit tests)
-     *   have been appropriately configured.
-     * @throws TestToolsException if any
-     */
-    public MavenProject packageProjectArtifact( File pomFile, String 
testVersion, boolean skipUnitTests, File logFile )
-        throws TestToolsException
-    {
-        PomInfo pomInfo = manglePomForTesting( pomFile, testVersion, 
skipUnitTests );
-
-        Properties properties = new Properties();
-
-        List<String> goals = new ArrayList<String>();
-        goals.add( "package" );
-
-        File buildLog = logFile == null ? pomInfo.getBuildLogFile() : logFile;
-        System.out.println( "Now Building test version of the plugin...\nUsing 
staged plugin-pom: "
-            + pomInfo.getPomFile().getAbsolutePath() );
-
-        buildTool.executeMaven( pomInfo.getPomFile(), properties, goals, 
buildLog );
-
-        File artifactFile = new File( pomInfo.getPomFile().getParentFile(),
-                                      pomInfo.getBuildDirectory() + "/" + 
pomInfo.getFinalName() );
-        System.out.println( "Using IT Plugin Jar: " + 
artifactFile.getAbsolutePath() );
-        try
-        {
-            ProjectBuildingRequest request = new 
DefaultProjectBuildingRequest();
-            request.setLocalRepository( 
artifactRepositoryFactory.createArtifactRepository( "local",
-                                            new File( "target/localrepo" 
).getCanonicalFile().toURL().toExternalForm(),
-                                            "default", null, null ) );
-            request.setRepositorySession( 
MavenRepositorySystemUtils.newSession() );
-            MavenProject project = projectBuilder.build( pomInfo.getPomFile(), 
request ).getProject();
-
-            Artifact artifact = artifactFactory.createArtifact( 
project.getGroupId(), project.getArtifactId(), project
-                .getVersion(), null, project.getPackaging() );
-
-            artifact.setFile( artifactFile );
-            artifact.addMetadata( new ProjectArtifactMetadata( artifact, 
project.getFile() ) );
-
-            project.setArtifact( artifact );
-
-            return project;
-        }
-        catch ( ProjectBuildingException e )
-        {
-            throw new TestToolsException( "Error building MavenProject 
instance from test pom: " + pomInfo.getPomFile(),
-                                          e );
-        }
-        catch ( UnknownRepositoryLayoutException e )
-        {
-            throw new TestToolsException( "Error building ArtifactRepository 
instance from test pom: "
-                + pomInfo.getPomFile(), e );
-        }
-        catch ( IOException e )
-        {
-            throw new TestToolsException( "Error building ArtifactRepository 
instance from test pom: "
-                + pomInfo.getPomFile(), e );
-        }
-    }
-
-    /**
-     * Inject a special version for testing, to allow tests to unambiguously 
reference the plugin
-     * currently under test. If test builds will be executed from the 
unit-testing phase, also inject
-     * &lt;skip&gt;true&lt;/skip&gt; into the configuration of the 
<code>maven-surefire-plugin</code>
-     * to allow production of a test-only version of the plugin jar without 
running unit tests.
-     *
-     * @param pomFile The plugin POM
-     * @param testVersion The version that allows test builds to reference the 
plugin under test
-     * @param skipUnitTests If true, configure the surefire plugin to skip 
unit tests
-     * @return Information about mangled POM, including the temporary file to 
which it was written.
-     * @throws TestToolsException if any
-     */
-    protected PomInfo manglePomForTesting( File pomFile, String testVersion, 
boolean skipUnitTests )
-        throws TestToolsException
-    {
-        File input = pomFile;
-
-        File output = new File( pomFile.getParentFile(), "pom-" + testVersion 
+ ".xml" );
-        output.deleteOnExit();
-
-        Reader reader = null;
-        Writer writer = null;
-
-        Model model = null;
-        String finalName = null;
-        String buildDirectory = null;
-
-        try
-        {
-            reader = ReaderFactory.newXmlReader( input );
-
-            model = new MavenXpp3Reader().read( reader );
-        }
-        catch ( IOException e )
-        {
-            throw new TestToolsException( "Error creating test-time version of 
POM for: " + input, e );
-        }
-        catch ( XmlPullParserException e )
-        {
-            throw new TestToolsException( "Error creating test-time version of 
POM for: " + input, e );
-        }
-        finally
-        {
-            IOUtil.close( reader );
-        }
-
-        try
-        {
-            model.setVersion( testVersion );
-
-            Build build = model.getBuild();
-            if ( build == null )
-            {
-                build = new Build();
-            }
-            buildDirectory = build.getDirectory();
-
-            if ( buildDirectory == null )
-            {
-                buildDirectory = "target";
-            }
-
-            buildDirectory = ( buildDirectory + File.separatorChar + 
"it-build-target" );
-            build.setDirectory( buildDirectory );
-            build.setOutputDirectory( buildDirectory + File.separatorChar + 
"classes" );
-            System.out.println( "Using " + build.getDirectory() + " and " + 
build.getOutputDirectory()
-                + " to build IT version of plugin" );
-            model.setBuild( build );
-
-            finalName = build.getFinalName();
-
-            if ( finalName == null )
-            {
-                ArtifactHandler handler = 
artifactHandlerManager.getArtifactHandler( model.getPackaging() );
-
-                String ext = handler.getExtension();
-
-                finalName = model.getArtifactId() + "-" + model.getVersion() + 
"." + ext;
-            }
-
-            DistributionManagement distMgmt = new DistributionManagement();
-
-            DeploymentRepository deployRepo = new DeploymentRepository();
-
-            deployRepo.setId( "integration-test.output" );
-
-            File tmpDir = FileUtils.createTempFile( "integration-test-repo", 
"", null );
-            String tmpUrl = tmpDir.toURL().toExternalForm();
-
-            deployRepo.setUrl( tmpUrl );
-
-            distMgmt.setRepository( deployRepo );
-            distMgmt.setSnapshotRepository( deployRepo );
-
-            Repository localAsRemote = new Repository();
-            localAsRemote.setId( "testing.mainLocalAsRemote" );
-
-            File localRepoDir = repositoryTool.findLocalRepositoryDirectory();
-            localAsRemote.setUrl( localRepoDir.toURL().toExternalForm() );
-
-            model.addRepository( localAsRemote );
-            model.addPluginRepository( localAsRemote );
-
-            Site site = new Site();
-
-            site.setId( "integration-test.output" );
-            site.setUrl( tmpUrl );
-
-            distMgmt.setSite( site );
-
-            model.setDistributionManagement( distMgmt );
-
-            model.addProperty( INTEGRATION_TEST_DEPLOYMENT_REPO_URL, tmpUrl );
-
-            if ( skipUnitTests )
-            {
-                List<Plugin> plugins = build.getPlugins();
-                Plugin plugin = null;
-                for ( Plugin plug : plugins )
-                {
-                    if ( "maven-surefire-plugin".equals( plug.getArtifactId() 
) )
-                    {
-                        plugin = plug;
-                        break;
-                    }
-                }
-
-                if ( plugin == null )
-                {
-                    plugin = new Plugin();
-                    plugin.setArtifactId( "maven-surefire-plugin" );
-                    build.addPlugin( plugin );
-                }
-
-                Xpp3Dom configDom = (Xpp3Dom) plugin.getConfiguration();
-                if ( configDom == null )
-                {
-                    configDom = new Xpp3Dom( "configuration" );
-                    plugin.setConfiguration( configDom );
-                }
-
-                Xpp3Dom skipDom = new Xpp3Dom( "skip" );
-                skipDom.setValue( "true" );
-
-                configDom.addChild( skipDom );
-            }
-
-            writer = WriterFactory.newXmlWriter( output );
-
-            new MavenXpp3Writer().write( writer, model );
-        }
-        catch ( IOException e )
-        {
-            throw new TestToolsException( "Error creating test-time version of 
POM for: " + input, e );
-        }
-        finally
-        {
-            IOUtil.close( writer );
-        }
-
-        return new PomInfo( output, model.getGroupId(), model.getArtifactId(), 
model.getVersion(),
-                            model.getBuild().getDirectory(), 
model.getBuild().getOutputDirectory(), finalName );
-    }
-
-    static final class PomInfo
-    {
-        private final File pomFile;
-
-        private final String groupId;
-
-        private final String artifactId;
-
-        private final String version;
-
-        private final String finalName;
-
-        private final String buildDirectory;
-
-        private final String buildOutputDirectory;
-
-        PomInfo( File pomFile, String groupId, String artifactId, String 
version, String buildDirectory,
-                 String buildOutputDirectory, String finalName )
-        {
-            this.pomFile = pomFile;
-            this.groupId = groupId;
-            this.artifactId = artifactId;
-            this.version = version;
-            this.buildDirectory = buildDirectory;
-            this.buildOutputDirectory = buildOutputDirectory;
-            this.finalName = finalName;
-        }
-
-        File getPomFile()
-        {
-            return pomFile;
-        }
-
-        String getBuildDirectory()
-        {
-            return buildDirectory;
-        }
-
-        String getBuildOutputDirectory()
-        {
-            return buildOutputDirectory;
-        }
-
-        String getFinalName()
-        {
-            return finalName;
-        }
-
-        File getBuildLogFile()
-        {
-            return new File( buildDirectory + "/test-build-logs/" + groupId + 
"_" + artifactId + "_" + version
-                + ".build.log" );
-        }
-    }
-}
diff --git 
a/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/RepositoryTool.java
 
b/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/RepositoryTool.java
deleted file mode 100644
index d2d1bf1..0000000
--- 
a/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/RepositoryTool.java
+++ /dev/null
@@ -1,354 +0,0 @@
-package org.apache.maven.shared.test.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.IOException;
-import java.io.Reader;
-import java.net.MalformedURLException;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.installer.ArtifactInstallationException;
-import org.apache.maven.artifact.installer.ArtifactInstaller;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.execution.DefaultMavenExecutionRequest;
-import org.apache.maven.execution.DefaultMavenExecutionResult;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Parent;
-import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
-import org.apache.maven.plugin.LegacySupport;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.artifact.ProjectArtifactMetadata;
-import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
-import org.apache.maven.settings.MavenSettingsBuilder;
-import org.apache.maven.settings.Settings;
-import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import 
org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.codehaus.plexus.context.Context;
-import org.codehaus.plexus.context.ContextException;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.ReaderFactory;
-import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-
-/**
- * Tools to access and manage Maven repositories for test builds, including 
construction of a local
- * repository directory structure.
- *
- * <p>
- * <b>WARNING:</b> Currently, the <code>createLocalRepositoryFromPlugin</code> 
method will not
- * resolve parent POMs that exist <b>only</b> in your normal local repository, 
and are not reachable
- * using the relativePath element. This may result in failed test builds, as 
one or more of the
- * plugin's ancestor POMs cannot be resolved.
- * </p>
- *
- * @author jdcasey
- * @version $Id$
- */
-@Deprecated
-@Component( role = RepositoryTool.class )
-public class RepositoryTool
-    implements Contextualizable
-{
-    /** Plexus role */
-    public static final String ROLE = RepositoryTool.class.getName();
-
-    @Requirement
-    private ArtifactRepositoryFactory repositoryFactory;
-
-    @Requirement
-    private MavenSettingsBuilder settingsBuilder;
-
-    @Requirement
-    private ArtifactFactory artifactFactory;
-
-    @Requirement
-    private ArtifactInstaller artifactInstaller;
-
-    @Requirement
-    private LegacySupport legacySupport;
-
-    // contextualized.
-    private PlexusContainer container;
-
-    /**
-     * Lookup and return the location of the normal Maven local repository.
-     *
-     * @return the location of the normal Maven local repository.
-     * @throws TestToolsException if any
-     */
-    public File findLocalRepositoryDirectory()
-        throws TestToolsException
-    {
-        String localRepo = System.getProperty( "maven.local.repo" );
-        if ( StringUtils.isNotEmpty( localRepo ) )
-        {
-            return new File( localRepo );
-        }
-
-        Settings settings;
-        try
-        {
-            DefaultMavenExecutionRequest request = new 
DefaultMavenExecutionRequest();
-            request.setUserSettingsFile( new File( System.getProperty( 
"user.home" ), ".m2/settings.xml" ) );
-            request.setGlobalSettingsFile( new File( System.getProperty( 
"maven.home" ), "conf/settings.xml" ) );
-            settings = settingsBuilder.buildSettings( request );
-        }
-        catch ( IOException e )
-        {
-            throw new TestToolsException( "Error building Maven settings.", e 
);
-        }
-        catch ( XmlPullParserException e )
-        {
-            throw new TestToolsException( "Error building Maven settings.", e 
);
-        }
-
-        if ( settings == null || settings.getLocalRepository() == null
-            || settings.getLocalRepository().trim().length() < 1 )
-        {
-            return new File( System.getProperty( "user.home" ), 
".m2/repository" );
-        }
-
-        return new File( settings.getLocalRepository() );
-    }
-
-    /**
-     * Construct an ArtifactRepository instance that refers to the normal 
Maven local repository.
-     *
-     * @return an ArtifactRepository instance
-     * @throws TestToolsException if any
-     */
-    public ArtifactRepository createLocalArtifactRepositoryInstance()
-        throws TestToolsException
-    {
-        File localRepoDir = findLocalRepositoryDirectory();
-
-        return createLocalArtifactRepositoryInstance( localRepoDir );
-    }
-
-    /**
-     * Construct an ArtifactRepository instance that refers to the test-time 
Maven local repository.
-     *
-     * @param localRepositoryDirectory The location of the local repository to 
be used for test builds.
-     * @return an ArtifactRepository instance
-     * @throws TestToolsException if any
-     */
-    public ArtifactRepository createLocalArtifactRepositoryInstance( File 
localRepositoryDirectory )
-        throws TestToolsException
-    {
-        ArtifactRepositoryLayout defaultLayout;
-        try
-        {
-            defaultLayout = (ArtifactRepositoryLayout) container.lookup( 
ArtifactRepositoryLayout.ROLE, "default" );
-        }
-        catch ( ComponentLookupException e )
-        {
-            throw new TestToolsException( "Error retrieving default repository 
layout.", e );
-        }
-
-        try
-        {
-            return repositoryFactory.createArtifactRepository( "local", 
localRepositoryDirectory.toURL()
-                .toExternalForm(), defaultLayout, null, null );
-        }
-        catch ( MalformedURLException e )
-        {
-            throw new TestToolsException( "Error converting local repo 
directory to a URL.", e );
-        }
-    }
-
-    /**
-     * Install a test version of a plugin - along with its POM, and as many 
ancestor POMs as can be
-     * reached using the &lt;relativePath/&gt; element - to a clean local 
repository directory for
-     * use in test builds.
-     *
-     * <p>
-     * <b>WARNING:</b> Currently, this method will not resolve parent POMs 
that exist <b>only</b> in
-     * your normal local repository, and are not reachable using the 
relativePath element. This may
-     * result in failed test builds, as one or more of the plugin's ancestor 
POMs cannot be resolved.
-     * </p>
-     *
-     * @param project
-     * @param realPomFile
-     * @param targetLocalRepoBasedir
-     * @throws TestToolsException if any
-     */
-    public void createLocalRepositoryFromComponentProject( MavenProject 
project, File realPomFile,
-                                                           File 
targetLocalRepoBasedir )
-        throws TestToolsException
-    {
-        Artifact artifact = project.getArtifact();
-
-        if ( "pom".equals( project.getPackaging() ) )
-        {
-            artifact.setFile( project.getFile() );
-        }
-
-        ArtifactRepository localRepository = 
createLocalArtifactRepositoryInstance( targetLocalRepoBasedir );
-
-        String localPath = localRepository.pathOf( artifact );
-
-        File destination = new File( localRepository.getBasedir(), localPath );
-        if ( !destination.getParentFile().exists() )
-        {
-            destination.getParentFile().mkdirs();
-        }
-
-        legacySupport.setSession( new MavenSession( container, 
MavenRepositorySystemUtils.newSession(),
-                                                    new 
DefaultMavenExecutionRequest(),
-                                                    new 
DefaultMavenExecutionResult() ) );
-        try
-        {
-            artifactInstaller.install( artifact.getFile(), artifact, 
localRepository );
-        }
-        catch ( ArtifactInstallationException e )
-        {
-            throw new TestToolsException( "Error installing plugin artifact to 
target local repository: "
-                + targetLocalRepoBasedir, e );
-        }
-        finally
-        {
-            legacySupport.setSession( null );
-        }
-
-        installLocallyReachableAncestorPoms( realPomFile, localRepository );
-    }
-
-    /**
-     * Traverse &lt;relativePath/&gt; links for successive POMs in the 
plugin's ancestry, installing
-     * each one into the test-time local repository.
-     *
-     * @param realPomFile The real plugin POM; a starting point, but the POM 
is already installed,
-     *   so we won't actually install this file, only use it to locate parents.
-     * @param localRepo The test-time local repository instance
-     * @throws TestToolsException if any
-     */
-    private void installLocallyReachableAncestorPoms( File realPomFile, 
ArtifactRepository localRepo )
-        throws TestToolsException
-    {
-        MavenXpp3Reader pomReader = new MavenXpp3Reader();
-
-        File pom = realPomFile;
-
-        boolean firstPass = true;
-
-        while ( pom != null )
-        {
-
-            if ( !pom.exists() )
-            {
-                pom = null;
-                break;
-            }
-
-            String pomGroupId = null;
-            String pomArtifactId = null;
-            String pomVersion = null;
-
-            Reader reader = null;
-
-            File currentPom = pom;
-
-            try
-            {
-                reader = ReaderFactory.newXmlReader( pom );
-
-                Model model = pomReader.read( reader );
-
-                pomGroupId = model.getGroupId();
-                pomArtifactId = model.getArtifactId();
-                pomVersion = model.getVersion();
-
-                Parent parent = model.getParent();
-                if ( parent != null )
-                {
-                    pom = new File( pom.getParentFile(), 
parent.getRelativePath() );
-
-                    if ( pomGroupId == null )
-                    {
-                        pomGroupId = parent.getGroupId();
-                    }
-
-                    if ( pomVersion == null )
-                    {
-                        pomVersion = parent.getVersion();
-                    }
-                }
-                else
-                {
-                    pom = null;
-                }
-            }
-            catch ( IOException e )
-            {
-                throw new TestToolsException( "Error reading ancestor POM: " + 
currentPom, e );
-            }
-            catch ( XmlPullParserException e )
-            {
-                throw new TestToolsException( "Error reading ancestor POM: " + 
currentPom, e );
-            }
-            finally
-            {
-                IOUtil.close( reader );
-            }
-
-            if ( !firstPass )
-            {
-                Artifact pomArtifact = artifactFactory.createProjectArtifact( 
pomGroupId, pomArtifactId, pomVersion );
-                pomArtifact.addMetadata( new ProjectArtifactMetadata( 
pomArtifact, currentPom ) );
-
-                try
-                {
-                    artifactInstaller.install( currentPom, pomArtifact, 
localRepo );
-                }
-                catch ( ArtifactInstallationException e )
-                {
-                    throw new TestToolsException( "Error installing ancestor 
POM: " + currentPom
-                        + " to target local repository: " + 
localRepo.getBasedir(), e );
-                }
-            }
-            else
-            {
-                firstPass = false;
-            }
-        }
-    }
-
-    /**
-     * Retrieve the PlexusContainer instance used to instantiate this 
component. The container is
-     * used to retrieve the default ArtifactRepositoryLayout component, for 
use in constructing
-     * instances of ArtifactRepository that can be used to access local 
repositories.
-     *
-     * @see 
org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable#contextualize(org.codehaus.plexus.context.Context)
-     */
-    public void contextualize( Context context )
-        throws ContextException
-    {
-        this.container = (PlexusContainer) context.get( 
PlexusConstants.PLEXUS_KEY );
-    }
-}
diff --git 
a/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/TestToolsException.java
 
b/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/TestToolsException.java
deleted file mode 100644
index f4eec3e..0000000
--- 
a/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/TestToolsException.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.apache.maven.shared.test.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Wrap errors when Test Tools exception occurred.
- *
- * @version $Id$
- */
-@Deprecated
-public class TestToolsException
-    extends Exception
-{
-    static final long serialVersionUID = -2578830270609952507L;
-
-    /**
-     * @param message given message
-     * @param cause given cause
-     */
-    public TestToolsException( String message, Throwable cause )
-    {
-        super( message, cause );
-    }
-
-    /**
-     * @param message a given message
-     */
-    public TestToolsException( String message )
-    {
-        super( message );
-    }
-}
diff --git a/maven-plugin-testing-tools/src/site/apt/index.apt 
b/maven-plugin-testing-tools/src/site/apt/index.apt
deleted file mode 100644
index 08143c1..0000000
--- a/maven-plugin-testing-tools/src/site/apt/index.apt
+++ /dev/null
@@ -1,145 +0,0 @@
-  ---
-  Introduction
-  ---
-  John Casey
-  ---
-  13 November 2006
-  ---
-  
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~   http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
-~~ NOTE: For help with the syntax of this file, see:
-~~ http://maven.apache.org/doxia/references/apt-format.html
-
-Maven Plugin Testing Tools
-
-  This API is meant to provide a series of convenience tools for developers 
wishing to test Maven 
-  plugins. The primary focus of the library is on integration testing, since 
it is not well-supported
-  with current tools and approaches.
-
-* Special Problems with Plugin Integration Testing
-
-  Maven plugins represent a somewhat special need in terms of integration 
testing. Like many 
-  component-oriented systems, Maven provides much of the runtime context 
essential for testing a 
-  plugin in its "natural environment". This means that, in order to properly 
test the integration of
-  any particular plugin into the larger system, the developer should really 
execute Maven builds
-  that test particular features of the plugin in question.
-  
-  However, running test builds from within the plugin's own build presents 
some special problems.
-  Since we're using Maven to build the Maven plugin, we have to deal with the 
fact that a previous
-  version of the plugin could be active within the current build (not a great 
practice, but sometimes
-  unavoidable). This means that Maven must either be smart enough to unload 
the existing plugin-version
-  from the runtime context and load the newer version - and correspondingly, 
unload the test version
-  and reload the older version for other, later builds in the same reactor. As 
an alternative, the
-  integration-testing of the plugin could fork separate Maven builds, and 
track the output in order
-  to verify results and determine whether the build succeeds. The latter 
approach, while much slower
-  and somewhat dependent on local-system configuration, is currently the most 
robust way to avoid 
-  existing versions of the plugin under test.
-  
-  In addition to plugin-version inconsistencies, integration-testing of Maven 
plugins must cope with
-  the need to cleanup after themselves. Remember, Maven only loads plugins 
from its own local repository
-  (possibly after resolving them from a remote repository). Because of this, 
the only practical way 
-  to use the current plugin within an integration-test build is to install it 
into some sort of local 
-  repository, then direct Maven to use that local repository for the build. To 
avoid side effects in
-  other builds (remember, we're building Maven plugins here... and they're 
used to build other projects),
-  it's critical to avoid using the main local repository used for normal Maven 
builds. Therefore,
-  plugin integration tests require a custom local repository, to which the 
integration-testing builds
-  can be directed. Further complicating this testing scenario is the fact that 
the plugin's parent
-  POM or one of its ancestor POMs could be a snapshot which has been installed 
in the main local
-  repository, but which is not reachable using the plugin-POM's 
<<<\<relativePath/\>>>>
-  parent-element.<+>
-  
-  <+ All of this seems to indicate that the best approach for ensuring the 
presence of all required
-  POMs and plugins is to use the normal local repository to construct a new 
local repository for
-  testing purposes. Work on this is ongoing.>
-  
-  Finally, in order to support integration-testing of plugins, it's important 
to give the developer
-  an API by which to bootstrap the testing environment (and ideally, detect 
when it's already been 
-  bootstrapped), and to also provide a robust API for executing builds and 
verifying results.
-  
-* A Note on Test-Suite Maintenance
-
-  Since failure to grasp the use cases of any system is a virtual guarantee 
that it will not meet
-  the needs of the user, it's important to understand how integration tests 
are really used.
-  
-  First and foremost, integration tests are used as a one-way valve, to ensure 
that no feature of
-  the application - in our case, a Maven plugin - regresses as the result of 
unrelated development.
-  A good set of tests - of which the integration tests are, well, integral - 
can provide the developer
-  with freedom to implement new features with the confidence that he's able to 
effectively build on
-  the foundations of previous versions.
-  
-  However, it's important to understand that regression-prevention is not the 
sole purpose of an
-  integration test. A secondary but critical use case deals with how 
integration tests are added to
-  the plugin. One has only to consider how bugs are reported on a flawed 
system to understand. Since
-  users usually report bugs, bug reports originate outside of the system. In 
the case of a Maven
-  plugin, this means users are most likely able to supply examples of the 
failing behavior in the
-  form of failing builds. In order to make immediate and direct use of what 
the user gives us, it's
-  critical that integration tests are designed to be augmented using build 
examples from the user,
-  with as little rewriting as possible.
-  
-  To that end, the approach for integration testing in this library will be 
the execution of sample
-  builds that use the plugin in question, then verify the results, either in 
the logs, the resulting
-  exit code, or the project files it produces.
-  
-* Integration-Testing Requirements
-
-  To summarize, this library strives to satisfy the following requirements for 
integration testing 
-  of Maven plugins:
-  
-  * Trigger Maven builds using test projects, without incurring any sort of 
conflict with plugins
-    already in use within the current (this plugin's) build.
-    
-  * Construct a local repository into which the test version of the plugin can 
be installed, 
-    allowing the main local repository to remain untouched by the tests. 
Integration tests can be 
-    directed to use this test-time local repository instead of the normal 
location.
-    
-  * Support tracking and analysis of results from Maven builds spawned during 
integration testing. 
-    As far as is reasonable, test builds should be configured in the same way 
as normal project 
-    builds, to make the most of test cases submitted by users along with the 
issues they file.
-    
-  []
-    
-* Utilities Included in this Library
-
-  For more information on the APIs described below, see the 
{{{./apidocs/index.html}JavaDocs}}.
-
-  * <<PluginTestTool>> - The main entry point for setting up the 
plugin-testing environment, this
-    utility orchestrates the ProjectTool, RepositoryTool, and BuildTool in 
order to produce a local
-    repository containing the plugin jar, plus any ancestor POM files that are 
reachable using the
-    <<<\<relativePath/\>>>> element of the parent specification.
-    
-    In order to make test projects more resilient to changes in the plugin's 
version, this tool
-    allows the developer to specify a testing version for the plugin, so any 
reference to the plugin
-    can be unambiguous and avoid accidentally referring to a plugin version 
resolved from outside.
-    
-  * <<ProjectTool>> - This testing tool provides APIs for creating a testable 
plugin jar file,
-    optionally skipping the unit tests for the plugin (after all, it's 
conceivable that the unit 
-    tests themselves may be using these tools).
-    
-  * <<RepositoryTool>> - The RepositoryTool provides methods for assembling 
artifact repositories to
-    support testing. This tool is responsible for assembling the local 
repository that is used 
-    during integration testing - complete with the test version of the plugin 
itself, along with all
-    of the ancestor POMs that are reachable via <<<\<relativePath/\>>>>.
-    
-  * <<BuildTool>> - This tool's purpose is fairly self-explanatory; it is used 
to execute Maven
-    builds. It provides a fairly generic API for running builds, for the 
simple reason that a single
-    test may need to run multiple builds. For normal use cases, it's a good 
idea to wrap the
-    BuildTool API using a standard project-testing method that will 
standardize the options used to
-    run a similar set of test builds.
-    
-  []
diff --git a/maven-plugin-testing-tools/src/site/site.xml 
b/maven-plugin-testing-tools/src/site/site.xml
deleted file mode 100644
index b6412d5..0000000
--- a/maven-plugin-testing-tools/src/site/site.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0";
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-  xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 
http://maven.apache.org/xsd/decoration-1.0.0.xsd";>
-  <body>
-    <menu name="Overview">
-      <item name="Introduction" href="index.html"/>
-      <item name="JavaDocs" href="apidocs/index.html"/>
-      <item name="Source Xref" href="xref/index.html"/>
-      <!--item name="FAQ" href="faq.html"/-->
-    </menu>
-  </body>
-</project>
diff --git 
a/maven-plugin-testing-tools/src/test/java/org/apache/maven/shared/test/plugin/ProjectToolTest.java
 
b/maven-plugin-testing-tools/src/test/java/org/apache/maven/shared/test/plugin/ProjectToolTest.java
deleted file mode 100644
index f7fcb94..0000000
--- 
a/maven-plugin-testing-tools/src/test/java/org/apache/maven/shared/test/plugin/ProjectToolTest.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package org.apache.maven.shared.test.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Collection;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.metadata.ArtifactMetadata;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.artifact.ProjectArtifactMetadata;
-import org.apache.maven.shared.test.plugin.ProjectTool.PomInfo;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
-import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.StringUtils;
-
-/**
- * @version $Id$
- */
-public class ProjectToolTest
-    extends PlexusTestCase
-{
-
-    private File getPom( String test )
-        throws IOException
-    {
-        File src = new File( "src/test/resources/projects/" + test );
-        File dst = new File( "target/unit/projects/" + test );
-
-        FileUtils.copyDirectoryStructureIfModified( src, dst );
-
-        return new File( dst, "pom.xml" );
-    }
-
-    public void testManglePomForTesting_ShouldPopulateOutDirAndFinalName()
-        throws Exception
-    {
-        ProjectTool tool = (ProjectTool) lookup( ProjectTool.ROLE, "default" );
-
-        File pomFile = getPom( "basic" );
-
-        PomInfo info = tool.manglePomForTesting( pomFile, "test", true );
-
-        assertEquals( "target"+File.separatorChar+"it-build-target", 
info.getBuildDirectory() );
-        assertEquals( "maven-it-plugin-test.jar", info.getFinalName() );
-        assertEquals( 
"target"+File.separatorChar+"it-build-target"+File.separatorChar+"classes",info.getBuildOutputDirectory()
 );
-    }
-
-    public void 
testPackageProjectArtifact_ShouldPopulateArtifactFileWithJarLocation()
-        throws Exception
-    {
-        ProjectTool tool = (ProjectTool) lookup( ProjectTool.ROLE, "default" );
-
-        File pomFile = getPom( "basic" );
-
-        MavenProject project = tool.packageProjectArtifact( pomFile, "test", 
true );
-
-        String expectedPath = 
"target/unit/projects/basic/target/it-build-target/maven-it-plugin-test.jar";
-
-        // be nice with windows
-        String actualPath = StringUtils.replace( 
project.getArtifact().getFile().getPath(), "\\", "/" );
-
-        assertEquals( expectedPath, actualPath );
-    }
-
-    public void 
testPackageProjectArtifact_ShouldPopulateWithCorrectArtifactAndMetadata()
-        throws Exception
-    {
-        ProjectTool tool = (ProjectTool) lookup( ProjectTool.ROLE, "default" );
-
-        File pomFile = getPom( "basic" );
-
-        MavenProject project = tool.packageProjectArtifact( pomFile, "test", 
true );
-
-        Artifact artifact = project.getArtifact();
-
-        assertEquals( "maven-plugin", artifact.getType() );
-        assertTrue( "Missing " + artifact.getFile(), 
artifact.getFile().exists() );
-
-        Collection<ArtifactMetadata> metadata = artifact.getMetadataList();
-
-        boolean foundPomMetadata = false;
-
-        for ( ArtifactMetadata metadataItem : metadata )
-        {
-            if ( metadataItem instanceof ProjectArtifactMetadata )
-            {
-                foundPomMetadata = true;
-            }
-        }
-
-        assertTrue( foundPomMetadata );
-    }
-    
-    @Override
-    protected void customizeContainerConfiguration(ContainerConfiguration 
configuration) 
-    {
-        configuration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-        configuration.setAutoWiring( true );      
-    }
-}
diff --git 
a/maven-plugin-testing-tools/src/test/java/org/apache/maven/shared/test/plugin/RepositoryToolTest.java
 
b/maven-plugin-testing-tools/src/test/java/org/apache/maven/shared/test/plugin/RepositoryToolTest.java
deleted file mode 100644
index 85047b2..0000000
--- 
a/maven-plugin-testing-tools/src/test/java/org/apache/maven/shared/test/plugin/RepositoryToolTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.apache.maven.shared.test.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.artifact.ProjectArtifactMetadata;
-import org.apache.maven.shared.tools.easymock.TestFileManager;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
-
-/**
- * @version $Id$
- */
-public class RepositoryToolTest
-    extends PlexusTestCase
-{
-    private TestFileManager fileManager;
-
-    public void setUp()
-        throws Exception
-    {
-        super.setUp();
-
-        fileManager = new TestFileManager( "RepositoryToolTest.", "" );
-    }
-
-    public void tearDown()
-        throws Exception
-    {
-        super.tearDown();
-
-        fileManager.cleanUp();
-    }
-
-    public void testCreateLocalRepositoryFromPlugin_ShouldWriteJarAndPom()
-        throws Exception
-    {
-        RepositoryTool repoTool = (RepositoryTool) lookup( 
RepositoryTool.ROLE, "default" );
-
-        File tempDir = fileManager.createTempDir();
-
-        String pomContent = 
"<project><modelVersion>4.0.0</modelVersion></project>";
-        String jarContent = "This is a test";
-
-        File pom = fileManager.createFile( tempDir, "pom.xml", pomContent );
-        File jar = fileManager.createFile( tempDir, "artifact-test.jar", 
jarContent );
-
-        MavenProject pluginProject = new MavenProject();
-
-        ArtifactFactory artifactFactory = (ArtifactFactory) lookup( 
ArtifactFactory.ROLE );
-
-        Artifact pluginArtifact = artifactFactory.createArtifact( "group", 
"artifact", "test", null, "jar" );
-        pluginArtifact.setFile( jar );
-        pluginArtifact.addMetadata( new ProjectArtifactMetadata( 
pluginArtifact, pom ) );
-
-        pluginProject.setArtifact( pluginArtifact );
-        pluginProject.setFile( pom );
-
-        File targetLocalRepoBasedir = fileManager.createTempDir();
-
-        repoTool.createLocalRepositoryFromComponentProject( pluginProject, 
pom, targetLocalRepoBasedir );
-
-        fileManager.assertFileExistence( targetLocalRepoBasedir, 
"group/artifact/test/artifact-test.pom", true );
-        fileManager.assertFileContents( targetLocalRepoBasedir, 
"group/artifact/test/artifact-test.jar", jarContent );
-
-    }
-    
-    @Override
-    protected void customizeContainerConfiguration(ContainerConfiguration 
configuration) 
-    {
-        configuration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-        configuration.setAutoWiring( true );      
-    }    
-}
diff --git 
a/maven-plugin-testing-tools/src/test/resources/projects/basic/pom.xml 
b/maven-plugin-testing-tools/src/test/resources/projects/basic/pom.xml
deleted file mode 100644
index 6ebda69..0000000
--- a/maven-plugin-testing-tools/src/test/resources/projects/basic/pom.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.plugins</groupId>
-  <artifactId>maven-it-plugin</artifactId>
-  <version>2.0-SNAPSHOT</version>
-  <packaging>maven-plugin</packaging>
-
-  <name>Maven IT Plugin</name>
-  
-  <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.8.0</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-plugin-api</artifactId>
-      <version>2.0</version>
-    </dependency>
-  </dependencies>
-</project>
diff --git 
a/maven-plugin-testing-tools/src/test/resources/projects/basic/src/main/java/ItMojo.java
 
b/maven-plugin-testing-tools/src/test/resources/projects/basic/src/main/java/ItMojo.java
deleted file mode 100644
index 38bc49f..0000000
--- 
a/maven-plugin-testing-tools/src/test/resources/projects/basic/src/main/java/ItMojo.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.plugin.*;
-
-/**
- * @goal it
- */
-public class ItMojo
-    extends AbstractMojo
-{
-
-    public void execute()
-    {
-    }
-
-}
diff --git a/maven-test-tools/pom.xml b/maven-test-tools/pom.xml
index 798fc17..a33ff82 100644
--- a/maven-test-tools/pom.xml
+++ b/maven-test-tools/pom.xml
@@ -25,7 +25,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven.plugin-testing</groupId>
     <artifactId>maven-plugin-testing</artifactId>
-    <version>3.3.1-SNAPSHOT</version>
+    <version>3.4.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>maven-test-tools</artifactId>
diff --git a/pom.xml b/pom.xml
index 9797c5e..290edb0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,7 @@ under the License.
 
   <groupId>org.apache.maven.plugin-testing</groupId>
   <artifactId>maven-plugin-testing</artifactId>
-  <version>3.3.1-SNAPSHOT</version>
+  <version>3.4.0-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <name>Maven Plugin Testing</name>
@@ -119,7 +119,6 @@ under the License.
 
   <modules>
     <module>maven-plugin-testing-harness</module>
-    <module>maven-plugin-testing-tools</module>
     <module>maven-test-tools</module>
   </modules>
 

Reply via email to