You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2019/08/31 09:38:37 UTC

[maven-plugin-testing] branch MPLUGINTESTING-61 created (now 0a41fcc)

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

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


      at 0a41fcc  [MPLUGINTESTING-61] Require Java 7

This branch includes the following new commits:

     new 550fd53  [MPLUGINTESTING-65] Remove deprecated maven-plugin-testing-tools module
     new f9b3823  [MPLUGINTESTING-65] Remove deprecated maven-test-tools module
     new 0a41fcc  [MPLUGINTESTING-61] Require Java 7

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[maven-plugin-testing] 02/03: [MPLUGINTESTING-65] Remove deprecated maven-test-tools module

Posted by rf...@apache.org.
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 f9b38234b4d972ad104a5ea56b54a5de17a12cbf
Author: rfscholte <rf...@apache.org>
AuthorDate: Sat Aug 31 11:31:08 2019 +0200

    [MPLUGINTESTING-65] Remove deprecated maven-test-tools module
---
 maven-test-tools/pom.xml                           |  49 ----
 .../maven/shared/tools/easymock/MockManager.java   |  75 -----
 .../shared/tools/easymock/TestFileManager.java     | 306 ---------------------
 .../maven/shared/tools/easymock/TestUtils.java     | 104 -------
 .../maven/shared/tools/test/ReflectiveSetter.java  | 168 -----------
 maven-test-tools/src/site/apt/index.apt            |  32 ---
 maven-test-tools/src/site/site.xml                 |  33 ---
 pom.xml                                            |   2 +-
 8 files changed, 1 insertion(+), 768 deletions(-)

diff --git a/maven-test-tools/pom.xml b/maven-test-tools/pom.xml
deleted file mode 100644
index a33ff82..0000000
--- a/maven-test-tools/pom.xml
+++ /dev/null
@@ -1,49 +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.4.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>maven-test-tools</artifactId>
-  <name>Maven Testing Tools</name>
-
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymock</artifactId>
-      <version>3.2</version>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-utils</artifactId>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/maven-test-tools/src/main/java/org/apache/maven/shared/tools/easymock/MockManager.java b/maven-test-tools/src/main/java/org/apache/maven/shared/tools/easymock/MockManager.java
deleted file mode 100644
index 52fccaa..0000000
--- a/maven-test-tools/src/main/java/org/apache/maven/shared/tools/easymock/MockManager.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.apache.maven.shared.tools.easymock;
-
-/*
- * 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.util.ArrayList;
-import java.util.List;
-
-import org.easymock.IMocksControl;
-
-/**
- * Manager of IMocksControl
- *
- * @version $Id$
- * @see IMocksControl
- */
-@Deprecated
-public class MockManager
-{
-    private List<IMocksControl> mockControls = new ArrayList<IMocksControl>();
-
-    /**
-     * @param control to be add to the manager
-     */
-    public void add( IMocksControl control )
-    {
-        mockControls.add( control );
-    }
-
-    /**
-     * Clear all controls from the manager
-     */
-    public void clear()
-    {
-        mockControls.clear();
-    }
-
-    /**
-     * @see MockControl#replay()
-     */
-    public void replayAll()
-    {
-        for ( IMocksControl control : mockControls )
-        {
-            control.replay();
-        }
-    }
-
-    /**
-     * @see MockControl#verify()
-     */
-    public void verifyAll()
-    {
-        for ( IMocksControl control : mockControls )
-        {
-            control.verify();
-        }
-    }
-}
diff --git a/maven-test-tools/src/main/java/org/apache/maven/shared/tools/easymock/TestFileManager.java b/maven-test-tools/src/main/java/org/apache/maven/shared/tools/easymock/TestFileManager.java
deleted file mode 100644
index b1a3ab9..0000000
--- a/maven-test-tools/src/main/java/org/apache/maven/shared/tools/easymock/TestFileManager.java
+++ /dev/null
@@ -1,306 +0,0 @@
-package org.apache.maven.shared.tools.easymock;
-
-/*
- * 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.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import junit.framework.Assert;
-
-import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.IOUtil;
-
-/**
- * @version $Id$
- */
-@Deprecated
-public class TestFileManager
-{
-    /** Temp dir from "java.io.tmpdir" property */
-    public static final String TEMP_DIR_PATH = System.getProperty( "java.io.tmpdir" );
-
-    private List<File> filesToDelete = new ArrayList<File>();
-
-    private final String baseFilename;
-
-    private final String fileSuffix;
-
-    private StackTraceElement callerInfo;
-
-    private Thread cleanupWarning;
-
-    private boolean warnAboutCleanup = false;
-
-    /**
-     * Default constructor
-     *
-     * @param baseFilename
-     * @param fileSuffix
-     */
-    public TestFileManager( String baseFilename, String fileSuffix )
-    {
-        this.baseFilename = baseFilename;
-        this.fileSuffix = fileSuffix;
-
-        initializeCleanupMonitoring();
-    }
-
-    private void initializeCleanupMonitoring()
-    {
-        callerInfo = new NullPointerException().getStackTrace()[2];
-
-        Runnable warning = new Runnable()
-        {
-            /** {@inheritDoc} */
-            public void run()
-            {
-                maybeWarnAboutCleanUp();
-            }
-
-        };
-
-        cleanupWarning = new Thread( warning );
-
-        Runtime.getRuntime().addShutdownHook( cleanupWarning );
-    }
-
-    protected void maybeWarnAboutCleanUp()
-    {
-        if ( warnAboutCleanup )
-        {
-            System.out.println( "[WARNING] TestFileManager from: " + callerInfo.getClassName() + " not cleaned up!" );
-        }
-    }
-
-    /**
-     * @param toDelete
-     */
-    public void markForDeletion( File toDelete )
-    {
-        filesToDelete.add( toDelete );
-        warnAboutCleanup = true;
-    }
-
-    /**
-     * @return a temp dir
-     */
-    public synchronized File createTempDir()
-    {
-        final int sleepDefault = 20;
-
-        try
-        {
-            Thread.sleep( sleepDefault );
-        }
-        catch ( InterruptedException e )
-        {
-            // ignored
-        }
-
-        File dir = new File( TEMP_DIR_PATH, baseFilename + System.currentTimeMillis() );
-
-        dir.mkdirs();
-        markForDeletion( dir );
-
-        return dir;
-    }
-
-    /**
-     * @return a temp file
-     * @throws IOException if any
-     * @todo maybe use {@link FileUtils#createTempFile(String, String, File)}
-     */
-    public synchronized File createTempFile()
-        throws IOException
-    {
-        File tempFile = File.createTempFile( baseFilename, fileSuffix );
-        tempFile.deleteOnExit();
-        markForDeletion( tempFile );
-
-        return tempFile;
-    }
-
-    /**
-     * @throws IOException if any
-     */
-    public void cleanUp()
-        throws IOException
-    {
-        for ( Iterator<File> it = filesToDelete.iterator(); it.hasNext(); )
-        {
-            File file = it.next();
-
-            if ( file.exists() )
-            {
-                if ( file.isDirectory() )
-                {
-                    FileUtils.deleteDirectory( file );
-                }
-                else
-                {
-                    file.delete();
-                }
-            }
-
-            it.remove();
-        }
-
-        warnAboutCleanup = false;
-    }
-
-    /**
-     * @param dir
-     * @param filename
-     * @param shouldExist
-     */
-    public void assertFileExistence( File dir, String filename, boolean shouldExist )
-    {
-        File file = new File( dir, filename );
-
-        if ( shouldExist )
-        {
-            Assert.assertTrue( file.exists() );
-        }
-        else
-        {
-            Assert.assertFalse( file.exists() );
-        }
-    }
-
-    /**
-     * @param dir
-     * @param filename
-     * @param contentsTest
-     * @throws IOException if any
-     */
-    public void assertFileContents( File dir, String filename, String contentsTest )
-        throws IOException
-    {
-        assertFileExistence( dir, filename, true );
-
-        File file = new File( dir, filename );
-
-        FileReader reader = null;
-        StringWriter writer = new StringWriter();
-
-        try
-        {
-            reader = new FileReader( file );
-
-            IOUtil.copy( reader, writer );
-        }
-        finally
-        {
-            IOUtil.close( reader );
-        }
-
-        Assert.assertEquals( contentsTest, writer.toString() );
-    }
-
-    /**
-     * @param dir
-     * @param filename
-     * @param contents
-     * @return
-     * @throws IOException if any
-     */
-    public File createFile( File dir, String filename, String contents )
-        throws IOException
-    {
-        File file = new File( dir, filename );
-
-        file.getParentFile().mkdirs();
-
-        FileWriter writer = null;
-
-        try
-        {
-            writer = new FileWriter( file );
-
-            IOUtil.copy( new StringReader( contents ), writer );
-        }
-        finally
-        {
-            IOUtil.close( writer );
-        }
-
-        markForDeletion( file );
-
-        return file;
-    }
-
-    /**
-     * @param file
-     * @return
-     * @throws IOException if any
-     */
-    public String getFileContents( File file )
-        throws IOException
-    {
-        String result = null;
-
-        FileReader reader = null;
-        try
-        {
-            reader = new FileReader( file );
-
-            StringWriter writer = new StringWriter();
-
-            IOUtil.copy( reader, writer );
-
-            result = writer.toString();
-        }
-        finally
-        {
-            IOUtil.close( reader );
-        }
-
-        return result;
-    }
-
-    /** {@inheritDoc} */
-    protected void finalize()
-        throws Throwable
-    {
-        maybeWarnAboutCleanUp();
-
-        super.finalize();
-    }
-
-    /**
-     * @param filename
-     * @param content
-     * @return
-     * @throws IOException if any
-     */
-    public File createFile( String filename, String content )
-        throws IOException
-    {
-        File dir = createTempDir();
-        return createFile( dir, filename, content );
-    }
-}
diff --git a/maven-test-tools/src/main/java/org/apache/maven/shared/tools/easymock/TestUtils.java b/maven-test-tools/src/main/java/org/apache/maven/shared/tools/easymock/TestUtils.java
deleted file mode 100644
index 08de619..0000000
--- a/maven-test-tools/src/main/java/org/apache/maven/shared/tools/easymock/TestUtils.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.apache.maven.shared.tools.easymock;
-
-/*
- * 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.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.codehaus.plexus.util.IOUtil;
-
-/**
- * @version $Id$
- */
-@Deprecated
-public final class TestUtils
-{
-    private TestUtils()
-    {
-        //nop
-    }
-
-    /**
-     * @param file
-     * @param testStr
-     * @throws IOException if any
-     */
-    public static void writeToFile( File file, String testStr )
-        throws IOException
-    {
-        FileWriter fw = null;
-        try
-        {
-            fw = new FileWriter( file );
-            fw.write( testStr );
-        }
-        finally
-        {
-            IOUtil.close( fw );
-        }
-    }
-
-    /**
-     * @param file
-     * @return
-     * @throws IOException if any
-     * @todo maybe used {@link IOUtil#toString(java.io.Reader)}
-     */
-    public static String readFile( File file )
-        throws IOException
-    {
-        StringBuffer buffer = new StringBuffer();
-
-        BufferedReader reader = new BufferedReader( new FileReader( file ) );
-
-        String line = null;
-
-        while ( ( line = reader.readLine() ) != null )
-        {
-            if ( buffer.length() > 0 )
-            {
-                buffer.append( '\n' );
-            }
-
-            buffer.append( line );
-        }
-
-        return buffer.toString();
-    }
-
-    /**
-     * @param error
-     * @return
-     */
-    public static String toString( Throwable error )
-    {
-        StringWriter sw = new StringWriter();
-        PrintWriter pw = new PrintWriter( sw );
-
-        error.printStackTrace( pw );
-
-        return sw.toString();
-    }
-}
diff --git a/maven-test-tools/src/main/java/org/apache/maven/shared/tools/test/ReflectiveSetter.java b/maven-test-tools/src/main/java/org/apache/maven/shared/tools/test/ReflectiveSetter.java
deleted file mode 100644
index 9c7ae4b..0000000
--- a/maven-test-tools/src/main/java/org/apache/maven/shared/tools/test/ReflectiveSetter.java
+++ /dev/null
@@ -1,168 +0,0 @@
-package org.apache.maven.shared.tools.test;
-
-/*
- * 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.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.codehaus.plexus.util.ReflectionUtils;
-import org.codehaus.plexus.util.StringUtils;
-
-/**
- * @version $Id$
- */
-public class ReflectiveSetter
-{
-    private Map<String, Setter> cachedPropertySetters = new HashMap<String, Setter>();
-
-    private final Class<?> targetClass;
-
-    /**
-     * @param targetClass
-     */
-    public ReflectiveSetter( Class<?> targetClass )
-    {
-        this.targetClass = targetClass;
-    }
-
-    /**
-     * @param propertyName
-     * @param value
-     * @param target
-     * @throws Throwable
-     */
-    public void setProperty( String propertyName, Object value, Object target )
-        throws Throwable
-    {
-
-        String preferredMethodName = "set" + StringUtils.capitalizeFirstLetter( propertyName );
-
-        Setter setter = null;
-
-        Method method = ReflectionUtils.getSetter( preferredMethodName, targetClass );
-
-        if ( method != null )
-        {
-            setter = new MethodSetter( propertyName, method );
-        }
-        else
-        {
-            Field field = ReflectionUtils.getFieldByNameIncludingSuperclasses( propertyName, targetClass );
-
-            setter = new FieldSetter( propertyName, field );
-        }
-
-        cachedPropertySetters.put( setter.getProperty(), setter );
-
-        try
-        {
-            setter.set( value, target );
-        }
-        catch ( InvocationTargetException e )
-        {
-            throw e.getTargetException();
-        }
-    }
-
-    private interface Setter
-    {
-        void set( Object value, Object target )
-            throws IllegalArgumentException, IllegalAccessException, InvocationTargetException;
-
-        String getProperty();
-    }
-
-    private static class MethodSetter
-        implements Setter
-    {
-        private Method method;
-
-        private String name;
-
-        MethodSetter( String name, Method method )
-        {
-            this.name = name;
-            this.method = method;
-        }
-
-        /** {@inheritDoc} */
-        public String getProperty()
-        {
-            return name;
-        }
-
-        /** {@inheritDoc} */
-        public void set( Object value, Object target )
-            throws IllegalArgumentException, IllegalAccessException, InvocationTargetException
-        {
-            boolean wasAccessible = method.isAccessible();
-
-            method.setAccessible( true );
-            try
-            {
-                method.invoke( target, new Object[] { value } );
-            }
-            finally
-            {
-                method.setAccessible( wasAccessible );
-            }
-        }
-    }
-
-    private static class FieldSetter
-        implements Setter
-    {
-        private Field field;
-
-        private String name;
-
-        FieldSetter( String name, Field field )
-        {
-            this.name = name;
-            this.field = field;
-        }
-
-        /** {@inheritDoc} */
-        public String getProperty()
-        {
-            return name;
-        }
-
-        /** {@inheritDoc} */
-        public void set( Object value, Object target )
-            throws IllegalArgumentException, IllegalAccessException, InvocationTargetException
-        {
-            boolean wasAccessible = field.isAccessible();
-
-            field.setAccessible( true );
-            try
-            {
-                field.set( target, value );
-            }
-            finally
-            {
-                field.setAccessible( wasAccessible );
-            }
-        }
-    }
-}
diff --git a/maven-test-tools/src/site/apt/index.apt b/maven-test-tools/src/site/apt/index.apt
deleted file mode 100644
index 7cb8af1..0000000
--- a/maven-test-tools/src/site/apt/index.apt
+++ /dev/null
@@ -1,32 +0,0 @@
- ------
- Introduction
- ------
- Vincent Siveton
- ------
- 2008-07-15
- ------
-
-~~ 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 Testing Tools
-
- The Maven Plugin Testing Tools is a framework which encapsulates {{{http://www.easymock.org/}Easymock}} objects to
- provide testing mechanisms.
diff --git a/maven-test-tools/src/site/site.xml b/maven-test-tools/src/site/site.xml
deleted file mode 100644
index b6412d5..0000000
--- a/maven-test-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/pom.xml b/pom.xml
index 290edb0..98c032d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -117,9 +117,9 @@ under the License.
     <maven>3.1.1</maven>
   </prerequisites>
 
+  <!-- this project used to be a multimodule project. For easy of history comparison structure is kept -->
   <modules>
     <module>maven-plugin-testing-harness</module>
-    <module>maven-test-tools</module>
   </modules>
 
   <scm>


[maven-plugin-testing] 03/03: [MPLUGINTESTING-61] Require Java 7

Posted by rf...@apache.org.
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 0a41fccea84a6a3a5dbb25127744492e0ce52dda
Author: rfscholte <rf...@apache.org>
AuthorDate: Sat Aug 31 11:38:22 2019 +0200

    [MPLUGINTESTING-61] Require Java 7
---
 .../maven/plugin/testing/AbstractMojoTestCase.java |  24 ++--
 .../maven/plugin/testing/ArtifactStubFactory.java  |  17 ++-
 .../plugin/testing/ConfigurationException.java     |   1 -
 .../org/apache/maven/plugin/testing/MojoRule.java  |   1 -
 .../testing/ResolverExpressionEvaluatorStub.java   |   3 +-
 .../org/apache/maven/plugin/testing/SilentLog.java |  32 ++++-
 .../plugin/testing/resources/TestResources.java    |   4 +-
 .../maven/plugin/testing/stubs/ArtifactStub.java   |  48 ++++++-
 .../testing/stubs/DefaultArtifactHandlerStub.java  |   8 +-
 .../plugin/testing/stubs/MavenProjectStub.java     | 149 ++++++++++++++++++++-
 .../testing/stubs/StubArtifactCollector.java       |   5 +-
 .../testing/stubs/StubArtifactRepository.java      |  31 ++++-
 .../plugin/testing/stubs/StubArtifactResolver.java |  11 +-
 .../plugin/testing/ExpressionEvaluatorMojo.java    |   2 +-
 .../plugin/testing/ExpressionEvaluatorTest.java    |   2 +-
 .../apache/maven/plugin/testing/MojoRuleTest.java  |  11 +-
 .../maven/plugin/testing/MojoTestCaseTest.java     |   2 +-
 .../maven/plugin/testing/ParametersMojo.java       |   1 +
 .../apache/maven/plugin/testing/SimpleMojo.java    |   2 +-
 pom.xml                                            |  27 +---
 20 files changed, 305 insertions(+), 76 deletions(-)

diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/AbstractMojoTestCase.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/AbstractMojoTestCase.java
index 80058bb..a64fd1c 100644
--- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/AbstractMojoTestCase.java
+++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/AbstractMojoTestCase.java
@@ -73,7 +73,6 @@ import org.codehaus.plexus.component.repository.ComponentDescriptor;
 import org.codehaus.plexus.configuration.PlexusConfiguration;
 import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
 import org.codehaus.plexus.logging.LoggerManager;
-import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.InterpolationFilterReader;
 import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.ReflectionUtils;
@@ -94,7 +93,6 @@ import com.google.inject.Module;
  * descriptor and make this entirely declarative!
  *
  * @author jesse
- * @version $Id$
  */
 public abstract class AbstractMojoTestCase
     extends PlexusTestCase
@@ -105,8 +103,8 @@ public abstract class AbstractMojoTestCase
     {
         DefaultArtifactVersion version = null;
         String path = "/META-INF/maven/org.apache.maven/maven-core/pom.properties";
-        InputStream is = AbstractMojoTestCase.class.getResourceAsStream( path );
-        try
+        
+        try ( InputStream is = AbstractMojoTestCase.class.getResourceAsStream( path ) )
         {
             Properties properties = new Properties();
             if ( is != null )
@@ -123,10 +121,6 @@ public abstract class AbstractMojoTestCase
         {
             // odd, where did this come from
         }
-        finally
-        {
-            IOUtil.close( is );
-        }
         MAVEN_VERSION = version;
     }
 
@@ -142,7 +136,7 @@ public abstract class AbstractMojoTestCase
      * to either the project stub or into the mojo directly with injection...not sure yet though.
      */
     //private MavenProjectBuilder projectBuilder;
-
+    @Override
     protected void setUp()
         throws Exception
     {
@@ -174,7 +168,7 @@ public abstract class AbstractMojoTestCase
             getContainer().addComponentDescriptor( desc );
         }
 
-        mojoDescriptors = new HashMap<String, MojoDescriptor>();
+        mojoDescriptors = new HashMap<>();
         for ( MojoDescriptor mojoDescriptor : pluginDescriptor.getMojos() )
         {
             mojoDescriptors.put( mojoDescriptor.getGoal(), mojoDescriptor );
@@ -254,12 +248,13 @@ public abstract class AbstractMojoTestCase
         return "META-INF/maven/plugin.xml";
     }
 
+    @Override
     protected void setupContainer()
     {
         ContainerConfiguration cc = setupContainerConfiguration();
         try
         {
-            List<Module> modules = new ArrayList<Module>();
+            List<Module> modules = new ArrayList<>();
             addGuiceModules( modules );
             container = new DefaultPlexusContainer( cc, modules.toArray( new Module[modules.size()] ) );
         }
@@ -291,6 +286,7 @@ public abstract class AbstractMojoTestCase
         return cc;
     }
     
+    @Override
     protected PlexusContainer getContainer()
     {
         if ( container == null )
@@ -407,9 +403,9 @@ public abstract class AbstractMojoTestCase
 
         // pluginkey = groupId : artifactId : version : goal
 
-        Mojo mojo = (Mojo) lookup( Mojo.ROLE, groupId + ":" + artifactId + ":" + version + ":" + goal );
+        Mojo mojo = lookup( Mojo.class, groupId + ":" + artifactId + ":" + version + ":" + goal );
 
-        LoggerManager loggerManager = (LoggerManager) getContainer().lookup( LoggerManager.class );
+        LoggerManager loggerManager = getContainer().lookup( LoggerManager.class );
         
         Log mojoLogger = new DefaultLog( loggerManager.getLoggerForComponent( Mojo.ROLE ) );
 
@@ -722,7 +718,7 @@ public abstract class AbstractMojoTestCase
     protected Map<String, Object> getVariablesAndValuesFromObject( Class<?> clazz, Object object )
         throws IllegalAccessException
     {
-        Map<String, Object> map = new HashMap<String, Object>();
+        Map<String, Object> map = new HashMap<>();
 
         Field[] fields = clazz.getDeclaredFields();
 
diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/ArtifactStubFactory.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/ArtifactStubFactory.java
index 11889c5..73bc8ee 100644
--- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/ArtifactStubFactory.java
+++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/ArtifactStubFactory.java
@@ -47,7 +47,6 @@ import org.codehaus.plexus.util.StringUtils;
  * plugins that need to simulate artifacts for unit tests.
  *
  * @author <a href="mailto:brianf@apache.org">Brian Fox</a>
- * @version $Id$
  */
 public class ArtifactStubFactory
 {
@@ -352,7 +351,7 @@ public class ArtifactStubFactory
     public Set<Artifact> getReleaseAndSnapshotArtifacts()
         throws IOException
     {
-        Set<Artifact> set = new HashSet<Artifact>();
+        Set<Artifact> set = new HashSet<>();
         set.add( getReleaseArtifact() );
         set.add( getSnapshotArtifact() );
         return set;
@@ -366,7 +365,7 @@ public class ArtifactStubFactory
     public Set<Artifact> getScopedArtifacts()
         throws IOException
     {
-        Set<Artifact> set = new HashSet<Artifact>();
+        Set<Artifact> set = new HashSet<>();
         set.add( createArtifact( "g", "compile", "1.0", Artifact.SCOPE_COMPILE ) );
         set.add( createArtifact( "g", "provided", "1.0", Artifact.SCOPE_PROVIDED ) );
         set.add( createArtifact( "g", "test", "1.0", Artifact.SCOPE_TEST ) );
@@ -383,7 +382,7 @@ public class ArtifactStubFactory
     public Set<Artifact> getTypedArtifacts()
         throws IOException
     {
-        Set<Artifact> set = new HashSet<Artifact>();
+        Set<Artifact> set = new HashSet<>();
         set.add( createArtifact( "g", "a", "1.0", Artifact.SCOPE_COMPILE, "war", null ) );
         set.add( createArtifact( "g", "b", "1.0", Artifact.SCOPE_COMPILE, "jar", null ) );
         set.add( createArtifact( "g", "c", "1.0", Artifact.SCOPE_COMPILE, "sources", null ) );
@@ -400,7 +399,7 @@ public class ArtifactStubFactory
     public Set<Artifact> getClassifiedArtifacts()
         throws IOException
     {
-        Set<Artifact> set = new HashSet<Artifact>();
+        Set<Artifact> set = new HashSet<>();
         set.add( createArtifact( "g", "a", "1.0", Artifact.SCOPE_COMPILE, "jar", "one" ) );
         set.add( createArtifact( "g", "b", "1.0", Artifact.SCOPE_COMPILE, "jar", "two" ) );
         set.add( createArtifact( "g", "c", "1.0", Artifact.SCOPE_COMPILE, "jar", "three" ) );
@@ -416,7 +415,7 @@ public class ArtifactStubFactory
     public Set<Artifact> getTypedArchiveArtifacts()
         throws IOException
     {
-        Set<Artifact> set = new HashSet<Artifact>();
+        Set<Artifact> set = new HashSet<>();
         set.add( createArtifact( "g", "a", "1.0", Artifact.SCOPE_COMPILE, "war", null ) );
         set.add( createArtifact( "g", "b", "1.0", Artifact.SCOPE_COMPILE, "jar", null ) );
         set.add( createArtifact( "g", "d", "1.0", Artifact.SCOPE_COMPILE, "zip", null ) );
@@ -432,7 +431,7 @@ public class ArtifactStubFactory
     public Set<Artifact> getArtifactArtifacts()
         throws IOException
     {
-        Set<Artifact> set = new HashSet<Artifact>();
+        Set<Artifact> set = new HashSet<>();
         set.add( createArtifact( "g", "one", "1.0", Artifact.SCOPE_COMPILE, "jar", "a" ) );
         set.add( createArtifact( "g", "two", "1.0", Artifact.SCOPE_COMPILE, "jar", "a" ) );
         set.add( createArtifact( "g", "three", "1.0", Artifact.SCOPE_COMPILE, "jar", "a" ) );
@@ -449,7 +448,7 @@ public class ArtifactStubFactory
     public Set<Artifact> getGroupIdArtifacts()
         throws IOException
     {
-        Set<Artifact> set = new HashSet<Artifact>();
+        Set<Artifact> set = new HashSet<>();
         set.add( createArtifact( "one", "group-one", "1.0", Artifact.SCOPE_COMPILE, "jar", "a" ) );
         set.add( createArtifact( "two", "group-two", "1.0", Artifact.SCOPE_COMPILE, "jar", "a" ) );
         set.add( createArtifact( "three", "group-three", "1.0", Artifact.SCOPE_COMPILE, "jar", "a" ) );
@@ -467,7 +466,7 @@ public class ArtifactStubFactory
     public Set<Artifact> getMixedArtifacts()
         throws IOException
     {
-        Set<Artifact> set = new HashSet<Artifact>();
+        Set<Artifact> set = new HashSet<>();
         set.addAll( getTypedArtifacts() );
         set.addAll( getScopedArtifacts() );
         set.addAll( getReleaseAndSnapshotArtifacts() );
diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/ConfigurationException.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/ConfigurationException.java
index 3b85c8f..6b9c11f 100644
--- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/ConfigurationException.java
+++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/ConfigurationException.java
@@ -23,7 +23,6 @@ package org.apache.maven.plugin.testing;
  * ConfigurationException
  *
  * @author jesse
- * @version $Id$
  */
 public class ConfigurationException
     extends Exception
diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/MojoRule.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/MojoRule.java
index 0bd68fd..f335ffe 100644
--- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/MojoRule.java
+++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/MojoRule.java
@@ -54,7 +54,6 @@ import org.junit.runners.model.Statement;
  * {@link WithoutMojo} to prevent the rule from firing.
  *
  * @author Mirko Friedenhagen
- * @version $Id$
  * @since 2.2
  */
 public class MojoRule
diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/ResolverExpressionEvaluatorStub.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/ResolverExpressionEvaluatorStub.java
index a6ecabd..5192d4b 100644
--- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/ResolverExpressionEvaluatorStub.java
+++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/ResolverExpressionEvaluatorStub.java
@@ -31,12 +31,12 @@ import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
  * Stub for {@link ExpressionEvaluator}
  *
  * @author jesse
- * @version $Id$
  */
 public class ResolverExpressionEvaluatorStub
     implements ExpressionEvaluator
 {
     /** {@inheritDoc} */
+    @Override
     public Object evaluate( String expr )
         throws ExpressionEvaluationException
     {
@@ -122,6 +122,7 @@ public class ResolverExpressionEvaluatorStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public File alignToBaseDirectory( File file )
     {
         if ( file.getAbsolutePath().startsWith( PlexusTestCase.getBasedir() ) )
diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/SilentLog.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/SilentLog.java
index a5721fa..a44120a 100644
--- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/SilentLog.java
+++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/SilentLog.java
@@ -27,7 +27,6 @@ import org.codehaus.plexus.logging.Logger;
  * to turn off logs during testing where they aren't desired.
  *
  * @author <a href="mailto:brianf@apache.org">Brian Fox</a>
- * @version $Id$
  */
 public class SilentLog
     implements Log, Logger
@@ -36,6 +35,7 @@ public class SilentLog
      * @return <code>false</code>
      * @see org.apache.maven.plugin.logging.Log#isDebugEnabled()
      */
+    @Override
     public boolean isDebugEnabled()
     {
         return false;
@@ -46,6 +46,7 @@ public class SilentLog
      *
      * @see org.apache.maven.plugin.logging.Log#debug(java.lang.CharSequence)
      */
+    @Override
     public void debug( CharSequence content )
     {
         // nop
@@ -56,6 +57,7 @@ public class SilentLog
      *
      * @see org.apache.maven.plugin.logging.Log#debug(java.lang.CharSequence, java.lang.Throwable)
      */
+    @Override
     public void debug( CharSequence content, Throwable error )
     {
         // nop
@@ -66,6 +68,7 @@ public class SilentLog
      *
      * @see org.apache.maven.plugin.logging.Log#debug(java.lang.Throwable)
      */
+    @Override
     public void debug( Throwable error )
     {
         // nop
@@ -75,6 +78,7 @@ public class SilentLog
      * @return <code>false</code>
      * @see org.apache.maven.plugin.logging.Log#isInfoEnabled()
      */
+    @Override
     public boolean isInfoEnabled()
     {
         return false;
@@ -85,6 +89,7 @@ public class SilentLog
      *
      * @see org.apache.maven.plugin.logging.Log#info(java.lang.CharSequence)
      */
+    @Override
     public void info( CharSequence content )
     {
         // nop
@@ -95,6 +100,7 @@ public class SilentLog
      *
      * @see org.apache.maven.plugin.logging.Log#info(java.lang.CharSequence, java.lang.Throwable)
      */
+    @Override
     public void info( CharSequence content, Throwable error )
     {
         // nop
@@ -105,6 +111,7 @@ public class SilentLog
      *
      * @see org.apache.maven.plugin.logging.Log#info(java.lang.Throwable)
      */
+    @Override
     public void info( Throwable error )
     {
         // nop
@@ -115,6 +122,7 @@ public class SilentLog
      *
      * @see org.apache.maven.plugin.logging.Log#isWarnEnabled()
      */
+    @Override
     public boolean isWarnEnabled()
     {
         // nop
@@ -126,6 +134,7 @@ public class SilentLog
      *
      * @see org.apache.maven.plugin.logging.Log#warn(java.lang.CharSequence)
      */
+    @Override
     public void warn( CharSequence content )
     {
         // nop
@@ -136,6 +145,7 @@ public class SilentLog
      *
      * @see org.apache.maven.plugin.logging.Log#warn(java.lang.CharSequence, java.lang.Throwable)
      */
+    @Override
     public void warn( CharSequence content, Throwable error )
     {
         // nop
@@ -146,6 +156,7 @@ public class SilentLog
      *
      * @see org.apache.maven.plugin.logging.Log#warn(java.lang.Throwable)
      */
+    @Override
     public void warn( Throwable error )
     {
         // nop
@@ -155,6 +166,7 @@ public class SilentLog
      * @return <code>false</code>
      * @see org.apache.maven.plugin.logging.Log#isErrorEnabled()
      */
+    @Override
     public boolean isErrorEnabled()
     {
         return false;
@@ -165,6 +177,7 @@ public class SilentLog
      *
      * @see org.apache.maven.plugin.logging.Log#error(java.lang.CharSequence)
      */
+    @Override
     public void error( CharSequence content )
     {
         // nop
@@ -175,6 +188,7 @@ public class SilentLog
      *
      * @see org.apache.maven.plugin.logging.Log#error(java.lang.CharSequence, java.lang.Throwable)
      */
+    @Override
     public void error( CharSequence content, Throwable error )
     {
         // nop
@@ -185,6 +199,7 @@ public class SilentLog
      *
      * @see org.apache.maven.plugin.logging.Log#error(java.lang.Throwable)
      */
+    @Override
     public void error( Throwable error )
     {
         // nop
@@ -195,6 +210,7 @@ public class SilentLog
      *
      * @see org.codehaus.plexus.logging.Logger#debug(java.lang.String)
      */
+    @Override
     public void debug( String message )
     {
         // nop
@@ -205,6 +221,7 @@ public class SilentLog
      *
      * @see org.codehaus.plexus.logging.Logger#debug(java.lang.String, java.lang.Throwable)
      */
+    @Override
     public void debug( String message, Throwable throwable )
     {
         // nop
@@ -215,6 +232,7 @@ public class SilentLog
      *
      * @see org.codehaus.plexus.logging.Logger#info(java.lang.String)
      */
+    @Override
     public void info( String message )
     {
         // nop
@@ -225,6 +243,7 @@ public class SilentLog
      *
      * @see org.codehaus.plexus.logging.Logger#info(java.lang.String, java.lang.Throwable)
      */
+    @Override
     public void info( String message, Throwable throwable )
     {
         // nop
@@ -235,6 +254,7 @@ public class SilentLog
      *
      * @see org.codehaus.plexus.logging.Logger#warn(java.lang.String)
      */
+    @Override
     public void warn( String message )
     {
         // nop
@@ -245,6 +265,7 @@ public class SilentLog
      *
      * @see org.codehaus.plexus.logging.Logger#warn(java.lang.String, java.lang.Throwable)
      */
+    @Override
     public void warn( String message, Throwable throwable )
     {
         // nop
@@ -255,6 +276,7 @@ public class SilentLog
      *
      * @see org.codehaus.plexus.logging.Logger#error(java.lang.String)
      */
+    @Override
     public void error( String message )
     {
         // nop
@@ -265,6 +287,7 @@ public class SilentLog
      *
      * @see org.codehaus.plexus.logging.Logger#error(java.lang.String, java.lang.Throwable)
      */
+    @Override
     public void error( String message, Throwable throwable )
     {
         // nop
@@ -275,6 +298,7 @@ public class SilentLog
      *
      * @see org.codehaus.plexus.logging.Logger#fatalError(java.lang.String)
      */
+    @Override
     public void fatalError( String message )
     {
         // nop
@@ -285,6 +309,7 @@ public class SilentLog
      *
      * @see org.codehaus.plexus.logging.Logger#fatalError(java.lang.String, java.lang.Throwable)
      */
+    @Override
     public void fatalError( String message, Throwable throwable )
     {
         // nop
@@ -294,6 +319,7 @@ public class SilentLog
      * @return <code>false</code>
      * @see org.codehaus.plexus.logging.Logger#isFatalErrorEnabled()
      */
+    @Override
     public boolean isFatalErrorEnabled()
     {
         return false;
@@ -303,6 +329,7 @@ public class SilentLog
      * @return <code>null</code>
      * @see org.codehaus.plexus.logging.Logger#getChildLogger(java.lang.String)
      */
+    @Override
     public Logger getChildLogger( String name )
     {
         return null;
@@ -312,6 +339,7 @@ public class SilentLog
      * @return <code>0</code>
      * @see org.codehaus.plexus.logging.Logger#getThreshold()
      */
+    @Override
     public int getThreshold()
     {
         return 0;
@@ -321,11 +349,13 @@ public class SilentLog
      * @return <code>null</code>
      * @see org.codehaus.plexus.logging.Logger#getName()
      */
+    @Override
     public String getName()
     {
         return null;
     }
 
+    @Override
     public void setThreshold( int threshold )
     {
         // TODO Auto-generated method stub
diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/resources/TestResources.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/resources/TestResources.java
index 9df14f7..3417e9a 100644
--- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/resources/TestResources.java
+++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/resources/TestResources.java
@@ -116,7 +116,7 @@ public class TestResources
         scanner.addDefaultExcludes();
         scanner.scan();
 
-        Set<String> actual = new TreeSet<String>();
+        Set<String> actual = new TreeSet<>();
         for ( String path : scanner.getIncludedFiles() )
         {
             actual.add( path );
@@ -129,7 +129,7 @@ public class TestResources
             }
         }
 
-        Set<String> expected = new TreeSet<String>();
+        Set<String> expected = new TreeSet<>();
         if ( expectedPaths != null )
         {
             for ( String path : expectedPaths )
diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/ArtifactStub.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/ArtifactStub.java
index ea73318..63f15c5 100644
--- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/ArtifactStub.java
+++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/ArtifactStub.java
@@ -36,7 +36,6 @@ import org.apache.maven.artifact.versioning.VersionRange;
  * Stub class for {@link Artifact} testing.
  *
  * @author jesse
- * @version $Id$
  */
 public class ArtifactStub
     implements Artifact
@@ -62,42 +61,49 @@ public class ArtifactStub
      *
      * @see java.lang.Comparable#compareTo(java.lang.Object)
      */
+    @Override
     public int compareTo( Artifact artifact )
     {
         return 0;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getGroupId()
     {
         return groupId;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getArtifactId()
     {
         return artifactId;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getVersion()
     {
         return version;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setVersion( String version )
     {
         this.version = version;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getScope()
     {
         return scope;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getType()
     {
         return type;
@@ -114,24 +120,28 @@ public class ArtifactStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getClassifier()
     {
         return classifier;
     }
 
     /** {@inheritDoc} */
+    @Override
     public boolean hasClassifier()
     {
         return classifier != null;
     }
 
     /** {@inheritDoc} */
+    @Override
     public File getFile()
     {
         return file;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setFile( File file )
     {
         this.file = file;
@@ -141,6 +151,7 @@ public class ArtifactStub
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.Artifact#getBaseVersion()
      */
+    @Override
     public String getBaseVersion()
     {
         return null;
@@ -151,6 +162,7 @@ public class ArtifactStub
      *
      * @see org.apache.maven.artifact.Artifact#setBaseVersion(java.lang.String)
      */
+    @Override
     public void setBaseVersion( String string )
     {
         // nop
@@ -160,6 +172,7 @@ public class ArtifactStub
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.Artifact#getId()
      */
+    @Override
     public String getId()
     {
         return null;
@@ -169,6 +182,7 @@ public class ArtifactStub
      * @return <code>groupId:artifactId:type:classifier</code>.
      * @see org.apache.maven.artifact.Artifact#getDependencyConflictId()
      */
+    @Override
     public String getDependencyConflictId()
     {
         StringBuffer buffer = new StringBuffer();
@@ -186,6 +200,7 @@ public class ArtifactStub
      *
      * @see org.apache.maven.artifact.Artifact#addMetadata(org.apache.maven.artifact.metadata.ArtifactMetadata)
      */
+    @Override
     public void addMetadata( ArtifactMetadata artifactMetadata )
     {
         // nop
@@ -195,18 +210,21 @@ public class ArtifactStub
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.Artifact#getMetadataList()
      */
+    @Override
     public Collection<ArtifactMetadata> getMetadataList()
     {
         return null;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setRepository( ArtifactRepository artifactRepository )
     {
         this.artifactRepository = artifactRepository;
     }
 
     /** {@inheritDoc} */
+    @Override
     public ArtifactRepository getRepository()
     {
         return artifactRepository;
@@ -217,6 +235,7 @@ public class ArtifactStub
      *
      * @see org.apache.maven.artifact.Artifact#updateVersion(java.lang.String, org.apache.maven.artifact.repository.ArtifactRepository)
      */
+    @Override
     public void updateVersion( String string, ArtifactRepository artifactRepository )
     {
         // nop
@@ -226,6 +245,7 @@ public class ArtifactStub
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.Artifact#getDownloadUrl()
      */
+    @Override
     public String getDownloadUrl()
     {
         return null;
@@ -236,6 +256,7 @@ public class ArtifactStub
      *
      * @see org.apache.maven.artifact.Artifact#setDownloadUrl(java.lang.String)
      */
+    @Override
     public void setDownloadUrl( String string )
     {
         // nop
@@ -245,6 +266,7 @@ public class ArtifactStub
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.Artifact#getDependencyFilter()
      */
+    @Override
     public ArtifactFilter getDependencyFilter()
     {
         return null;
@@ -255,6 +277,7 @@ public class ArtifactStub
      *
      * @see org.apache.maven.artifact.Artifact#setDependencyFilter(org.apache.maven.artifact.resolver.filter.ArtifactFilter)
      */
+    @Override
     public void setDependencyFilter( ArtifactFilter artifactFilter )
     {
         // nop
@@ -264,6 +287,7 @@ public class ArtifactStub
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.Artifact#getArtifactHandler()
      */
+    @Override
     public ArtifactHandler getArtifactHandler()
     {
         return null;
@@ -273,6 +297,7 @@ public class ArtifactStub
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.Artifact#getDependencyTrail()
      */
+    @Override
     public List<String> getDependencyTrail()
     {
         return null;
@@ -283,12 +308,14 @@ public class ArtifactStub
      *
      * @see org.apache.maven.artifact.Artifact#setDependencyTrail(java.util.List)
      */
+    @Override
     public void setDependencyTrail( List<String> list )
     {
         // nop
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setScope( String scope )
     {
         this.scope = scope;
@@ -298,6 +325,7 @@ public class ArtifactStub
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.Artifact#getVersionRange()
      */
+    @Override
     public VersionRange getVersionRange()
     {
         return null;
@@ -308,6 +336,7 @@ public class ArtifactStub
      *
      * @see org.apache.maven.artifact.Artifact#setVersionRange(org.apache.maven.artifact.versioning.VersionRange)
      */
+    @Override
     public void setVersionRange( VersionRange versionRange )
     {
         // nop
@@ -318,18 +347,21 @@ public class ArtifactStub
      *
      * @see org.apache.maven.artifact.Artifact#selectVersion(java.lang.String)
      */
+    @Override
     public void selectVersion( String string )
     {
         // nop
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setGroupId( String groupId )
     {
         this.groupId = groupId;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setArtifactId( String artifactId )
     {
         this.artifactId = artifactId;
@@ -339,6 +371,7 @@ public class ArtifactStub
      * @return <code>false</code>.
      * @see org.apache.maven.artifact.Artifact#isSnapshot()
      */
+    @Override
     public boolean isSnapshot()
     {
         return Artifact.VERSION_FILE_PATTERN.matcher( getVersion() ).matches()
@@ -350,6 +383,7 @@ public class ArtifactStub
      *
      * @see org.apache.maven.artifact.Artifact#setResolved(boolean)
      */
+    @Override
     public void setResolved( boolean b )
     {
         // nop
@@ -359,6 +393,7 @@ public class ArtifactStub
      * @return <code>false</code>.
      * @see org.apache.maven.artifact.Artifact#isResolved()
      */
+    @Override
     public boolean isResolved()
     {
         return false;
@@ -369,6 +404,7 @@ public class ArtifactStub
      *
      * @see org.apache.maven.artifact.Artifact#setResolvedVersion(java.lang.String)
      */
+    @Override
     public void setResolvedVersion( String string )
     {
         // nop
@@ -379,6 +415,7 @@ public class ArtifactStub
      *
      * @see org.apache.maven.artifact.Artifact#setArtifactHandler(org.apache.maven.artifact.handler.ArtifactHandler)
      */
+    @Override
     public void setArtifactHandler( ArtifactHandler artifactHandler )
     {
         // nop
@@ -388,6 +425,7 @@ public class ArtifactStub
      * @return <code>false</code>.
      * @see org.apache.maven.artifact.Artifact#isRelease()
      */
+    @Override
     public boolean isRelease()
     {
         return !isSnapshot();
@@ -398,6 +436,7 @@ public class ArtifactStub
      *
      * @see org.apache.maven.artifact.Artifact#setRelease(boolean)
      */
+    @Override
     public void setRelease( boolean b )
     {
         // nop
@@ -407,6 +446,7 @@ public class ArtifactStub
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.Artifact#getAvailableVersions()
      */
+    @Override
     public List<ArtifactVersion> getAvailableVersions()
     {
         return null;
@@ -417,6 +457,7 @@ public class ArtifactStub
      *
      * @see org.apache.maven.artifact.Artifact#setAvailableVersions(java.util.List)
      */
+    @Override
     public void setAvailableVersions( List<ArtifactVersion> list )
     {
         // nop
@@ -426,6 +467,7 @@ public class ArtifactStub
      * @return <code>false</code>.
      * @see org.apache.maven.artifact.Artifact#isOptional()
      */
+    @Override
     public boolean isOptional()
     {
         return false;
@@ -436,6 +478,7 @@ public class ArtifactStub
      *
      * @param b
      */
+    @Override
     public void setOptional( boolean b )
     {
         // nop
@@ -445,6 +488,7 @@ public class ArtifactStub
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.Artifact#getSelectedVersion()
      */
+    @Override
     public ArtifactVersion getSelectedVersion()
         throws OverConstrainedVersionException
     {
@@ -455,6 +499,7 @@ public class ArtifactStub
      * @return <code>false</code>.
      * @see org.apache.maven.artifact.Artifact#isSelectedVersionKnown()
      */
+    @Override
     public boolean isSelectedVersionKnown()
         throws OverConstrainedVersionException
     {
@@ -464,6 +509,7 @@ public class ArtifactStub
     /**
      * @see java.lang.Object#toString()
      */
+    @Override
     public String toString()
     {
         StringBuffer sb = new StringBuffer();
diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/DefaultArtifactHandlerStub.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/DefaultArtifactHandlerStub.java
index 99ee8f7..926a9be 100644
--- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/DefaultArtifactHandlerStub.java
+++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/DefaultArtifactHandlerStub.java
@@ -25,7 +25,6 @@ import org.apache.maven.artifact.handler.ArtifactHandler;
  * Minimal artifact handler used by the stub factory to create unpackable archives.
  *
  * @author <a href="mailto:brianf@apache.org">Brian Fox</a>
- * @version $Id$
  */
 public class DefaultArtifactHandlerStub
     implements ArtifactHandler
@@ -70,6 +69,7 @@ public class DefaultArtifactHandlerStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getExtension()
     {
         if ( extension == null )
@@ -88,12 +88,14 @@ public class DefaultArtifactHandlerStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getClassifier()
     {
         return classifier;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getDirectory()
     {
         if ( directory == null )
@@ -104,6 +106,7 @@ public class DefaultArtifactHandlerStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getPackaging()
     {
         if ( packaging == null )
@@ -114,12 +117,14 @@ public class DefaultArtifactHandlerStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public boolean isIncludesDependencies()
     {
         return includesDependencies;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getLanguage()
     {
         if ( language == null )
@@ -131,6 +136,7 @@ public class DefaultArtifactHandlerStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public boolean isAddedToClasspath()
     {
         return addedToClasspath;
diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/MavenProjectStub.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/MavenProjectStub.java
index c9b3a55..a717141 100644
--- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/MavenProjectStub.java
+++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/MavenProjectStub.java
@@ -68,7 +68,6 @@ import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
  * useful as a stub though.
  *
  * @author jesse
- * @version $Id$
  */
 public class MavenProjectStub
     extends MavenProject
@@ -222,6 +221,7 @@ public class MavenProjectStub
      * @return an empty String
      * @throws IOException if any
      */
+    @Override
     public String getModulePathAdjustment( MavenProject mavenProject )
         throws IOException
     {
@@ -229,30 +229,35 @@ public class MavenProjectStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public Artifact getArtifact()
     {
         return artifact;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setArtifact( Artifact artifact )
     {
         this.artifact = artifact;
     }
 
     /** {@inheritDoc} */
+    @Override
     public Model getModel()
     {
         return model;
     }
 
     /** {@inheritDoc} */
+    @Override
     public MavenProject getParent()
     {
         return parent;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setParent( MavenProject mavenProject )
     {
         this.parent = mavenProject;
@@ -263,6 +268,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#setRemoteArtifactRepositories(java.util.List)
      */
+    @Override
     public void setRemoteArtifactRepositories( List<ArtifactRepository> list )
     {
         // nop
@@ -273,12 +279,14 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getRemoteArtifactRepositories()
      */
+    @Override
     public List<ArtifactRepository> getRemoteArtifactRepositories()
     {
         return Collections.<ArtifactRepository>emptyList();
     }
 
     /** {@inheritDoc} */
+    @Override
     public boolean hasParent()
     {
         if ( parent != null )
@@ -290,18 +298,21 @@ public class MavenProjectStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public File getFile()
     {
         return file;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setFile( File file )
     {
         this.file = file;
     }
 
     /** {@inheritDoc} */
+    @Override
     public File getBasedir()
     {
         return new File( PlexusTestCase.getBasedir() );
@@ -312,6 +323,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#setDependencies(java.util.List)
      */
+    @Override
     public void setDependencies( List<Dependency> list )
     {
         // nop
@@ -322,6 +334,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getDependencies()
      */
+    @Override
     public List<Dependency> getDependencies()
     {
         return Collections.<Dependency>emptyList();
@@ -332,17 +345,19 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getDependencyManagement()
      */
+    @Override
     public DependencyManagement getDependencyManagement()
     {
         return null;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void addCompileSourceRoot( String string )
     {
         if ( compileSourceRoots == null )
         {
-            compileSourceRoots = new ArrayList<String>( Collections.singletonList( string ) );
+            compileSourceRoots = new ArrayList<>( Collections.singletonList( string ) );
         }
         else
         {
@@ -351,11 +366,12 @@ public class MavenProjectStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public void addScriptSourceRoot( String string )
     {
         if ( scriptSourceRoots == null )
         {
-            scriptSourceRoots = new ArrayList<String>( Collections.singletonList( string ) );
+            scriptSourceRoots = new ArrayList<>( Collections.singletonList( string ) );
         }
         else
         {
@@ -364,11 +380,12 @@ public class MavenProjectStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public void addTestCompileSourceRoot( String string )
     {
         if ( testCompileSourceRoots == null )
         {
-            testCompileSourceRoots = new ArrayList<String>( Collections.singletonList( string ) );
+            testCompileSourceRoots = new ArrayList<>( Collections.singletonList( string ) );
         }
         else
         {
@@ -377,24 +394,28 @@ public class MavenProjectStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<String> getCompileSourceRoots()
     {
         return compileSourceRoots;
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<String> getScriptSourceRoots()
     {
         return scriptSourceRoots;
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<String> getTestCompileSourceRoots()
     {
         return testCompileSourceRoots;
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<String> getCompileClasspathElements()
         throws DependencyResolutionRequiredException
     {
@@ -410,18 +431,21 @@ public class MavenProjectStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<Artifact> getCompileArtifacts()
     {
         return compileArtifacts;
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<Dependency> getCompileDependencies()
     {
         return compileDependencies;
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<String> getTestClasspathElements()
         throws DependencyResolutionRequiredException
     {
@@ -429,18 +453,21 @@ public class MavenProjectStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<Artifact> getTestArtifacts()
     {
         return testArtifacts;
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<Dependency> getTestDependencies()
     {
         return testDependencies;
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<String> getRuntimeClasspathElements()
         throws DependencyResolutionRequiredException
     {
@@ -448,18 +475,21 @@ public class MavenProjectStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<Artifact> getRuntimeArtifacts()
     {
         return runtimeArtifacts;
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<Dependency> getRuntimeDependencies()
     {
         return runtimeDependencies;
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<String> getSystemClasspathElements()
         throws DependencyResolutionRequiredException
     {
@@ -467,6 +497,7 @@ public class MavenProjectStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<Artifact> getSystemArtifacts()
     {
         return systemArtifacts;
@@ -483,6 +514,7 @@ public class MavenProjectStub
     /**
      * @param attachedArtifacts
      */
+    @Override
     public void setAttachedArtifacts( List<Artifact> attachedArtifacts )
     {
         this.attachedArtifacts = attachedArtifacts;
@@ -491,6 +523,7 @@ public class MavenProjectStub
     /**
      * @param compileSourceRoots
      */
+    @Override
     public void setCompileSourceRoots( List<String> compileSourceRoots )
     {
         this.compileSourceRoots = compileSourceRoots;
@@ -499,6 +532,7 @@ public class MavenProjectStub
     /**
      * @param testCompileSourceRoots
      */
+    @Override
     public void setTestCompileSourceRoots( List<String> testCompileSourceRoots )
     {
         this.testCompileSourceRoots = testCompileSourceRoots;
@@ -507,6 +541,7 @@ public class MavenProjectStub
     /**
      * @param scriptSourceRoots
      */
+    @Override
     public void setScriptSourceRoots( List<String> scriptSourceRoots )
     {
         this.scriptSourceRoots = scriptSourceRoots;
@@ -635,24 +670,28 @@ public class MavenProjectStub
     /**
      * @param model
      */
+    @Override
     public void setModel( Model model )
     {
         this.model = model;
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<Dependency> getSystemDependencies()
     {
         return systemDependencies;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setModelVersion( String string )
     {
         this.modelVersion = string;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getModelVersion()
     {
         return modelVersion;
@@ -663,90 +702,105 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getId()
      */
+    @Override
     public String getId()
     {
         return "";
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setGroupId( String string )
     {
         this.groupId = string;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getGroupId()
     {
         return groupId;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setArtifactId( String string )
     {
         this.artifactId = string;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getArtifactId()
     {
         return artifactId;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setName( String string )
     {
         this.name = string;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getName()
     {
         return name;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setVersion( String string )
     {
         this.version = string;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getVersion()
     {
         return version;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getPackaging()
     {
         return packaging;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setPackaging( String string )
     {
         this.packaging = string;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setInceptionYear( String string )
     {
         this.inceptionYear = string;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getInceptionYear()
     {
         return inceptionYear;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setUrl( String string )
     {
         this.url = string;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getUrl()
     {
         return url;
@@ -757,6 +811,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getPrerequisites()
      */
+    @Override
     public Prerequisites getPrerequisites()
     {
         return null;
@@ -767,6 +822,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#setIssueManagement(org.apache.maven.model.IssueManagement)
      */
+    @Override
     public void setIssueManagement( IssueManagement issueManagement )
     {
         // nop
@@ -777,6 +833,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getCiManagement()
      */
+    @Override
     public CiManagement getCiManagement()
     {
         return null;
@@ -787,6 +844,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#setCiManagement(org.apache.maven.model.CiManagement)
      */
+    @Override
     public void setCiManagement( CiManagement ciManagement )
     {
         // nop
@@ -797,6 +855,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getIssueManagement()
      */
+    @Override
     public IssueManagement getIssueManagement()
     {
         return null;
@@ -807,6 +866,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#setDistributionManagement(org.apache.maven.model.DistributionManagement)
      */
+    @Override
     public void setDistributionManagement( DistributionManagement distributionManagement )
     {
         // nop
@@ -817,18 +877,21 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getDistributionManagement()
      */
+    @Override
     public DistributionManagement getDistributionManagement()
     {
         return null;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setDescription( String string )
     {
         this.description = string;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getDescription()
     {
         return description;
@@ -839,6 +902,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#setOrganization(org.apache.maven.model.Organization)
      */
+    @Override
     public void setOrganization( Organization organization )
     {
         // nop
@@ -849,6 +913,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getOrganization()
      */
+    @Override
     public Organization getOrganization()
     {
         return null;
@@ -859,6 +924,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#setScm(org.apache.maven.model.Scm)
      */
+    @Override
     public void setScm( Scm scm )
     {
         // nop
@@ -869,6 +935,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getScm()
      */
+    @Override
     public Scm getScm()
     {
         return null;
@@ -879,6 +946,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#setMailingLists(java.util.List)
      */
+    @Override
     public void setMailingLists( List<MailingList> list )
     {
         // nop
@@ -889,6 +957,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getMailingLists()
      */
+    @Override
     public List<MailingList> getMailingLists()
     {
         return Collections.<MailingList>emptyList();
@@ -899,6 +968,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#addMailingList(org.apache.maven.model.MailingList)
      */
+    @Override
     public void addMailingList( MailingList mailingList )
     {
         // nop
@@ -909,6 +979,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#setDevelopers(java.util.List)
      */
+    @Override
     public void setDevelopers( List<Developer> list )
     {
         // nop
@@ -919,6 +990,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getDevelopers()
      */
+    @Override
     public List<Developer> getDevelopers()
     {
         return Collections.<Developer>emptyList();
@@ -929,6 +1001,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#addDeveloper(org.apache.maven.model.Developer)
      */
+    @Override
     public void addDeveloper( Developer developer )
     {
         // nop
@@ -939,6 +1012,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#setContributors(java.util.List)
      */
+    @Override
     public void setContributors( List<Contributor> list )
     {
         // nop
@@ -949,6 +1023,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getContributors()
      */
+    @Override
     public List<Contributor> getContributors()
     {
         return Collections.<Contributor>emptyList();
@@ -959,18 +1034,21 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#addContributor(org.apache.maven.model.Contributor)
      */
+    @Override
     public void addContributor( Contributor contributor )
     {
         // nop
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setBuild( Build build )
     {
         this.build = build;
     }
 
     /** {@inheritDoc} */
+    @Override
     public Build getBuild()
     {
         return build;
@@ -981,6 +1059,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getResources()
      */
+    @Override
     public List<Resource> getResources()
     {
         return Collections.<Resource>emptyList();
@@ -991,6 +1070,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getTestResources()
      */
+    @Override
     public List<Resource> getTestResources()
     {
         return Collections.<Resource>emptyList();
@@ -1001,6 +1081,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#addResource(org.apache.maven.model.Resource)
      */
+    @Override
     public void addResource( Resource resource )
     {
         // nop
@@ -1011,6 +1092,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#addTestResource(org.apache.maven.model.Resource)
      */
+    @Override
     public void addTestResource( Resource resource )
     {
         // nop
@@ -1021,6 +1103,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#setReporting(org.apache.maven.model.Reporting)
      */
+    @Override
     public void setReporting( Reporting reporting )
     {
         // nop
@@ -1031,18 +1114,21 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getReporting()
      */
+    @Override
     public Reporting getReporting()
     {
         return null;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setLicenses( List<License> licenses )
     {
         this.licenses = licenses;
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<License> getLicenses()
     {
         return licenses;
@@ -1053,6 +1139,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#addLicense(org.apache.maven.model.License)
      */
+    @Override
     public void addLicense( License license )
     {
         // nop
@@ -1063,6 +1150,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#setArtifacts(java.util.Set)
      */
+    @Override
     public void setArtifacts( Set<Artifact> set )
     {
         // nop
@@ -1073,6 +1161,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getArtifacts()
      */
+    @Override
     public Set<Artifact> getArtifacts()
     {
         return Collections.<Artifact>emptySet();
@@ -1083,6 +1172,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getArtifactMap()
      */
+    @Override
     public Map<String, Artifact> getArtifactMap()
     {
         return Collections.<String, Artifact>emptyMap();
@@ -1093,6 +1183,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#setPluginArtifacts(java.util.Set)
      */
+    @Override
     public void setPluginArtifacts( Set<Artifact> set )
     {
         // nop
@@ -1103,6 +1194,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getPluginArtifacts()
      */
+    @Override
     public Set<Artifact> getPluginArtifacts()
     {
         return Collections.<Artifact>emptySet();
@@ -1113,6 +1205,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getPluginArtifactMap()
      */
+    @Override
     public Map<String, Artifact> getPluginArtifactMap()
     {
         return Collections.<String, Artifact>emptyMap();
@@ -1123,6 +1216,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#setReportArtifacts(java.util.Set)
      */
+    @Override
     public void setReportArtifacts( Set<Artifact> set )
     {
         // nop
@@ -1133,6 +1227,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getReportArtifacts()
      */
+    @Override
     public Set<Artifact> getReportArtifacts()
     {
         return Collections.<Artifact>emptySet();
@@ -1143,6 +1238,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getReportArtifactMap()
      */
+    @Override
     public Map<String, Artifact> getReportArtifactMap()
     {
         return Collections.<String, Artifact>emptyMap();
@@ -1153,6 +1249,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#setExtensionArtifacts(java.util.Set)
      */
+    @Override
     public void setExtensionArtifacts( Set<Artifact> set )
     {
         // nop
@@ -1163,6 +1260,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getExtensionArtifacts()
      */
+    @Override
     public Set<Artifact> getExtensionArtifacts()
     {
         return Collections.<Artifact>emptySet();
@@ -1173,6 +1271,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getExtensionArtifactMap()
      */
+    @Override
     public Map<String, Artifact> getExtensionArtifactMap()
     {
         return Collections.<String, Artifact>emptyMap();
@@ -1183,6 +1282,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#setParentArtifact(org.apache.maven.artifact.Artifact)
      */
+    @Override
     public void setParentArtifact( Artifact artifact )
     {
         // nop
@@ -1193,6 +1293,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getParentArtifact()
      */
+    @Override
     public Artifact getParentArtifact()
     {
         return null;
@@ -1203,6 +1304,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getRepositories()
      */
+    @Override
     public List<Repository> getRepositories()
     {
         return Collections.<Repository>emptyList();
@@ -1213,6 +1315,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getReportPlugins()
      */
+    @Override
     public List<ReportPlugin> getReportPlugins()
     {
         return Collections.<ReportPlugin>emptyList();
@@ -1223,6 +1326,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getBuildPlugins()
      */
+    @Override
     public List<Plugin> getBuildPlugins()
     {
         return Collections.<Plugin>emptyList();
@@ -1233,6 +1337,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getModules()
      */
+    @Override
     public List<String> getModules()
     {
         return Collections.<String>emptyList();
@@ -1243,6 +1348,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getPluginManagement()
      */
+    @Override
     public PluginManagement getPluginManagement()
     {
         return null;
@@ -1269,24 +1375,28 @@ public class MavenProjectStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<MavenProject> getCollectedProjects()
     {
         return collectedProjects;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setCollectedProjects( List<MavenProject> list )
     {
         this.collectedProjects = list;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setPluginArtifactRepositories( List<ArtifactRepository> list )
     {
         this.pluginArtifactRepositories = list;
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<ArtifactRepository> getPluginArtifactRepositories()
     {
         return pluginArtifactRepositories;
@@ -1297,6 +1407,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getDistributionManagementArtifactRepository()
      */
+    @Override
     public ArtifactRepository getDistributionManagementArtifactRepository()
     {
         return null;
@@ -1307,29 +1418,33 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getPluginRepositories()
      */
+    @Override
     public List<Repository> getPluginRepositories()
     {
         return Collections.<Repository>emptyList();
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setActiveProfiles( List<Profile> list )
     {
         activeProfiles = list;
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<Profile> getActiveProfiles()
     {
         return activeProfiles;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void addAttachedArtifact( Artifact artifact )
     {
         if ( attachedArtifacts == null )
         {
-            this.attachedArtifacts = new ArrayList<Artifact>( Collections.singletonList( artifact ) );
+            this.attachedArtifacts = new ArrayList<>( Collections.singletonList( artifact ) );
         }
         else
         {
@@ -1338,6 +1453,7 @@ public class MavenProjectStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public List<Artifact> getAttachedArtifacts()
     {
         return attachedArtifacts;
@@ -1348,6 +1464,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getGoalConfiguration(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
      */
+    @Override
     public Xpp3Dom getGoalConfiguration( String string, String string1, String string2, String string3 )
     {
         return null;
@@ -1358,6 +1475,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getReportConfiguration(java.lang.String, java.lang.String, java.lang.String)
      */
+    @Override
     public Xpp3Dom getReportConfiguration( String string, String string1, String string2 )
     {
         return null;
@@ -1368,6 +1486,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getExecutionProject()
      */
+    @Override
     public MavenProject getExecutionProject()
     {
         return null;
@@ -1378,6 +1497,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#setExecutionProject(org.apache.maven.project.MavenProject)
      */
+    @Override
     public void setExecutionProject( MavenProject mavenProject )
     {
         // nop
@@ -1388,6 +1508,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#writeModel(java.io.Writer)
      */
+    @Override
     public void writeModel( Writer writer )
         throws IOException
     {
@@ -1399,6 +1520,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#writeOriginalModel(java.io.Writer)
      */
+    @Override
     public void writeOriginalModel( Writer writer )
         throws IOException
     {
@@ -1406,36 +1528,42 @@ public class MavenProjectStub
     }
 
     /** {@inheritDoc} */
+    @Override
     public Set<Artifact> getDependencyArtifacts()
     {
         return dependencyArtifacts;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setDependencyArtifacts( Set<Artifact> set )
     {
         this.dependencyArtifacts = set;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setReleaseArtifactRepository( ArtifactRepository artifactRepository )
     {
         this.releaseArtifactRepository = artifactRepository;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setSnapshotArtifactRepository( ArtifactRepository artifactRepository )
     {
         this.snapshotArtifactRepository = artifactRepository;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setOriginalModel( Model model )
     {
         this.originalModel = model;
     }
 
     /** {@inheritDoc} */
+    @Override
     public Model getOriginalModel()
     {
         return originalModel;
@@ -1446,6 +1574,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getBuildExtensions()
      */
+    @Override
     public List<Extension> getBuildExtensions()
     {
         return Collections.<Extension>emptyList();
@@ -1456,6 +1585,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#createArtifacts(org.apache.maven.artifact.factory.ArtifactFactory, java.lang.String, org.apache.maven.artifact.resolver.filter.ArtifactFilter)
      */
+    @Override
     public Set<Artifact> createArtifacts( ArtifactFactory artifactFactory, String string,
                                           ArtifactFilter artifactFilter )
     {
@@ -1467,6 +1597,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#addProjectReference(org.apache.maven.project.MavenProject)
      */
+    @Override
     public void addProjectReference( MavenProject mavenProject )
     {
         // nop
@@ -1477,6 +1608,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#attachArtifact(java.lang.String, java.lang.String, java.io.File)
      */
+    @Override
     public void attachArtifact( String string, String string1, File file )
     {
         // nop
@@ -1487,6 +1619,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getProperties()
      */
+    @Override
     public Properties getProperties()
     {
         return new Properties();
@@ -1497,6 +1630,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getFilters()
      */
+    @Override
     public List<String> getFilters()
     {
         return Collections.<String>emptyList();
@@ -1507,24 +1641,28 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#getProjectReferences()
      */
+    @Override
     public Map<String, MavenProject> getProjectReferences()
     {
         return Collections.<String, MavenProject>emptyMap();
     }
 
     /** {@inheritDoc} */
+    @Override
     public boolean isExecutionRoot()
     {
         return executionRoot;
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setExecutionRoot( boolean b )
     {
         this.executionRoot = b;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String getDefaultGoal()
     {
         return defaultGoal;
@@ -1535,6 +1673,7 @@ public class MavenProjectStub
      *
      * @see org.apache.maven.project.MavenProject#replaceWithActiveArtifact(org.apache.maven.artifact.Artifact)
      */
+    @Override
     public Artifact replaceWithActiveArtifact( Artifact artifact )
     {
         return null;
diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/StubArtifactCollector.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/StubArtifactCollector.java
index 869069c..c8e7cbe 100644
--- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/StubArtifactCollector.java
+++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/StubArtifactCollector.java
@@ -36,7 +36,6 @@ import org.apache.maven.repository.legacy.resolver.conflict.ConflictResolver;
 
 /**
  * @author <a href="mailto:brianf@apache.org">Brian Fox</a>
- * @version $Id$
  */
 public class StubArtifactCollector
     implements ArtifactCollector
@@ -49,6 +48,7 @@ public class StubArtifactCollector
         super();
     }
 
+    @Override
     public ArtifactResolutionResult collect( Set<Artifact> artifacts, Artifact originatingArtifact,
                                              Map managedVersions, ArtifactResolutionRequest repositoryRequest,
                                              ArtifactMetadataSource source, ArtifactFilter filter,
@@ -58,6 +58,7 @@ public class StubArtifactCollector
         return new ArtifactResolutionResult();
     }
 
+    @Override
     public ArtifactResolutionResult collect( Set<Artifact> artifacts, Artifact originatingArtifact,
                                              Map managedVersions, ArtifactRepository localRepository,
                                              List<ArtifactRepository> remoteRepositories,
@@ -68,6 +69,7 @@ public class StubArtifactCollector
         return new ArtifactResolutionResult();
     }
 
+    @Override
     public ArtifactResolutionResult collect( Set<Artifact> artifacts, Artifact originatingArtifact,
                                              Map managedVersions, ArtifactRepository localRepository,
                                              List<ArtifactRepository> remoteRepositories,
@@ -77,6 +79,7 @@ public class StubArtifactCollector
         return new ArtifactResolutionResult();
     }
 
+    @Override
     public ArtifactResolutionResult collect( Set<Artifact> artifacts, Artifact originatingArtifact,
                                              ArtifactRepository localRepository,
                                              List<ArtifactRepository> remoteRepositories,
diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/StubArtifactRepository.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/StubArtifactRepository.java
index 9a435b7..0d63904 100644
--- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/StubArtifactRepository.java
+++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/StubArtifactRepository.java
@@ -33,7 +33,6 @@ import java.util.List;
 
 /**
  * @author <a href="mailto:brianf@apache.org">Brian Fox</a>
- * @version $Id$
  */
 public class StubArtifactRepository
     implements ArtifactRepository
@@ -54,6 +53,7 @@ public class StubArtifactRepository
      * @return the <code>artifactId</code>.
      * @see org.apache.maven.artifact.repository.ArtifactRepository#pathOf(org.apache.maven.artifact.Artifact)
      */
+    @Override
     public String pathOf( Artifact artifact )
     {
         return artifact.getId();
@@ -63,6 +63,7 @@ public class StubArtifactRepository
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.repository.ArtifactRepository#pathOfRemoteRepositoryMetadata(org.apache.maven.artifact.metadata.ArtifactMetadata)
      */
+    @Override
     public String pathOfRemoteRepositoryMetadata( ArtifactMetadata artifactMetadata )
     {
         return null;
@@ -72,6 +73,7 @@ public class StubArtifactRepository
      * @return the filename of this metadata on the local repository.
      * @see org.apache.maven.artifact.repository.ArtifactRepository#pathOfLocalRepositoryMetadata(org.apache.maven.artifact.metadata.ArtifactMetadata, org.apache.maven.artifact.repository.ArtifactRepository)
      */
+    @Override
     public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, ArtifactRepository repository )
     {
         return metadata.getLocalFilename( repository );
@@ -81,6 +83,7 @@ public class StubArtifactRepository
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.repository.ArtifactRepository#getUrl()
      */
+    @Override
     public String getUrl()
     {
         return null;
@@ -90,6 +93,7 @@ public class StubArtifactRepository
      * @return <code>basedir</code>.
      * @see org.apache.maven.artifact.repository.ArtifactRepository#getBasedir()
      */
+    @Override
     public String getBasedir()
     {
         return baseDir;
@@ -99,6 +103,7 @@ public class StubArtifactRepository
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.repository.ArtifactRepository#getProtocol()
      */
+    @Override
     public String getProtocol()
     {
         return null;
@@ -108,6 +113,7 @@ public class StubArtifactRepository
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.repository.ArtifactRepository#getId()
      */
+    @Override
     public String getId()
     {
         return null;
@@ -117,6 +123,7 @@ public class StubArtifactRepository
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.repository.ArtifactRepository#getSnapshots()
      */
+    @Override
     public ArtifactRepositoryPolicy getSnapshots()
     {
         return null;
@@ -126,6 +133,7 @@ public class StubArtifactRepository
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.repository.ArtifactRepository#getReleases()
      */
+    @Override
     public ArtifactRepositoryPolicy getReleases()
     {
         return null;
@@ -135,6 +143,7 @@ public class StubArtifactRepository
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.repository.ArtifactRepository#getLayout()
      */
+    @Override
     public ArtifactRepositoryLayout getLayout()
     {
         return null;
@@ -144,6 +153,7 @@ public class StubArtifactRepository
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.repository.ArtifactRepository#getKey()
      */
+    @Override
     public String getKey()
     {
         return null;
@@ -153,6 +163,7 @@ public class StubArtifactRepository
      * @return <code>false</code>.
      * @see org.apache.maven.artifact.repository.ArtifactRepository#isUniqueVersion()
      */
+    @Override
     public boolean isUniqueVersion()
     {
         return false;
@@ -163,6 +174,7 @@ public class StubArtifactRepository
      *
      * @see org.apache.maven.artifact.repository.ArtifactRepository#setBlacklisted(boolean)
      */
+    @Override
     public void setBlacklisted( boolean blackListed )
     {
         // nop
@@ -172,77 +184,92 @@ public class StubArtifactRepository
      * @return <code>false</code>.
      * @see org.apache.maven.artifact.repository.ArtifactRepository#isBlacklisted()
      */
+    @Override
     public boolean isBlacklisted()
     {
         return false;
     }
 
+    @Override
     public Artifact find( Artifact artifact )
     {
         // TODO Auto-generated method stub
         return null;
     }
 
+    @Override
     public Authentication getAuthentication()
     {
         return null;
     }
 
+    @Override
     public Proxy getProxy()
     {
         return null;
     }
 
+    @Override
     public void setAuthentication( Authentication authentication )
     {
 
     }
 
+    @Override
     public void setId( String id )
     {
 
     }
 
+    @Override
     public void setLayout( ArtifactRepositoryLayout layout )
     {
 
     }
 
+    @Override
     public void setProxy( Proxy proxy )
     {
 
     }
 
+    @Override
     public void setReleaseUpdatePolicy( ArtifactRepositoryPolicy policy )
     {
 
     }
 
+    @Override
     public void setSnapshotUpdatePolicy( ArtifactRepositoryPolicy policy )
     {
 
     }
 
+    @Override
     public void setUrl( String url )
     {
 
     }
 
+    @Override
     public List<String> findVersions( Artifact artifact )
     {
         return Collections.emptyList();
     }
 
+    @Override
     public boolean isProjectAware()
     {
         return false;
     }
 
+    @Override
     public List<ArtifactRepository> getMirroredRepositories()
     {
-        return new ArrayList<ArtifactRepository>( 0 );
+        return new ArrayList<>( 0 );
     }
 
+    @Override
     public void setMirroredRepositories( List<ArtifactRepository> artifactRepositories )
     {
         // no op
diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/StubArtifactResolver.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/StubArtifactResolver.java
index 4df64e9..b9ea73a 100644
--- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/StubArtifactResolver.java
+++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/stubs/StubArtifactResolver.java
@@ -41,7 +41,6 @@ import org.apache.maven.wagon.events.TransferListener;
  * Stub resolver. The constructor allows the specification of the exception to throw so that handling can be tested too.
  *
  * @author <a href="mailto:brianf@apache.org">Brian Fox</a>
- * @version $Id$
  */
 public class StubArtifactResolver
     implements ArtifactResolver
@@ -72,6 +71,7 @@ public class StubArtifactResolver
      *
      * @see org.apache.maven.artifact.resolver.ArtifactResolver#resolve(org.apache.maven.artifact.Artifact, java.util.List, org.apache.maven.artifact.repository.ArtifactRepository)
      */
+    @Override
     public void resolve( Artifact artifact, List<ArtifactRepository> remoteRepositories,
                          ArtifactRepository localRepository )
         throws ArtifactResolutionException, ArtifactNotFoundException
@@ -105,6 +105,7 @@ public class StubArtifactResolver
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.resolver.ArtifactResolver#resolveTransitively(java.util.Set, org.apache.maven.artifact.Artifact, java.util.List, org.apache.maven.artifact.repository.ArtifactRepository, org.apache.maven.artifact.metadata.ArtifactMetadataSource)
      */
+    @Override
     public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
                                                          List<ArtifactRepository> remoteRepositories,
                                                          ArtifactRepository localRepository,
@@ -118,6 +119,7 @@ public class StubArtifactResolver
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.resolver.ArtifactResolver#resolveTransitively(java.util.Set, org.apache.maven.artifact.Artifact, java.util.List, org.apache.maven.artifact.repository.ArtifactRepository, org.apache.maven.artifact.metadata.ArtifactMetadataSource, java.util.List)
      */
+    @Override
     public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
                                                          List<ArtifactRepository> remoteRepositories,
                                                          ArtifactRepository localRepository,
@@ -132,6 +134,7 @@ public class StubArtifactResolver
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.resolver.ArtifactResolver#resolveTransitively(java.util.Set, org.apache.maven.artifact.Artifact, org.apache.maven.artifact.repository.ArtifactRepository, java.util.List, org.apache.maven.artifact.metadata.ArtifactMetadataSource, org.apache.maven.artifact.resolver.filter.ArtifactFilter)
      */
+    @Override
     public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
                                                          ArtifactRepository localRepository,
                                                          List<ArtifactRepository> remoteRepositories,
@@ -145,6 +148,7 @@ public class StubArtifactResolver
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.resolver.ArtifactResolver#resolveTransitively(java.util.Set, org.apache.maven.artifact.Artifact, java.util.Map, org.apache.maven.artifact.repository.ArtifactRepository, java.util.List, org.apache.maven.artifact.metadata.ArtifactMetadataSource)
      */
+    @Override
     public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
                                                          Map managedVersions, ArtifactRepository localRepository,
                                                          List<ArtifactRepository> remoteRepositories,
@@ -158,6 +162,7 @@ public class StubArtifactResolver
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.resolver.ArtifactResolver#resolveTransitively(java.util.Set, org.apache.maven.artifact.Artifact, java.util.Map, org.apache.maven.artifact.repository.ArtifactRepository, java.util.List, org.apache.maven.artifact.metadata.ArtifactMetadataSource, org.apache.maven.artifact.resolver.filter.ArtifactFilter)
      */
+    @Override
     public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
                                                          Map managedVersions, ArtifactRepository localRepository,
                                                          List<ArtifactRepository> remoteRepositories,
@@ -171,6 +176,7 @@ public class StubArtifactResolver
      * @return <code>null</code>.
      * @see org.apache.maven.artifact.resolver.ArtifactResolver#resolveTransitively(java.util.Set, org.apache.maven.artifact.Artifact, java.util.Map, org.apache.maven.artifact.repository.ArtifactRepository, java.util.List, org.apache.maven.artifact.metadata.ArtifactMetadataSource, org.apache.maven.artifact.resolver.filter.ArtifactFilter, java.util.List)
      */
+    @Override
     public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
                                                          Map managedVersions, ArtifactRepository localRepository,
                                                          List<ArtifactRepository> remoteRepositories,
@@ -186,6 +192,7 @@ public class StubArtifactResolver
      *
      * @see org.apache.maven.artifact.resolver.ArtifactResolver#resolveAlways(org.apache.maven.artifact.Artifact, java.util.List, org.apache.maven.artifact.repository.ArtifactRepository)
      */
+    @Override
     public void resolveAlways( Artifact artifact, List<ArtifactRepository> remoteRepositories,
                                ArtifactRepository localRepository )
         throws ArtifactResolutionException, ArtifactNotFoundException
@@ -193,6 +200,7 @@ public class StubArtifactResolver
         // nop
     }
 
+    @Override
     public void resolve( Artifact artifact, List<ArtifactRepository> remoteRepositories,
                          ArtifactRepository localRepository, TransferListener downloadMonitor )
         throws ArtifactResolutionException, ArtifactNotFoundException
@@ -206,6 +214,7 @@ public class StubArtifactResolver
         return null;
     }
 
+    @Override
     public ArtifactResolutionResult resolve( ArtifactResolutionRequest request )
     {
         return null;
diff --git a/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/ExpressionEvaluatorMojo.java b/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/ExpressionEvaluatorMojo.java
index e57c14d..2d4faa0 100644
--- a/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/ExpressionEvaluatorMojo.java
+++ b/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/ExpressionEvaluatorMojo.java
@@ -27,7 +27,6 @@ import org.codehaus.plexus.util.StringUtils;
 
 /**
  * @author Edwin Punzalan
- * @version $Id$
  */
 public class ExpressionEvaluatorMojo
     extends AbstractMojo
@@ -39,6 +38,7 @@ public class ExpressionEvaluatorMojo
     private String workdir;
 
     /** {@inheritDoc} */
+    @Override
     public void execute()
         throws MojoExecutionException, MojoFailureException
     {
diff --git a/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/ExpressionEvaluatorTest.java b/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/ExpressionEvaluatorTest.java
index 2c8fe05..3939bd2 100644
--- a/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/ExpressionEvaluatorTest.java
+++ b/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/ExpressionEvaluatorTest.java
@@ -28,7 +28,6 @@ import java.io.StringReader;
 
 /**
  * @author Edwin Punzalan
- * @version $Id$
  */
 public class ExpressionEvaluatorTest
     extends AbstractMojoTestCase
@@ -38,6 +37,7 @@ public class ExpressionEvaluatorTest
     private PlexusConfiguration pluginConfiguration;
 
     /** {@inheritDoc} */
+    @Override
     protected void setUp()
         throws Exception
     {
diff --git a/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/MojoRuleTest.java b/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/MojoRuleTest.java
index 0e976fd..d5f3075 100644
--- a/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/MojoRuleTest.java
+++ b/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/MojoRuleTest.java
@@ -33,7 +33,6 @@ import org.junit.Test;
 
 /**
  * @author Mirko Friedenhagen
- * @version $Id$
  */
 public class MojoRuleTest
     
@@ -121,9 +120,9 @@ public class MojoRuleTest
 
         mojo = (SimpleMojo) rule.configureMojo( mojo, pluginConfiguration );
 
-        assertEquals( "valueOne", (String) rule.getVariableValueFromObject( mojo, "keyOne" ) );
+        assertEquals( "valueOne", rule.getVariableValueFromObject( mojo, "keyOne" ) );
 
-        assertEquals( "valueTwo", (String) rule.getVariableValueFromObject( mojo, "keyTwo" ) );
+        assertEquals( "valueTwo", rule.getVariableValueFromObject( mojo, "keyTwo" ) );
     }
 
     /**
@@ -139,9 +138,9 @@ public class MojoRuleTest
 
         Map<String, Object> map = rule.getVariablesAndValuesFromObject( mojo );
 
-        assertEquals( "valueOne", (String) map.get( "keyOne" ) );
+        assertEquals( "valueOne", map.get( "keyOne" ) );
 
-        assertEquals( "valueTwo", (String) map.get( "keyTwo" ) );
+        assertEquals( "valueTwo", map.get( "keyTwo" ) );
     }
 
     /**
@@ -157,7 +156,7 @@ public class MojoRuleTest
 
         rule.setVariableValueToObject( mojo, "keyOne", "myValueOne" );
 
-        assertEquals( "myValueOne", (String) rule.getVariableValueFromObject( mojo, "keyOne" ) );
+        assertEquals( "myValueOne", rule.getVariableValueFromObject( mojo, "keyOne" ) );
 
     }
 
diff --git a/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/MojoTestCaseTest.java b/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/MojoTestCaseTest.java
index edd0236..c0364f3 100644
--- a/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/MojoTestCaseTest.java
+++ b/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/MojoTestCaseTest.java
@@ -28,7 +28,6 @@ import java.util.Map;
 
 /**
  * @author Jason van Zyl
- * @version $Id$
  */
 public class MojoTestCaseTest
     extends AbstractMojoTestCase
@@ -40,6 +39,7 @@ public class MojoTestCaseTest
     private PlexusConfiguration pluginConfiguration;
 
     /** {@inheritDoc} */
+    @Override
     protected void setUp()
         throws Exception
     {
diff --git a/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/ParametersMojo.java b/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/ParametersMojo.java
index a1436fe..13d3029 100644
--- a/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/ParametersMojo.java
+++ b/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/ParametersMojo.java
@@ -34,6 +34,7 @@ public class ParametersMojo
 
     public String withPropertyAndDefault;
 
+    @Override
     public void execute()
         throws MojoExecutionException, MojoFailureException
     {
diff --git a/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/SimpleMojo.java b/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/SimpleMojo.java
index 4a101ec..85ea293 100644
--- a/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/SimpleMojo.java
+++ b/maven-plugin-testing-harness/src/test/java/org/apache/maven/plugin/testing/SimpleMojo.java
@@ -24,7 +24,6 @@ import org.apache.maven.plugin.MojoExecutionException;
 
 /**
  * @author Jason van Zyl
- * @version $Id$
  */
 public class SimpleMojo
     extends AbstractMojo
@@ -43,6 +42,7 @@ public class SimpleMojo
         return keyTwo;
     }
 
+    @Override
     public void execute()
         throws MojoExecutionException
     {
diff --git a/pom.xml b/pom.xml
index 98c032d..3777a6d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -147,12 +147,7 @@ under the License.
     <mavenVersion>3.2.5</mavenVersion>
     <plexusVersion>1.5.5</plexusVersion>
     <maven.site.path>plugin-testing-archives/LATEST</maven.site.path>
-    <!-- Not sure if this is intentional but MojoRule has an @Override annotation from the interface which is
-         only allowed starting in Java 1.6. So if the author intends only 1.5 then that @Override annotation needs
-         to be removed.
-     -->
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>    
+    <javaVersion>7</javaVersion>
   </properties>
 
   <dependencyManagement>
@@ -242,26 +237,6 @@ under the License.
       </plugins>
     </pluginManagement>
     <plugins>
-      <plugin><!-- TODO remove when upgrading to maven-parent 25 -->
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-enforcer-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>enforce-bytecode-version</id>
-            <goals>
-              <goal>enforce</goal>
-            </goals>
-            <configuration>
-              <rules>
-                <enforceBytecodeVersion>
-                  <maxJdkVersion>${maven.compiler.target}</maxJdkVersion>
-                </enforceBytecodeVersion>
-              </rules>
-              <fail>true</fail>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
       <plugin>
         <artifactId>maven-site-plugin</artifactId>
         <inherited>false</inherited>


[maven-plugin-testing] 01/03: [MPLUGINTESTING-65] Remove deprecated maven-plugin-testing-tools module

Posted by rf...@apache.org.
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 <rf...@apache.org>
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>