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/03/15 16:29:31 UTC

[maven-remote-resources-plugin] branch master updated: [MRRESOURCES-112] Require Java 7

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

rfscholte pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-remote-resources-plugin.git


The following commit(s) were added to refs/heads/master by this push:
     new ba044a9  [MRRESOURCES-112] Require Java 7
ba044a9 is described below

commit ba044a9492add0b47a06332aeb0e09376d82744a
Author: rfscholte <rf...@apache.org>
AuthorDate: Fri Mar 15 17:29:22 2019 +0100

    [MRRESOURCES-112] Require Java 7
---
 pom.xml                                            |   1 +
 src/it/resources/it-parent/pom.xml                 |   4 -
 .../resource-projects/pom.xml                      |   4 -
 .../remote/BundleRemoteResourcesMojo.java          |  24 +--
 .../remote/ProcessRemoteResourcesMojo.java         | 233 ++++++++++-----------
 .../remote/RemoteResourcesClassLoader.java         |   2 +
 .../resources/remote/RemoteResourcesMojoTest.java  |  35 ++--
 .../resources/remote/it/IT_BadDependencyPoms.java  |  10 +-
 .../remote/it/IT_CustomFilterDelimiter.java        |   8 +-
 .../remote/it/IT_FilterLocalOverride.java          |   6 +-
 .../resources/remote/it/IT_GenerateFromBundle.java |   6 +-
 ...IT_GenerateFromBundleWithTypeAndClassifier.java |   8 +-
 .../remote/it/IT_GenerateFromOverride.java         |   4 +-
 .../remote/it/IT_GetDependencyProjects.java        |   8 +-
 .../remote/it/IT_RunOnlyAtExecutionRoot.java       |   4 +-
 .../remote/it/IT_SupplementalArtifact.java         |   2 +-
 .../remote/it/support/BootstrapInstaller.java      |  12 +-
 .../resources/remote/it/support/TestUtils.java     |   7 +
 .../plugin/resources/remote/stub/ArtifactStub.java |  53 ++++-
 .../remote/stub/MavenProjectBasicStub.java         |  34 +--
 .../remote/stub/MavenProjectBuildStub.java         |  17 +-
 .../remote/stub/MavenProjectResourcesStub.java     |   8 +-
 .../plugin/resources/remote/stub/ModelStub.java    |   8 +
 23 files changed, 269 insertions(+), 229 deletions(-)

diff --git a/pom.xml b/pom.xml
index a55f1c5..7976702 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,6 +69,7 @@ under the License.
 
   <properties>
     <mavenVersion>2.2.1</mavenVersion>
+    <javaVersion>7</javaVersion>
     <mavenFilteringVersion>3.1.1</mavenFilteringVersion>
     <sitePluginVersion>3.3</sitePluginVersion>
   </properties>
diff --git a/src/it/resources/it-parent/pom.xml b/src/it/resources/it-parent/pom.xml
index 6f5bca2..e872d72 100644
--- a/src/it/resources/it-parent/pom.xml
+++ b/src/it/resources/it-parent/pom.xml
@@ -67,10 +67,6 @@ under the License.
         <plugin>
           <artifactId>maven-compiler-plugin</artifactId>
           <version>3.8.0</version>
-          <configuration>
-            <source>6</source>
-            <target>6</target>
-          </configuration>
         </plugin>
       </plugins>
     </pluginManagement>
diff --git a/src/it/resources/supplemental-artifact/resource-projects/pom.xml b/src/it/resources/supplemental-artifact/resource-projects/pom.xml
index 2080111..5abda97 100644
--- a/src/it/resources/supplemental-artifact/resource-projects/pom.xml
+++ b/src/it/resources/supplemental-artifact/resource-projects/pom.xml
@@ -35,10 +35,6 @@ under the License.
         <plugin>
           <artifactId>maven-compiler-plugin</artifactId>
           <version>3.8.0</version>
-          <configuration>
-            <source>6</source>
-            <target>6</target>
-          </configuration>
         </plugin>
       </plugins>
     </pluginManagement>
diff --git a/src/main/java/org/apache/maven/plugin/resources/remote/BundleRemoteResourcesMojo.java b/src/main/java/org/apache/maven/plugin/resources/remote/BundleRemoteResourcesMojo.java
index e0404ea..379e4ec 100644
--- a/src/main/java/org/apache/maven/plugin/resources/remote/BundleRemoteResourcesMojo.java
+++ b/src/main/java/org/apache/maven/plugin/resources/remote/BundleRemoteResourcesMojo.java
@@ -27,7 +27,6 @@ import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.codehaus.plexus.util.DirectoryScanner;
 import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.StringUtils;
 
@@ -89,6 +88,7 @@ public class BundleRemoteResourcesMojo
     @Parameter( defaultValue = "${project.build.sourceEncoding}" )
     private String sourceEncoding;
 
+    @Override
     public void execute()
         throws MojoExecutionException
     {
@@ -144,28 +144,18 @@ public class BundleRemoteResourcesMojo
 
         RemoteResourcesBundleXpp3Writer w = new RemoteResourcesBundleXpp3Writer();
 
-        Writer writer = null;
-        try
-        {
-            File f = new File( outputDirectory, RESOURCES_MANIFEST );
-
-            FileUtils.mkdir( f.getParentFile()
-                              .getAbsolutePath() );
-
-            writer = new FileWriter( f );
+        File f = new File( outputDirectory, RESOURCES_MANIFEST );
 
+        FileUtils.mkdir( f.getParentFile()
+                          .getAbsolutePath() );
+        
+        try ( Writer writer = new FileWriter( f ) )
+        {
             w.write( writer, remoteResourcesBundle );
-
-            writer.close();
-            writer = null;
         }
         catch ( IOException e )
         {
             throw new MojoExecutionException( "Error creating remote resources manifest.", e );
         }
-        finally
-        {
-            IOUtil.close( writer );
-        }
     }
 }
diff --git a/src/main/java/org/apache/maven/plugin/resources/remote/ProcessRemoteResourcesMojo.java b/src/main/java/org/apache/maven/plugin/resources/remote/ProcessRemoteResourcesMojo.java
index 1edfc3f..d64fe20 100644
--- a/src/main/java/org/apache/maven/plugin/resources/remote/ProcessRemoteResourcesMojo.java
+++ b/src/main/java/org/apache/maven/plugin/resources/remote/ProcessRemoteResourcesMojo.java
@@ -22,6 +22,7 @@ package org.apache.maven.plugin.resources.remote;
 import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.FileReader;
 import java.io.FileWriter;
@@ -33,6 +34,7 @@ import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 import java.io.Reader;
 import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
 import java.io.Writer;
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -96,6 +98,7 @@ import org.apache.velocity.exception.MethodInvocationException;
 import org.apache.velocity.exception.ParseErrorException;
 import org.apache.velocity.exception.ResourceNotFoundException;
 import org.apache.velocity.exception.VelocityException;
+import org.apache.velocity.runtime.RuntimeConstants;
 import org.apache.velocity.runtime.RuntimeServices;
 import org.apache.velocity.runtime.log.LogChute;
 import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader;
@@ -296,7 +299,7 @@ public class ProcessRemoteResourcesMojo
      * javadoc for MavenProject</a> for information about the properties on the MavenProject.
      */
     @Parameter
-    private Map<String, Object> properties = new HashMap<String, Object>();
+    private Map<String, Object> properties = new HashMap<>();
 
     /**
      * Whether to include properties defined in the project when filtering resources.
@@ -431,6 +434,7 @@ public class ProcessRemoteResourcesMojo
 
     private VelocityEngine velocity;
 
+    @Override
     @SuppressWarnings( "unchecked" )
     public void execute()
         throws MojoExecutionException
@@ -500,7 +504,7 @@ public class ProcessRemoteResourcesMojo
             Thread.currentThread().setContextClassLoader( classLoader );
 
             velocity = new VelocityEngine();
-            velocity.setProperty( VelocityEngine.RUNTIME_LOG_LOGSYSTEM, this );
+            velocity.setProperty( RuntimeConstants.RUNTIME_LOG_LOGSYSTEM, this );
             velocity.setProperty( "resource.loader", "classpath" );
             velocity.setProperty( "classpath.resource.loader.class", ClasspathResourceLoader.class.getName() );
             velocity.init();
@@ -588,7 +592,7 @@ public class ProcessRemoteResourcesMojo
     @SuppressWarnings( "unchecked" )
     protected List<MavenProject> getProjects()
     {
-        List<MavenProject> projects = new ArrayList<MavenProject>();
+        List<MavenProject> projects = new ArrayList<>();
 
         // add filters in well known order, least specific to most specific
         FilterArtifacts filter = new FilterArtifacts();
@@ -706,7 +710,7 @@ public class ProcessRemoteResourcesMojo
     @SuppressWarnings( "unchecked" )
     private Set<Artifact> aggregateProjectDependencyArtifacts()
     {
-        Set<Artifact> artifacts = new LinkedHashSet<Artifact>();
+        Set<Artifact> artifacts = new LinkedHashSet<>();
 
         List<MavenProject> projects = mavenSession.getSortedProjects();
         for ( MavenProject p : projects )
@@ -747,8 +751,8 @@ public class ProcessRemoteResourcesMojo
     protected Map<Organization, List<MavenProject>> getProjectsSortedByOrganization( List<MavenProject> projects )
     {
         Map<Organization, List<MavenProject>> organizations =
-            new TreeMap<Organization, List<MavenProject>>( new OrganizationComparator() );
-        List<MavenProject> unknownOrganization = new ArrayList<MavenProject>();
+            new TreeMap<>( new OrganizationComparator() );
+        List<MavenProject> unknownOrganization = new ArrayList<>();
 
         for ( MavenProject p : projects )
         {
@@ -757,7 +761,7 @@ public class ProcessRemoteResourcesMojo
                 List<MavenProject> sortedProjects = organizations.get( p.getOrganization() );
                 if ( sortedProjects == null )
                 {
-                    sortedProjects = new ArrayList<MavenProject>();
+                    sortedProjects = new ArrayList<>();
                 }
                 sortedProjects.add( p );
 
@@ -803,47 +807,19 @@ public class ProcessRemoteResourcesMojo
             {
                 if ( source == templateSource )
                 {
-                    Reader reader = null;
-                    Writer writer = null;
-                    DeferredFileOutputStream os = new DeferredFileOutputStream( velocityFilterInMemoryThreshold, file );
-                    try
+                    try ( DeferredFileOutputStream os = 
+                                    new DeferredFileOutputStream( velocityFilterInMemoryThreshold, file ) )
                     {
-
-                        if ( encoding != null )
+                        try ( Reader reader = getReader( source ); Writer writer = getWriter( os ) )
                         {
-                            reader = new InputStreamReader( new FileInputStream( source ), encoding );
-                            writer = new OutputStreamWriter( os, encoding );
+                            velocity.evaluate( context, writer, "", reader );
                         }
-                        else
+                        catch ( ParseErrorException | MethodInvocationException | ResourceNotFoundException e )
                         {
-                            reader = ReaderFactory.newPlatformReader( source );
-                            writer = WriterFactory.newPlatformWriter( os );
+                            throw new MojoExecutionException( "Error rendering velocity resource: " + source, e );
                         }
-
-                        velocity.evaluate( context, writer, "", reader );
-                        writer.close();
-                        writer = null;
-                        reader.close();
-                        reader = null;
-                    }
-                    catch ( ParseErrorException e )
-                    {
-                        throw new MojoExecutionException( "Error rendering velocity resource: " + source, e );
-                    }
-                    catch ( MethodInvocationException e )
-                    {
-                        throw new MojoExecutionException( "Error rendering velocity resource: " + source, e );
-                    }
-                    catch ( ResourceNotFoundException e )
-                    {
-                        throw new MojoExecutionException( "Error rendering velocity resource: " + source, e );
-                    }
-                    finally
-                    {
-                        IOUtil.close( writer );
-                        IOUtil.close( reader );
+                        fileWriteIfDiffers( os );
                     }
-                    fileWriteIfDiffers( os );
                 }
                 else if ( resource.isFiltering() )
                 {
@@ -874,6 +850,30 @@ public class ProcessRemoteResourcesMojo
         return false;
     }
 
+    private Reader getReader( File source ) throws IOException
+    {
+        if ( encoding != null )
+        {
+            return new InputStreamReader( new FileInputStream( source ), encoding );
+        }
+        else
+        {
+            return ReaderFactory.newPlatformReader( source );
+        }
+    }
+    
+    private Writer getWriter( OutputStream os ) throws IOException
+    {
+        if ( encoding != null )
+        {
+            return new OutputStreamWriter( os, encoding );
+        }
+        else
+        {
+            return WriterFactory.newPlatformWriter( os );
+        }
+    }
+
     /**
      * If the transformation result fits in memory and the destination file already exists
      * then both are compared.
@@ -899,10 +899,8 @@ public class ProcessRemoteResourcesMojo
 
         if ( file.exists() )
         {
-            InputStream is = null;
-            try
+            try ( InputStream is = new FileInputStream( file ) )
             {
-                is = new FileInputStream( file );
                 final InputStream newContents = new ByteArrayInputStream( outStream.getData() );
                 needOverwrite = !IOUtil.contentEquals( is, newContents );
                 if ( getLog().isDebugEnabled() )
@@ -910,13 +908,6 @@ public class ProcessRemoteResourcesMojo
                     getLog().debug( "File " + file + " contents "
                                         + ( needOverwrite ? "differs" : "does not differ" ) );
                 }
-
-                is.close();
-                is = null;
-            }
-            finally
-            {
-                IOUtil.close( is );
             }
         }
 
@@ -926,16 +917,10 @@ public class ProcessRemoteResourcesMojo
             return;
         }
         getLog().debug( "Writing " + file );
-        OutputStream os = new FileOutputStream( file );
-        try
+        
+        try ( OutputStream os = new FileOutputStream( file ) )
         {
             outStream.writeTo( os );
-            os.close();
-            os = null;
-        }
-        finally
-        {
-            IOUtil.close( os );
         }
     }
 
@@ -957,7 +942,7 @@ public class ProcessRemoteResourcesMojo
 
         if ( filterDelimiters != null && !filterDelimiters.isEmpty() )
         {
-            LinkedHashSet<String> delims = new LinkedHashSet<String>();
+            LinkedHashSet<String> delims = new LinkedHashSet<>();
             if ( useDefaultFilterDelimiters )
             {
                 delims.addAll( req.getDelimiters() );
@@ -1085,7 +1070,7 @@ public class ProcessRemoteResourcesMojo
     private List<File> downloadBundles( List<String> bundles )
         throws MojoExecutionException
     {
-        List<File> bundleArtifacts = new ArrayList<File>();
+        List<File> bundleArtifacts = new ArrayList<>();
 
         try
         {
@@ -1165,12 +1150,11 @@ public class ProcessRemoteResourcesMojo
         throws MojoExecutionException
     {
         List<Map.Entry<String, RemoteResourcesBundle>> remoteResources =
-            new ArrayList<Map.Entry<String, RemoteResourcesBundle>>();
+            new ArrayList<>();
         int bundleCount = 0;
         int resourceCount = 0;
 
         // list remote resources form bundles
-        InputStream in = null;
         try
         {
             RemoteResourcesBundleXpp3Reader bundleReader = new RemoteResourcesBundleXpp3Reader();
@@ -1182,12 +1166,12 @@ public class ProcessRemoteResourcesMojo
                 bundleCount++;
                 getLog().debug( "processResourceBundle on bundle#" + bundleCount + " " + url );
 
-                in = url.openStream();
-
-                RemoteResourcesBundle bundle = bundleReader.read( in );
-
-                in.close();
-                in = null;
+                RemoteResourcesBundle bundle;
+                
+                try ( InputStream in = url.openStream() )
+                {
+                    bundle = bundleReader.read( in );
+                }
 
                 int n = 0;
                 for ( String bundleResource : bundle.getRemoteResources() )
@@ -1195,7 +1179,7 @@ public class ProcessRemoteResourcesMojo
                     n++;
                     resourceCount++;
                     getLog().debug( "bundle#" + bundleCount + " resource#" + n + " " + bundleResource );
-                    remoteResources.add( new AbstractMap.SimpleEntry<String, RemoteResourcesBundle>( bundleResource,
+                    remoteResources.add( new AbstractMap.SimpleEntry<>( bundleResource,
                                                                                                      bundle ) );
                 }
             }
@@ -1208,19 +1192,11 @@ public class ProcessRemoteResourcesMojo
         {
             throw new MojoExecutionException( "Error parsing remote resource bundle descriptor.", xppe );
         }
-        finally
-        {
-            IOUtil.close( in );
-        }
 
         getLog().info( "Copying " + resourceCount + " resource" + ( ( resourceCount > 1 ) ? "s" : "" ) + " from "
             + bundleCount + " bundle" + ( ( bundleCount > 1 ) ? "s" : "" ) + "." );
 
         String velocityResource = null;
-        OutputStream out = null;
-        Writer writer = null;
-        Reader reader = null;
-
         try
         {
 
@@ -1249,27 +1225,26 @@ public class ProcessRemoteResourcesMojo
                 {
                     if ( doVelocity )
                     {
-                        DeferredFileOutputStream os =
-                            new DeferredFileOutputStream( velocityFilterInMemoryThreshold, f );
-
-                        writer = bundle.getSourceEncoding() == null ? new OutputStreamWriter( os )
-                                        : new OutputStreamWriter( os, bundle.getSourceEncoding() );
-
-                        if ( bundle.getSourceEncoding() == null )
-                        {
-                            // TODO: Is this correct? Shouldn't we behave like the rest of maven and fail
-                            // down to JVM default instead ISO-8859-1 ?
-                            velocity.mergeTemplate( bundleResource, "ISO-8859-1", context, writer );
-                        }
-                        else
+                        try ( DeferredFileOutputStream os =
+                                        new DeferredFileOutputStream( velocityFilterInMemoryThreshold, f ) )
                         {
-                            velocity.mergeTemplate( bundleResource, bundle.getSourceEncoding(), context, writer );
-
+                            try ( Writer writer = bundle.getSourceEncoding() == null ? new OutputStreamWriter( os )
+                                            : new OutputStreamWriter( os, bundle.getSourceEncoding() ) )
+                            {
+                                if ( bundle.getSourceEncoding() == null )
+                                {
+                                    // TODO: Is this correct? Shouldn't we behave like the rest of maven and fail
+                                    // down to JVM default instead ISO-8859-1 ?
+                                    velocity.mergeTemplate( bundleResource, "ISO-8859-1", context, writer );
+                                }
+                                else
+                                {
+                                    velocity.mergeTemplate( bundleResource, bundle.getSourceEncoding(), context,
+                                                            writer );
+                                }
+                            }
+                            fileWriteIfDiffers( os );
                         }
-
-                        writer.close();
-                        writer = null;
-                        fileWriteIfDiffers( os );
                     }
                     else
                     {
@@ -1286,35 +1261,24 @@ public class ProcessRemoteResourcesMojo
                     if ( appendedResourceFile.exists() )
                     {
                         getLog().info( "Copying appended resource: " + projectResource );
-                        in = new FileInputStream( appendedResourceFile );
-                        out = new FileOutputStream( f, true );
-                        IOUtil.copy( in, out );
-                        out.close();
-                        out = null;
-                        in.close();
-                        in = null;
+                        try ( InputStream in = new FileInputStream( appendedResourceFile );
+                              OutputStream out = new FileOutputStream( f, true ) )
+                        {
+                            IOUtil.copy( in, out );
+                        }
+                        
                     }
                     else if ( appendedVmResourceFile.exists() )
                     {
                         getLog().info( "Filtering appended resource: " + projectResource + ".vm" );
-                        reader = new FileReader( appendedVmResourceFile );
+                        
 
-                        if ( bundle.getSourceEncoding() == null )
-                        {
-                            writer = new PrintWriter( new FileWriter( f, true ) );
-                        }
-                        else
+                        try ( Reader reader = new FileReader( appendedVmResourceFile ); 
+                              Writer writer = getWriter( bundle, f ) )
                         {
-                            writer = new PrintWriter( new OutputStreamWriter( new FileOutputStream( f, true ),
-                                                                              bundle.getSourceEncoding() ) );
+                            Velocity.init();
+                            Velocity.evaluate( context, writer, "remote-resources", reader );
                         }
-
-                        Velocity.init();
-                        Velocity.evaluate( context, writer, "remote-resources", reader );
-                        writer.close();
-                        writer = null;
-                        reader.close();
-                        reader = null;
                     }
                 }
             }
@@ -1327,13 +1291,22 @@ public class ProcessRemoteResourcesMojo
         {
             throw new MojoExecutionException( "Error rendering Velocity resource '" + velocityResource + "'", e );
         }
-        finally
+    }
+
+    private Writer getWriter( RemoteResourcesBundle bundle, File f )
+        throws IOException, UnsupportedEncodingException, FileNotFoundException
+    {
+        Writer writer;
+        if ( bundle.getSourceEncoding() == null )
+        {
+            writer = new PrintWriter( new FileWriter( f, true ) );
+        }
+        else
         {
-            IOUtil.close( out );
-            IOUtil.close( in );
-            IOUtil.close( writer );
-            IOUtil.close( reader );
+            writer = new PrintWriter( new OutputStreamWriter( new FileOutputStream( f, true ),
+                                                              bundle.getSourceEncoding() ) );
         }
+        return writer;
     }
 
     protected Model getSupplement( Xpp3Dom supplementModelXml )
@@ -1392,7 +1365,7 @@ public class ProcessRemoteResourcesMojo
             return Collections.emptyMap();
         }
 
-        List<Supplement> supplements = new ArrayList<Supplement>();
+        List<Supplement> supplements = new ArrayList<>();
         for ( String set : models )
         {
             getLog().debug( "Preparing ruleset: " + set );
@@ -1426,7 +1399,7 @@ public class ProcessRemoteResourcesMojo
 
         getLog().debug( "Loading supplements complete." );
 
-        Map<String, Model> supplementMap = new HashMap<String, Model>();
+        Map<String, Model> supplementMap = new HashMap<>();
         for ( Supplement sd : supplements )
         {
             Xpp3Dom dom = (Xpp3Dom) sd.getProject();
@@ -1462,6 +1435,7 @@ public class ProcessRemoteResourcesMojo
     class OrganizationComparator
         implements Comparator<Organization>
     {
+        @Override
         public int compare( Organization org1, Organization org2 )
         {
             int i = compareStrings( org1.getName(), org2.getName() );
@@ -1499,6 +1473,7 @@ public class ProcessRemoteResourcesMojo
     class ProjectComparator
         implements Comparator<MavenProject>
     {
+        @Override
         public int compare( MavenProject p1, MavenProject p2 )
         {
             return p1.getArtifact().compareTo( p2.getArtifact() );
@@ -1511,11 +1486,13 @@ public class ProcessRemoteResourcesMojo
     }
 
     /* LogChute methods */
+    @Override
     public void init( RuntimeServices rs )
         throws Exception
     {
     }
 
+    @Override
     public void log( int level, String message )
     {
         switch ( level )
@@ -1539,6 +1516,7 @@ public class ProcessRemoteResourcesMojo
         }
     }
 
+    @Override
     public void log( int level, String message, Throwable t )
     {
         switch ( level )
@@ -1562,6 +1540,7 @@ public class ProcessRemoteResourcesMojo
         }
     }
 
+    @Override
     public boolean isLevelEnabled( int level )
     {
         return false;
diff --git a/src/main/java/org/apache/maven/plugin/resources/remote/RemoteResourcesClassLoader.java b/src/main/java/org/apache/maven/plugin/resources/remote/RemoteResourcesClassLoader.java
index e485f22..7166fd1 100644
--- a/src/main/java/org/apache/maven/plugin/resources/remote/RemoteResourcesClassLoader.java
+++ b/src/main/java/org/apache/maven/plugin/resources/remote/RemoteResourcesClassLoader.java
@@ -33,6 +33,7 @@ public class RemoteResourcesClassLoader
         super( new URL[]{} , parent );
     }
 
+    @Override
     public void addURL( URL url )
     {
         super.addURL( url );
@@ -42,6 +43,7 @@ public class RemoteResourcesClassLoader
     // that we have provided.   Thus, we don't pull junk from the
     // system classpath jars and stuff instead of the jars
     // we specifically provided
+    @Override
     public URL getResource( String name ) 
     {
         URL url = findResource( name );
diff --git a/src/test/java/org/apache/maven/plugin/resources/remote/RemoteResourcesMojoTest.java b/src/test/java/org/apache/maven/plugin/resources/remote/RemoteResourcesMojoTest.java
index 8637767..16842b0 100644
--- a/src/test/java/org/apache/maven/plugin/resources/remote/RemoteResourcesMojoTest.java
+++ b/src/test/java/org/apache/maven/plugin/resources/remote/RemoteResourcesMojoTest.java
@@ -25,6 +25,7 @@ import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.versioning.VersionRange;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.execution.ReactorManager;
+import org.apache.maven.plugin.resources.remote.stub.MavenProjectBuildStub;
 import org.apache.maven.plugin.resources.remote.stub.MavenProjectResourcesStub;
 import org.apache.maven.plugin.testing.AbstractMojoTestCase;
 import org.apache.maven.project.MavenProject;
@@ -54,12 +55,14 @@ public class RemoteResourcesMojoTest
     static final String DEFAULT_BUNDLE_POM_PATH = "target/test-classes/unit/rrmojotest/bundle-plugin-config.xml";
     static final String DEFAULT_PROCESS_POM_PATH = "target/test-classes/unit/rrmojotest/process-plugin-config.xml";
 
+    @Override
     public void setUp()
         throws Exception
     {
         super.setUp();
     }
 
+    @Override
     public void tearDown()
         throws Exception
     {
@@ -142,9 +145,9 @@ public class RemoteResourcesMojoTest
                                                                         new String[] {
                                                                             "test:test:1.0:war"
                                                                         } );
-    
+
         setupDefaultProject( project );
-    
+
         ArtifactRepository repo = (ArtifactRepository) getVariableValueFromObject( mojo, "localRepository" );
         String path = repo.pathOf( new DefaultArtifact( "test",
                                                         "test",
@@ -153,22 +156,22 @@ public class RemoteResourcesMojoTest
                                                         "war",
                                                         "",
                                                         new DefaultArtifactHandler() ) );
-    
+
         File file = new File( repo.getBasedir() + "/" + path + ".war" );
         file.getParentFile().mkdirs();
         buildResourceBundle( "default-simplebundles-create",
                              null,
                              new String[] { "SIMPLE.txt" },
                              file );
-    
-    
+
+
         mojo.execute();
-    
+
         file = (File) getVariableValueFromObject( mojo, "outputDirectory" );
         file = new File( file, "SIMPLE.txt" );
         assertTrue( file.exists() );
     }
-    
+
     public void testSimpleBundlesWithClassifier()
         throws Exception
     {
@@ -177,9 +180,9 @@ public class RemoteResourcesMojoTest
                                                                         new String[] {
                                                                             "test:test:1.0:jar:test"
                                                                         } );
-    
+
         setupDefaultProject( project );
-    
+
         ArtifactRepository repo = (ArtifactRepository) getVariableValueFromObject( mojo, "localRepository" );
         String path = repo.pathOf( new DefaultArtifact( "test",
                                                         "test",
@@ -188,22 +191,22 @@ public class RemoteResourcesMojoTest
                                                         "jar",
                                                         "test",
                                                         new DefaultArtifactHandler() ) );
-    
+
         File file = new File( repo.getBasedir() + "/" + path + ".jar" );
         file.getParentFile().mkdirs();
         buildResourceBundle( "default-simplebundles-create",
                              null,
                              new String[] { "SIMPLE.txt" },
                              file );
-    
-    
+
+
         mojo.execute();
-    
+
         file = (File) getVariableValueFromObject( mojo, "outputDirectory" );
         file = new File( file, "SIMPLE.txt" );
         assertTrue( file.exists() );
     }
-    
+
     public void testVelocityUTF8()
         throws Exception
     {
@@ -431,7 +434,7 @@ public class RemoteResourcesMojoTest
     throws Exception
     {
         // put this on the root dir
-        project.addFile( "pom.xml", MavenProjectResourcesStub.ROOT_FILE );
+        project.addFile( "pom.xml", MavenProjectBuildStub.ROOT_FILE );
         project.setInceptionYear( "2007" );
         // start creating the environment
         project.setupBuildEnvironment();
@@ -484,7 +487,7 @@ public class RemoteResourcesMojoTest
                                                                  String bundles[] )
         throws Exception
     {
-        return lookupProcessMojoWithSettings( project, new ArrayList<String>( Arrays.asList( bundles ) ) );
+        return lookupProcessMojoWithSettings( project, new ArrayList<>( Arrays.asList( bundles ) ) );
     }
 
     protected ProcessRemoteResourcesMojo lookupProcessMojoWithSettings( final MavenProject project,
diff --git a/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_BadDependencyPoms.java b/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_BadDependencyPoms.java
index 1342825..9956881 100644
--- a/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_BadDependencyPoms.java
+++ b/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_BadDependencyPoms.java
@@ -46,7 +46,7 @@ public class IT_BadDependencyPoms
         Verifier verifier = TestUtils.newVerifier( dir );
         verifier.deleteArtifacts( "test" );
         verifier.getSystemProperties().setProperty( "it.dir", dir.getAbsolutePath() );
-        
+
         try
         {
             verifier.executeGoal( "generate-resources" );
@@ -60,19 +60,19 @@ public class IT_BadDependencyPoms
             // This is the case if we have missing artifacts
             // as in this test case.
             // This means we can't test the created file which will never
-            // contain the appropriate data we wan't to check for. 
-            // So the only reliable way is to check the log output 
+            // contain the appropriate data we wan't to check for.
+            // So the only reliable way is to check the log output
             // from maven which will print out message according to
             // the missing artifacts.
 
             File output = new File( dir, "log.txt" );
             String content = FileUtils.fileRead( output );
-            
+
             assertTrue(content.contains("mvn install:install-file -DgroupId=test -DartifactId=pom -Dversion=0.2 -Dpackaging=jar"));
             assertTrue(content.contains("mvn install:install-file -DgroupId=test -DartifactId=missing -Dversion=0.1 -Dpackaging=jar"));
             assertTrue(content.contains("mvn install:install-file -DgroupId=test -DartifactId=invalid -Dversion=0.1 -Dpackaging=jar"));
         }
-        
+
     }
 
 }
diff --git a/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_CustomFilterDelimiter.java b/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_CustomFilterDelimiter.java
index 6c017c7..e13884e 100644
--- a/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_CustomFilterDelimiter.java
+++ b/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_CustomFilterDelimiter.java
@@ -40,16 +40,16 @@ public class IT_CustomFilterDelimiter
     {
         File dir = TestUtils.getTestDir( "custom-filter-delim" );
         Verifier verifier = TestUtils.newVerifier( dir );
-        
+
         verifier.getCliOptions().add( "-X" );
-        
+
         verifier.executeGoal( "validate" );
         verifier.verifyErrorFreeLog();
         verifier.resetStreams();
-        
+
         File output = new File( dir, "target/maven-shared-archive-resources/DEPENDENCIES" );
         String content = FileUtils.fileRead( output );
-        
+
         assertTrue(content.contains("Override: custom-filter-delim"));
     }
 
diff --git a/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_FilterLocalOverride.java b/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_FilterLocalOverride.java
index ea3c535..d5a4fb3 100644
--- a/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_FilterLocalOverride.java
+++ b/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_FilterLocalOverride.java
@@ -40,14 +40,14 @@ public class IT_FilterLocalOverride
     {
         File dir = TestUtils.getTestDir( "filter-local-override" );
         Verifier verifier = TestUtils.newVerifier( dir );
-        
+
         verifier.executeGoal( "generate-resources" );
         verifier.verifyErrorFreeLog();
         verifier.resetStreams();
-        
+
         File output = new File( dir, "target/maven-shared-archive-resources/DEPENDENCIES" );
         String content = FileUtils.fileRead( output );
-        
+
         assertTrue(content.contains("Override: filter-local-override"));
     }
 
diff --git a/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_GenerateFromBundle.java b/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_GenerateFromBundle.java
index 325ba89..ae8fdcc 100644
--- a/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_GenerateFromBundle.java
+++ b/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_GenerateFromBundle.java
@@ -40,14 +40,14 @@ public class IT_GenerateFromBundle
     {
         File dir = TestUtils.getTestDir( "generate-from-bundle" );
         Verifier verifier = TestUtils.newVerifier( dir );
-        
+
         verifier.executeGoal( "generate-resources" );
         verifier.verifyErrorFreeLog();
         verifier.resetStreams();
-        
+
         File output = new File( dir, "target/maven-shared-archive-resources/DEPENDENCIES" );
         String content = FileUtils.fileRead( output );
-        
+
         assertTrue(content.contains("Built-In:"));
     }
 
diff --git a/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_GenerateFromBundleWithTypeAndClassifier.java b/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_GenerateFromBundleWithTypeAndClassifier.java
index b6b3fca..7467f51 100644
--- a/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_GenerateFromBundleWithTypeAndClassifier.java
+++ b/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_GenerateFromBundleWithTypeAndClassifier.java
@@ -38,17 +38,17 @@ public class IT_GenerateFromBundleWithTypeAndClassifier
     public void test()
         throws IOException, URISyntaxException, VerificationException
     {
-        
+
         File dir = TestUtils.getTestDir( "generate-from-bundle-with-type-and-classifier" );
         Verifier verifier = TestUtils.newVerifier( dir );
-        
+
         verifier.executeGoal( "generate-resources" );
         verifier.verifyErrorFreeLog();
         verifier.resetStreams();
-        
+
         File output = new File( dir, "target/maven-shared-archive-resources/DEPENDENCIES" );
         String content = FileUtils.fileRead( output );
-        
+
         assertTrue(content.contains("Built-In:"));
     }
 
diff --git a/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_GenerateFromOverride.java b/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_GenerateFromOverride.java
index 30ae904..864e3ea 100644
--- a/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_GenerateFromOverride.java
+++ b/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_GenerateFromOverride.java
@@ -44,10 +44,10 @@ public class IT_GenerateFromOverride
         verifier.executeGoal( "generate-resources" );
         verifier.verifyErrorFreeLog();
         verifier.resetStreams();
-        
+
         File output = new File( dir, "target/maven-shared-archive-resources/DEPENDENCIES" );
         String content = FileUtils.fileRead( output );
-        
+
         assertTrue(content.contains("Override:"));
     }
 
diff --git a/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_GetDependencyProjects.java b/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_GetDependencyProjects.java
index 09e15ba..0d4290d 100644
--- a/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_GetDependencyProjects.java
+++ b/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_GetDependencyProjects.java
@@ -67,18 +67,18 @@ public class IT_GetDependencyProjects
             // This is the case if we have missing artifacts
             // as in this test case.
             // This means we can't test the created file which will never
-            // contain the appropriate data we wan't to check for. 
-            // So the only reliable way is to check the log output 
+            // contain the appropriate data we wan't to check for.
+            // So the only reliable way is to check the log output
             // from maven which will print out message according to
             // the missing artifacts.
             File output = new File( verifier.getBasedir(), "log.txt" );
             String content = FileUtils.fileRead( output );
-            
+
             assertTrue(content.contains( "mvn install:install-file -DgroupId=org.apache.maven.plugin.rresource.it.gdp -DartifactId=release -Dversion=1.0 -Dpackaging=jar" ));
             assertTrue (content.contains( "mvn install:install-file -DgroupId=org.apache.maven.plugin.rresource.it.gdp -DartifactId=snapshot -Dversion=1.0-SNAPSHOT -Dpackaging=jar" ));
         }
 
-        
+
     }
 
 }
diff --git a/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_RunOnlyAtExecutionRoot.java b/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_RunOnlyAtExecutionRoot.java
index c092bad..1209568 100644
--- a/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_RunOnlyAtExecutionRoot.java
+++ b/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_RunOnlyAtExecutionRoot.java
@@ -46,7 +46,7 @@ public class IT_RunOnlyAtExecutionRoot
     {
         // Workaround for Windows + Maven-3.5.x + Jenkins due to MNG-6261
         assumeTrue( !(System.getenv( "JENKINS_HOME" ) != null && Os.isFamily( Os.FAMILY_WINDOWS ) && System.getenv( "MAVEN_HOME" ).contains( "-3.5." ) ) );
-        
+
         File dir = TestUtils.getTestDir( "run-only-at-execution-root" );
 
         Verifier verifier;
@@ -64,7 +64,7 @@ public class IT_RunOnlyAtExecutionRoot
         // Based on the name i assumed to be sure the remote-resources-plugin
         // will be executed only at root level.
         // This will fail, cause if an needed artifact is not there
-        // maven will fail. 
+        // maven will fail.
         // Might reconsider how to write a better testcase.
         // verifier.deleteArtifacts( "org.apache.maven.plugin.rresource.it.mrr41" );
 
diff --git a/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_SupplementalArtifact.java b/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_SupplementalArtifact.java
index 94078a7..600f97d 100644
--- a/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_SupplementalArtifact.java
+++ b/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_SupplementalArtifact.java
@@ -47,7 +47,7 @@ public class IT_SupplementalArtifact
         Verifier verifier;
 
         verifier = TestUtils.newVerifier( resources );
-        
+
         verifier.deleteArtifacts( "org.apache.maven.plugin.rresource.it.mrr43" );
 
         verifier.executeGoal( "deploy" );
diff --git a/src/test/java/org/apache/maven/plugin/resources/remote/it/support/BootstrapInstaller.java b/src/test/java/org/apache/maven/plugin/resources/remote/it/support/BootstrapInstaller.java
index 58310f8..58bb52f 100644
--- a/src/test/java/org/apache/maven/plugin/resources/remote/it/support/BootstrapInstaller.java
+++ b/src/test/java/org/apache/maven/plugin/resources/remote/it/support/BootstrapInstaller.java
@@ -28,23 +28,23 @@ import java.net.URISyntaxException;
 
 public class BootstrapInstaller
 {
-    
+
     private static boolean installed = false;
-    
+
     public static void install()
         throws IOException, URISyntaxException, VerificationException
     {
         if ( !installed )
         {
             File bootstrapDir = TestUtils.getTestDir( "bootstrap" );
-            
+
             Verifier verifier = TestUtils.newVerifier( bootstrapDir );
-            
+
             verifier.executeGoal( "deploy" );
-            
+
             verifier.verifyErrorFreeLog();
             verifier.resetStreams();
-            
+
             installed = true;
         }
     }
diff --git a/src/test/java/org/apache/maven/plugin/resources/remote/it/support/TestUtils.java b/src/test/java/org/apache/maven/plugin/resources/remote/it/support/TestUtils.java
index 7f6c7a1..1e15ab4 100644
--- a/src/test/java/org/apache/maven/plugin/resources/remote/it/support/TestUtils.java
+++ b/src/test/java/org/apache/maven/plugin/resources/remote/it/support/TestUtils.java
@@ -63,6 +63,13 @@ public class TestUtils
         Verifier verifier = new Verifier( dir.getAbsolutePath() );
         verifier.setLocalRepo( System.getProperty( "localRepositoryPath" ) );
         verifier.getSystemProperties().setProperty( "https.protocols", System.getProperty( "https.protocols", "TLSv1.2" ) );
+
+        int javaVersion = Integer.getInteger( "java.specification.version", 7 );
+        if ( javaVersion >= 12 )
+        {
+            verifier.setSystemProperty( "maven.compiler.source", "7" );
+            verifier.setSystemProperty( "maven.compiler.target", "7" );
+        }            
         return verifier;
     }
 
diff --git a/src/test/java/org/apache/maven/plugin/resources/remote/stub/ArtifactStub.java b/src/test/java/org/apache/maven/plugin/resources/remote/stub/ArtifactStub.java
index a4ba0d5..6cbd315 100644
--- a/src/test/java/org/apache/maven/plugin/resources/remote/stub/ArtifactStub.java
+++ b/src/test/java/org/apache/maven/plugin/resources/remote/stub/ArtifactStub.java
@@ -97,238 +97,285 @@ public class ArtifactStub
         versionRange = VersionRange.createFromVersion( version );
     }
 
+    @Override
     public boolean hasClassifier()
     {
         return true;
     }
 
+    @Override
     public String getBaseVersion()
     {
         return "Test Version";
     }
 
+    @Override
     public void setBaseVersion( String version )
     {
         baseVersion = version;
     }
 
+    @Override
     public void setFile( File _file )
     {
         file = _file;
     }
 
+    @Override
     public File getFile()
     {
         return new File( "testfile" );
     }
 
+    @Override
     public String getGroupId()
     {
         return groupId;
     }
 
+    @Override
     public String getArtifactId()
     {
         return artifactId;
     }
 
+    @Override
     public String getVersion()
     {
         return version;
     }
 
+    @Override
     public void setVersion( String _version )
     {
         version = _version;
     }
 
+    @Override
     public String getScope()
     {
         return scope;
     }
 
+    @Override
     public String getType()
     {
         return type;
     }
 
+    @Override
     public String getClassifier()
     {
         return classifier;
     }
 
+    @Override
     public String getId()
     {
         return identifier;
     }
 
+    @Override
     public String getDependencyConflictId()
     {
         return dependencyConflictId;
     }
 
+    @Override
     public void addMetadata( ArtifactMetadata metadata )
     {
 
     }
 
+    @Override
     public Collection<ArtifactMetadata> getMetadataList()
     {
-        return new LinkedList<ArtifactMetadata>();
+        return new LinkedList<>();
     }
 
+    @Override
     public void setRepository( ArtifactRepository remoteRepository )
     {
 
     }
 
+    @Override
     public ArtifactRepository getRepository()
     {
         return null;
     }
 
+    @Override
     public void updateVersion( String version, ArtifactRepository localRepository )
     {
 
     }
 
+    @Override
     public String getDownloadUrl()
     {
         return downloadUrl;
     }
 
+    @Override
     public void setDownloadUrl( String _downloadUrl )
     {
         downloadUrl = _downloadUrl;
     }
 
+    @Override
     public ArtifactFilter getDependencyFilter()
     {
         return null;
     }
 
+    @Override
     public void setDependencyFilter( ArtifactFilter artifactFilter )
     {
 
     }
 
+    @Override
     public ArtifactHandler getArtifactHandler()
     {
         return artifactHandler;
     }
 
+    @Override
     public List<String> getDependencyTrail()
     {
-        return new LinkedList<String>();
+        return new LinkedList<>();
     }
 
+    @Override
     public void setDependencyTrail(List<String> dependencyTrail)
     {
 
     }
 
+    @Override
     public void setScope( String _scope )
     {
         scope = _scope;
     }
 
+    @Override
     public VersionRange getVersionRange()
     {
         return versionRange;
     }
 
+    @Override
     public void setVersionRange( VersionRange newRange )
     {
 
     }
 
+    @Override
     public void selectVersion( String version )
     {
         selectedVersion = version;
     }
 
+    @Override
     public void setGroupId( String _groupId )
     {
         groupId = _groupId;
     }
 
+    @Override
     public void setArtifactId( String _artifactId )
     {
         artifactId = _artifactId;
     }
 
+    @Override
     public boolean isSnapshot()
     {
         return true;
     }
 
+    @Override
     public void setResolved( boolean _resolved )
     {
         resolved = _resolved;
     }
 
+    @Override
     public boolean isResolved()
     {
         return true;
     }
 
+    @Override
     public void setResolvedVersion( String version )
     {
         resolvedVersion = version;
     }
 
 
+    @Override
     public void setArtifactHandler( ArtifactHandler handler )
     {
 
     }
 
+    @Override
     public boolean isRelease()
     {
         return true;
     }
 
+    @Override
     public void setRelease( boolean _release )
     {
         release = _release;
     }
 
+    @Override
     public List<ArtifactVersion> getAvailableVersions()
     {
-        return new LinkedList<ArtifactVersion>();
+        return new LinkedList<>();
     }
 
+    @Override
     public void setAvailableVersions(List<ArtifactVersion> versions)
     {
 
     }
 
+    @Override
     public boolean isOptional()
     {
         return true;
     }
 
+    @Override
     public void setOptional( boolean _optional )
     {
         optional = _optional;
     }
 
+    @Override
     public ArtifactVersion getSelectedVersion()
         throws OverConstrainedVersionException
     {
         return null;
     }
 
+    @Override
     public boolean isSelectedVersionKnown()
         throws OverConstrainedVersionException
     {
         return true;
     }
 
+    @Override
     public int compareTo(Artifact o) {
         return 0;
     }
 
+    @Override
     public ArtifactMetadata getMetadata(Class<?> metadataClass) {
         return null;
     }
diff --git a/src/test/java/org/apache/maven/plugin/resources/remote/stub/MavenProjectBasicStub.java b/src/test/java/org/apache/maven/plugin/resources/remote/stub/MavenProjectBasicStub.java
index a8a1fad..0107561 100644
--- a/src/test/java/org/apache/maven/plugin/resources/remote/stub/MavenProjectBasicStub.java
+++ b/src/test/java/org/apache/maven/plugin/resources/remote/stub/MavenProjectBasicStub.java
@@ -70,21 +70,24 @@ public class MavenProjectBasicStub
 
         artifact.populate( this );
 
-        // this is ugly but needed to ensure that the copy constructor 
+        // this is ugly but needed to ensure that the copy constructor
         // works correctly
         initializeParentFields();
     }
 
+    @Override
     public String getName()
     {
         return "Test Project " + identifier;
     }
 
+    @Override
     public void setDescription( String desc )
     {
         description = desc;
     }
 
+    @Override
     public String getDescription()
     {
         if ( description == null )
@@ -97,33 +100,39 @@ public class MavenProjectBasicStub
         }
     }
 
+    @Override
     public File getBasedir()
     {
-        // create an isolated environment 
+        // create an isolated environment
         // see setupTestEnvironment for details
         return new File( testRootDir );
     }
 
+    @Override
     public Artifact getArtifact()
     {
         return artifact;
     }
 
+    @Override
     public String getGroupId()
     {
         return "org.apache.maven.plugin.test";
     }
 
+    @Override
     public String getArtifactId()
     {
         return "maven-resource-plugin-test#" + identifier;
     }
 
+    @Override
     public String getPackaging()
     {
         return "ejb";
     }
 
+    @Override
     public String getVersion()
     {
         return identifier;
@@ -134,6 +143,7 @@ public class MavenProjectBasicStub
         properties.put( key, value );
     }
 
+    @Override
     public Properties getProperties()
     {
         return properties;
@@ -142,17 +152,17 @@ public class MavenProjectBasicStub
     // to prevent the MavenProject copy constructor from blowing up
     private void initializeParentFields()
     {
-        // the pom should be located in the isolated dummy root         
+        // the pom should be located in the isolated dummy root
         super.setFile( new File( getBasedir(), "pom.xml" ) );
-        super.setDependencyArtifacts( new HashSet<Object>() );
-        super.setArtifacts( new HashSet<Object>() );
-        super.setPluginArtifacts( new HashSet<Object>() );
-        super.setReportArtifacts( new HashSet<Object>() );
-        super.setExtensionArtifacts( new HashSet<Object>() );
-        super.setRemoteArtifactRepositories( new LinkedList<Object>() );
-        super.setPluginArtifactRepositories( new LinkedList<Object>() );
-        super.setCollectedProjects( new LinkedList<Object>() );
-        super.setActiveProfiles( new LinkedList<Object>() );
+        super.setDependencyArtifacts( new HashSet<>() );
+        super.setArtifacts( new HashSet<>() );
+        super.setPluginArtifacts( new HashSet<>() );
+        super.setReportArtifacts( new HashSet<>() );
+        super.setExtensionArtifacts( new HashSet<>() );
+        super.setRemoteArtifactRepositories( new LinkedList<>() );
+        super.setPluginArtifactRepositories( new LinkedList<>() );
+        super.setCollectedProjects( new LinkedList<>() );
+        super.setActiveProfiles( new LinkedList<>() );
         super.setOriginalModel( null );
         super.setExecutionProject( this );
         super.setArtifact( artifact );
diff --git a/src/test/java/org/apache/maven/plugin/resources/remote/stub/MavenProjectBuildStub.java b/src/test/java/org/apache/maven/plugin/resources/remote/stub/MavenProjectBuildStub.java
index cb15022..3339fbe 100644
--- a/src/test/java/org/apache/maven/plugin/resources/remote/stub/MavenProjectBuildStub.java
+++ b/src/test/java/org/apache/maven/plugin/resources/remote/stub/MavenProjectBuildStub.java
@@ -81,12 +81,12 @@ public class MavenProjectBuildStub
         super( key );
 
         build = new Build();
-        resourcesFileList = new ArrayList<String>();
-        sourceFileList = new ArrayList<String>();
-        rootFileList = new ArrayList<String>();
-        directoryList = new ArrayList<String>();
-        targetClassesList = new ArrayList<String>();
-        dataMap = new HashMap<String, String>();
+        resourcesFileList = new ArrayList<>();
+        sourceFileList = new ArrayList<>();
+        rootFileList = new ArrayList<>();
+        directoryList = new ArrayList<>();
+        targetClassesList = new ArrayList<>();
+        dataMap = new HashMap<>();
         setupBuild();
     }
 
@@ -142,6 +142,7 @@ public class MavenProjectBuildStub
         return testResourcesDirectory;
     }
 
+    @Override
     public Build getBuild()
     {
         return build;
@@ -171,7 +172,7 @@ public class MavenProjectBuildStub
     private void setupBuild()
     {
         // check getBasedir method for the exact path
-        // we need to recreate the dir structure in 
+        // we need to recreate the dir structure in
         // an isolated environment
         srcDirectory = testRootDir + "/src";
         buildDirectory = testRootDir + "/target";
@@ -205,7 +206,7 @@ public class MavenProjectBuildStub
         createFiles( resourcesDirectory, testResourcesDirectory );
         setupRootFiles();
 
-        // setup target dir        
+        // setup target dir
         if ( !FileUtils.fileExists( outputDirectory ) )
         {
             FileUtils.mkdir( outputDirectory );
diff --git a/src/test/java/org/apache/maven/plugin/resources/remote/stub/MavenProjectResourcesStub.java b/src/test/java/org/apache/maven/plugin/resources/remote/stub/MavenProjectResourcesStub.java
index 282f6a4..905fa33 100644
--- a/src/test/java/org/apache/maven/plugin/resources/remote/stub/MavenProjectResourcesStub.java
+++ b/src/test/java/org/apache/maven/plugin/resources/remote/stub/MavenProjectResourcesStub.java
@@ -89,7 +89,7 @@ public class MavenProjectResourcesStub
     {
         Resource resource = new Resource();
 
-        // see MavenProjectBasicStub for details 
+        // see MavenProjectBasicStub for details
         // of getBasedir
 
         // setup default resources
@@ -103,10 +103,10 @@ public class MavenProjectResourcesStub
     {
         Resource resource = new Resource();
 
-        // see MavenProjectBasicStub for details 
-        // of getBasedir      
+        // see MavenProjectBasicStub for details
+        // of getBasedir
 
-        // setup default test resources         
+        // setup default test resources
         resource.setDirectory( getBasedir().getPath() + "/src/test/resources" );
         resource.setFiltering( false );
         resource.setTargetPath( null );
diff --git a/src/test/java/org/apache/maven/plugin/resources/remote/stub/ModelStub.java b/src/test/java/org/apache/maven/plugin/resources/remote/stub/ModelStub.java
index 54d732e..3f64098 100644
--- a/src/test/java/org/apache/maven/plugin/resources/remote/stub/ModelStub.java
+++ b/src/test/java/org/apache/maven/plugin/resources/remote/stub/ModelStub.java
@@ -37,42 +37,50 @@ public class ModelStub
 
     }
 
+    @Override
     public String getVersion()
     {
         return "0.0-TEST";
     }
 
+    @Override
     public String getModelVersion()
     {
         return "0.0-TEST";
     }
 
+    @Override
     public String getName()
     {
         return "Test Model";
     }
 
+    @Override
     public String getGroupId()
     {
         return "org.apache.maven.test";
     }
 
+    @Override
     public String getPackaging()
     {
         return "jar";
     }
 
+    @Override
     public Parent getParent()
     {
         //return new Parent();
         return null;
     }
 
+    @Override
     public String getArtifactId()
     {
         return "maven-test-plugin";
     }
 
+    @Override
     public Properties getProperties()
     {
         return new Properties();