You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2022/04/22 15:48:34 UTC

[maven-war-plugin] 01/01: [MWAR-453] Require Java 8

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

slachiewicz pushed a commit to branch MWAR-453
in repository https://gitbox.apache.org/repos/asf/maven-war-plugin.git

commit a73af6f133355bda3e5df8e96111c3fe242dd86d
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Fri Apr 22 17:48:27 2022 +0200

    [MWAR-453] Require Java 8
---
 pom.xml                                            |  2 +-
 .../apache/maven/plugins/war/AbstractWarMojo.java  |  4 +-
 .../java/org/apache/maven/plugins/war/Overlay.java |  8 ++--
 .../war/packaging/AbstractWarPackagingTask.java    | 14 ++++---
 .../war/packaging/WarProjectPackagingTask.java     |  4 +-
 .../plugins/war/AbstractWarExplodedMojoTest.java   |  4 +-
 .../maven/plugins/war/AbstractWarMojoTest.java     |  2 +-
 .../maven/plugins/war/WarExplodedMojoTest.java     | 46 +++++++++++-----------
 .../maven/plugins/war/WarInPlaceMojoTest.java      |  2 +-
 .../org/apache/maven/plugins/war/WarMojoTest.java  | 26 ++++++------
 .../apache/maven/plugins/war/WarOverlaysTest.java  | 14 +++----
 .../org/apache/maven/plugins/war/WarZipTest.java   |  2 +-
 .../war/stub/MavenProject4CopyConstructor.java     | 14 +++----
 .../plugins/war/util/WebappStructureTest.java      |  8 ++--
 14 files changed, 76 insertions(+), 74 deletions(-)

diff --git a/pom.xml b/pom.xml
index e8e80d7..2000843 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,7 +65,7 @@
     <mavenArchiverVersion>3.5.0</mavenArchiverVersion>
     <mavenFilteringVersion>3.1.1</mavenFilteringVersion>
     <mavenVersion>3.1.0</mavenVersion>
-    <javaVersion>7</javaVersion>
+    <javaVersion>8</javaVersion>
     <project.build.outputTimestamp>2021-09-05T09:31:59Z</project.build.outputTimestamp>
   </properties>
 
diff --git a/src/main/java/org/apache/maven/plugins/war/AbstractWarMojo.java b/src/main/java/org/apache/maven/plugins/war/AbstractWarMojo.java
index cb26955..983fcf8 100644
--- a/src/main/java/org/apache/maven/plugins/war/AbstractWarMojo.java
+++ b/src/main/java/org/apache/maven/plugins/war/AbstractWarMojo.java
@@ -408,7 +408,7 @@ public abstract class AbstractWarMojo
             excludeList.add( "**/" + META_INF + "/" + containerConfigXML.getName() );
         }
 
-        return excludeList.toArray( new String[excludeList.size()] );
+        return excludeList.toArray( new String[0] );
     }
 
     /**
@@ -626,7 +626,7 @@ public abstract class AbstractWarMojo
             this.artifactFactory = artifactFactory;
             this.filteringDeploymentDescriptors = filteringDeploymentDescriptors;
             this.nonFilteredFileExtensions =
-                nonFilteredFileExtensions == null ? Collections.<String>emptyList() : nonFilteredFileExtensions;
+                nonFilteredFileExtensions == null ? Collections.emptyList() : nonFilteredFileExtensions;
             this.resourceEncoding = resourceEncoding;
             // This is kinda stupid but if we loop over the current overlays and we request the path structure
             // it will register it. This will avoid wrong warning messages in a later phase
diff --git a/src/main/java/org/apache/maven/plugins/war/Overlay.java b/src/main/java/org/apache/maven/plugins/war/Overlay.java
index c42f1c7..beabf3b 100644
--- a/src/main/java/org/apache/maven/plugins/war/Overlay.java
+++ b/src/main/java/org/apache/maven/plugins/war/Overlay.java
@@ -358,8 +358,8 @@ public class Overlay
     {
         int result;
         result = ( getId() != null ? getId().hashCode() : 0 );
-        result = 31 * result + ( includes != null ? includes.hashCode() : 0 );
-        result = 31 * result + ( excludes != null ? excludes.hashCode() : 0 );
+        result = 31 * result + ( includes != null ? Arrays.hashCode( includes ) : 0 );
+        result = 31 * result + ( excludes != null ? Arrays.hashCode( excludes ) : 0 );
         return result;
     }
 
@@ -368,7 +368,7 @@ public class Overlay
         final List<String> result = new ArrayList<>();
         if ( s == null )
         {
-            return result.toArray( new String[result.size()] );
+            return result.toArray( new String[0] );
         }
         else
         {
@@ -377,7 +377,7 @@ public class Overlay
             {
                 result.add( token.trim() );
             }
-            return result.toArray( new String[result.size()] );
+            return result.toArray( new String[0] );
         }
     }
 
diff --git a/src/main/java/org/apache/maven/plugins/war/packaging/AbstractWarPackagingTask.java b/src/main/java/org/apache/maven/plugins/war/packaging/AbstractWarPackagingTask.java
index a545e52..0c8a0b1 100644
--- a/src/main/java/org/apache/maven/plugins/war/packaging/AbstractWarPackagingTask.java
+++ b/src/main/java/org/apache/maven/plugins/war/packaging/AbstractWarPackagingTask.java
@@ -21,6 +21,8 @@ package org.apache.maven.plugins.war.packaging;
 
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.attribute.BasicFileAttributes;
 
 import org.apache.commons.io.input.XmlStreamReader;
 import org.apache.maven.artifact.Artifact;
@@ -337,14 +339,16 @@ public abstract class AbstractWarPackagingTask
     {
         context.addResource( targetFilename );
 
-        if ( onlyIfModified && destination.lastModified() >= source.lastModified() )
+        BasicFileAttributes readAttributes = Files.readAttributes( source.toPath(), BasicFileAttributes.class );
+        if ( onlyIfModified && destination.lastModified() >= readAttributes.lastModifiedTime()
+                .toMillis() )
         {
             context.getLog().debug( " * " + targetFilename + " is up to date." );
             return false;
         }
         else
         {
-            if ( source.isDirectory() )
+            if ( readAttributes.isDirectory() )
             {
                 context.getLog().warn( " + " + targetFilename + " is packaged from the source folder" );
 
@@ -359,16 +363,14 @@ public abstract class AbstractWarPackagingTask
                 {
                     String msg = "Failed to create " + targetFilename;
                     context.getLog().error( msg, e );
-                    IOException ioe = new IOException( msg );
-                    ioe.initCause( e );
-                    throw ioe;
+                    throw new IOException( msg, e );
                 }
             }
             else
             {
                 FileUtils.copyFile( source.getCanonicalFile(), destination );
                 // preserve timestamp
-                destination.setLastModified( source.lastModified() );
+                destination.setLastModified( readAttributes.lastModifiedTime().toMillis() );
                 context.getLog().debug( " + " + targetFilename + " has been copied." );
             }
             return true;
diff --git a/src/main/java/org/apache/maven/plugins/war/packaging/WarProjectPackagingTask.java b/src/main/java/org/apache/maven/plugins/war/packaging/WarProjectPackagingTask.java
index 5993706..b70947d 100644
--- a/src/main/java/org/apache/maven/plugins/war/packaging/WarProjectPackagingTask.java
+++ b/src/main/java/org/apache/maven/plugins/war/packaging/WarProjectPackagingTask.java
@@ -360,7 +360,7 @@ public class WarProjectPackagingTask
         scanner.setBasedir( resource.getDirectory() );
         if ( resource.getIncludes() != null && !resource.getIncludes().isEmpty() )
         {
-            scanner.setIncludes( resource.getIncludes().toArray( new String[resource.getIncludes().size()] ) );
+            scanner.setIncludes( resource.getIncludes().toArray( new String[0] ) );
         }
         else
         {
@@ -368,7 +368,7 @@ public class WarProjectPackagingTask
         }
         if ( resource.getExcludes() != null && !resource.getExcludes().isEmpty() )
         {
-            scanner.setExcludes( resource.getExcludes().toArray( new String[resource.getExcludes().size()] ) );
+            scanner.setExcludes( resource.getExcludes().toArray( new String[0] ) );
         }
 
         scanner.addDefaultExcludes();
diff --git a/src/test/java/org/apache/maven/plugins/war/AbstractWarExplodedMojoTest.java b/src/test/java/org/apache/maven/plugins/war/AbstractWarExplodedMojoTest.java
index e562398..8723488 100644
--- a/src/test/java/org/apache/maven/plugins/war/AbstractWarExplodedMojoTest.java
+++ b/src/test/java/org/apache/maven/plugins/war/AbstractWarExplodedMojoTest.java
@@ -109,7 +109,7 @@ public abstract class AbstractWarExplodedMojoTest
             }
         }
 
-        configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "workDirectory", workDirectory );
 
         return webAppDirectory;
@@ -267,7 +267,7 @@ public abstract class AbstractWarExplodedMojoTest
         }
     }
 
-    class FileFilterImpl
+    static class FileFilterImpl
         implements FileFilter
     {
 
diff --git a/src/test/java/org/apache/maven/plugins/war/AbstractWarMojoTest.java b/src/test/java/org/apache/maven/plugins/war/AbstractWarMojoTest.java
index 3de518f..3510885 100644
--- a/src/test/java/org/apache/maven/plugins/war/AbstractWarMojoTest.java
+++ b/src/test/java/org/apache/maven/plugins/war/AbstractWarMojoTest.java
@@ -74,7 +74,7 @@ public abstract class AbstractWarMojoTest
             new DefaultMavenExecutionRequest().setSystemProperties( System.getProperties() ).setStartTime( new Date() );
 
         MavenSession mavenSession =
-            new MavenSession( (PlexusContainer) null, (RepositorySystemSession) null, request, null );
+            new MavenSession( null, null, request, null );
         setVariableValueToObject( mojo, "session", mavenSession );
         setVariableValueToObject( mojo, "outdatedCheckPath", "WEB-INF/lib/" );
         mojo.setClassesDirectory( classesDir );
diff --git a/src/test/java/org/apache/maven/plugins/war/WarExplodedMojoTest.java b/src/test/java/org/apache/maven/plugins/war/WarExplodedMojoTest.java
index 22ff280..45faf0f 100644
--- a/src/test/java/org/apache/maven/plugins/war/WarExplodedMojoTest.java
+++ b/src/test/java/org/apache/maven/plugins/war/WarExplodedMojoTest.java
@@ -80,7 +80,7 @@ public class WarExplodedMojoTest
 
         // configure mojo
         resources[0].setDirectory( webAppResource.getAbsolutePath() );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "webResources", resources );
         mojo.execute();
 
@@ -124,7 +124,7 @@ public class WarExplodedMojoTest
         // configure mojo
         resources[0].setDirectory( webAppResource.getAbsolutePath() );
         resources[0].setTargetPath( "targetPath" );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "webResources", resources );
         mojo.execute();
 
@@ -162,7 +162,7 @@ public class WarExplodedMojoTest
         File webAppDirectory = new File( getTestDirectory(), testId );
 
         // configure mojo
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         mojo.setWebXml( new File( xmlSource, "web.xml" ) );
         mojo.execute();
 
@@ -200,7 +200,7 @@ public class WarExplodedMojoTest
         File webAppDirectory = new File( getTestDirectory(), testId );
 
         // configure mojo
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         mojo.setContainerConfigXML( new File( xmlSource, "config.xml" ) );
         mojo.execute();
 
@@ -246,7 +246,7 @@ public class WarExplodedMojoTest
 
         // configure mojo
         project.addArtifact( warArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "workDirectory", workDirectory );
         mojo.execute();
 
@@ -293,7 +293,7 @@ public class WarExplodedMojoTest
 
         // configure mojo
         project.addArtifact( warArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "workDirectory", workDirectory );
         mojo.execute();
 
@@ -309,7 +309,7 @@ public class WarExplodedMojoTest
         expectedFile.setLastModified( time );
 
         project.addArtifact( warArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "workDirectory", workDirectory );
         mojo.execute();
 
@@ -394,7 +394,7 @@ public class WarExplodedMojoTest
 
         // configure mojo
         project.addArtifact( ejbArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         mojo.execute();
 
         // validate operation
@@ -431,7 +431,7 @@ public class WarExplodedMojoTest
 
         // configure mojo
         project.addArtifact( jarArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         mojo.execute();
 
         // validate operation
@@ -469,7 +469,7 @@ public class WarExplodedMojoTest
 
         // configure mojo
         project.addArtifact( ejbArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         mojo.execute();
 
         // validate operation
@@ -507,7 +507,7 @@ public class WarExplodedMojoTest
 
         // configure mojo
         project.addArtifact( tldArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         mojo.execute();
 
         // validate operation
@@ -545,7 +545,7 @@ public class WarExplodedMojoTest
 
         // configure mojo
         project.addArtifact( parartifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         mojo.execute();
 
         // validate operation
@@ -585,7 +585,7 @@ public class WarExplodedMojoTest
 
         // configure mojo
         project.addArtifact( aarArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         mojo.execute();
 
         // validate operation
@@ -625,7 +625,7 @@ public class WarExplodedMojoTest
 
         // configure mojo
         project.addArtifact( marArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         mojo.execute();
 
         // validate operation
@@ -665,7 +665,7 @@ public class WarExplodedMojoTest
 
         // configure mojo
         project.addArtifact( xarArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         mojo.execute();
 
         // validate operation
@@ -708,7 +708,7 @@ public class WarExplodedMojoTest
         ejbArtifactDup.setGroupId( "org.dup.ejb" );
         project.addArtifact( ejbArtifact );
         project.addArtifact( ejbArtifactDup );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         mojo.execute();
 
         // validate operation
@@ -760,7 +760,7 @@ public class WarExplodedMojoTest
         project.addArtifact( ejbArtifact );
         project.addArtifact( ejbArtifactDup );
 
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         mojo.execute();
 
         // validate operation
@@ -796,7 +796,7 @@ public class WarExplodedMojoTest
         File classesDir = createClassesDir( testId, false );
 
         // configure mojo
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         mojo.execute();
 
         // validate operation
@@ -829,7 +829,7 @@ public class WarExplodedMojoTest
         File webAppDirectory = new File( getTestDirectory(), testId );
 
         // configure mojo
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "warSourceIncludes", "**/*sit.jsp" );
         setVariableValueToObject( mojo, "warSourceExcludes", "**/last*.*" );
         mojo.execute();
@@ -874,7 +874,7 @@ public class WarExplodedMojoTest
 
         // configure mojo
         project.addArtifact( includeexcludeWarArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "dependentWarIncludes", "**/*Include.jsp,**/*.xml" );
         setVariableValueToObject( mojo, "dependentWarExcludes", "**/*Exclude*,**/MANIFEST.MF" );
         setVariableValueToObject( mojo, "workDirectory", workDirectory );
@@ -919,7 +919,7 @@ public class WarExplodedMojoTest
         File webAppDirectory = new File( getTestDirectory(), testId );
 
         // configure mojo
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
 
         // destination file is already created manually containing an "error" string
         // source is newer than the destination file
@@ -982,7 +982,7 @@ public class WarExplodedMojoTest
         // configure mojo
         project.addArtifact( jarArtifact );
         mojo.setOutputFileNameMapping( "@{artifactId}@.@{extension}@" );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         mojo.execute();
 
         // validate operation
@@ -1026,7 +1026,7 @@ public class WarExplodedMojoTest
         project.addArtifact( ejbArtifact );
         project.addArtifact( ejbArtifactDup );
         mojo.setOutputFileNameMapping( "@{artifactId}@.@{extension}@" );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         mojo.execute();
 
         // validate operation
diff --git a/src/test/java/org/apache/maven/plugins/war/WarInPlaceMojoTest.java b/src/test/java/org/apache/maven/plugins/war/WarInPlaceMojoTest.java
index d93433c..8cf4557 100644
--- a/src/test/java/org/apache/maven/plugins/war/WarInPlaceMojoTest.java
+++ b/src/test/java/org/apache/maven/plugins/war/WarInPlaceMojoTest.java
@@ -70,7 +70,7 @@ public class WarInPlaceMojoTest
 
         // configure mojo
         resources[0].setDirectory( webAppResource.getAbsolutePath() );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, null, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, null, project );
         setVariableValueToObject( mojo, "webResources", resources );
         mojo.execute();
 
diff --git a/src/test/java/org/apache/maven/plugins/war/WarMojoTest.java b/src/test/java/org/apache/maven/plugins/war/WarMojoTest.java
index 7a313ec..84a8ce8 100644
--- a/src/test/java/org/apache/maven/plugins/war/WarMojoTest.java
+++ b/src/test/java/org/apache/maven/plugins/war/WarMojoTest.java
@@ -81,7 +81,7 @@ public class WarMojoTest
         File xmlSource = createXMLConfigDir( testId, new String[] { "web.xml" } );
 
         project.setArtifact( warArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "outputDirectory", outputDir );
         setVariableValueToObject( mojo, "warName", warName );
         mojo.setWebXml( new File( xmlSource, "web.xml" ) );
@@ -110,7 +110,7 @@ public class WarMojoTest
         File xmlSource = createXMLConfigDir( testId, new String[] { "web.xml" } );
 
         project.setArtifact( warArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "outputDirectory", outputDir );
         setVariableValueToObject( mojo, "warName", warName );
         mojo.setWebXml( new File( xmlSource, "web.xml" ) );
@@ -142,7 +142,7 @@ public class WarMojoTest
         File xmlSource = createXMLConfigDir( testId, new String[] { "web.xml" } );
 
         project.setArtifact( warArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "projectHelper", projectHelper );
         setVariableValueToObject( mojo, "classifier", "test-classifier" );
         setVariableValueToObject( mojo, "outputDirectory", outputDir );
@@ -175,7 +175,7 @@ public class WarMojoTest
 
         warArtifact.setFile( new File( "error.war" ) );
         project.setArtifact( warArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "projectHelper", projectHelper );
         setVariableValueToObject( mojo, "outputDirectory", outputDir );
         setVariableValueToObject( mojo, "warName", warName );
@@ -211,7 +211,7 @@ public class WarMojoTest
 
         warArtifact.setFile( new File( "error.war" ) );
         project.setArtifact( warArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "projectHelper", projectHelper );
         setVariableValueToObject( mojo, "outputDirectory", outputDir );
         setVariableValueToObject( mojo, "warName", warName );
@@ -245,7 +245,7 @@ public class WarMojoTest
         createFile( configFile, "<config></config>" );
 
         project.setArtifact( warArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "outputDirectory", outputDir );
         setVariableValueToObject( mojo, "warName", warName );
         mojo.setWebXml( new File( xmlSource, "web.xml" ) );
@@ -279,7 +279,7 @@ public class WarMojoTest
         createFile( configFile, "<config></config>" );
 
         project.setArtifact( warArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "outputDirectory", outputDir );
         setVariableValueToObject( mojo, "warName", warName );
         mojo.setWebXml( new File( xmlSource, "web.xml" ) );
@@ -310,7 +310,7 @@ public class WarMojoTest
         File classesDir = createClassesDir( testId, true );
 
         project.setArtifact( warArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "outputDirectory", outputDir );
         setVariableValueToObject( mojo, "warName", warName );
         mojo.setFailOnMissingWebXml( false );
@@ -341,7 +341,7 @@ public class WarMojoTest
         File classesDir = createClassesDir( testId, true );
 
         project.setArtifact( warArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "outputDirectory", outputDir );
         setVariableValueToObject( mojo, "warName", warName );
         mojo.setFailOnMissingWebXml( true );
@@ -378,7 +378,7 @@ public class WarMojoTest
 
         project.setArtifact( warArtifact );
         project.setFile( warArtifact.getFile() );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "outputDirectory", outputDir );
         setVariableValueToObject( mojo, "warName", warName );
 
@@ -410,7 +410,7 @@ public class WarMojoTest
 
         project.setArtifact( warArtifact );
         project.setFile( warArtifact.getFile() );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "outputDirectory", outputDir );
         setVariableValueToObject( mojo, "warName", warName );
 
@@ -440,7 +440,7 @@ public class WarMojoTest
         File xmlSource = createXMLConfigDir( testId, new String[] { "web.xml" } );
 
         project.setArtifact( warArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "outputDirectory", outputDir );
         setVariableValueToObject( mojo, "warName", warName );
         mojo.setWebXml( new File( xmlSource, "web.xml" ) );
@@ -469,7 +469,7 @@ public class WarMojoTest
         File xmlSource = createXMLConfigDir( testId, new String[] { "web.xml" } );
 
         project.setArtifact( warArtifact );
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "outputDirectory", outputDir );
         setVariableValueToObject( mojo, "warName", warName );
         mojo.setWebXml( new File( xmlSource, "web.xml" ) );
diff --git a/src/test/java/org/apache/maven/plugins/war/WarOverlaysTest.java b/src/test/java/org/apache/maven/plugins/war/WarOverlaysTest.java
index aca9778..31ce469 100644
--- a/src/test/java/org/apache/maven/plugins/war/WarOverlaysTest.java
+++ b/src/test/java/org/apache/maven/plugins/war/WarOverlaysTest.java
@@ -111,7 +111,7 @@ public class WarOverlaysTest
             assertOverlayedFile( webAppDirectory, "overlay-one", "login.jsp" );
 
             // Ok now check that there is no more files/directories
-            final FileFilter filter = new FileFilterImpl( webAppDirectory, new String[] { MANIFEST_PATH } );
+            final FileFilter filter = new FileFilterImpl( webAppDirectory, new String[] {MANIFEST_PATH} );
             assertWebAppContent( webAppDirectory, assertedFiles, filter );
         }
         finally
@@ -149,7 +149,7 @@ public class WarOverlaysTest
             assertOverlayedFile( webAppDirectory, "overlay-two", "admin.jsp" );
 
             // Ok now check that there is no more files/directories
-            final FileFilter filter = new FileFilterImpl( webAppDirectory, new String[] { MANIFEST_PATH } );
+            final FileFilter filter = new FileFilterImpl( webAppDirectory, new String[] {MANIFEST_PATH} );
             assertWebAppContent( webAppDirectory, assertedFiles, filter );
         }
         finally
@@ -293,7 +293,7 @@ public class WarOverlaysTest
             assertOverlayedFile( webAppDirectory, "overlay-full-1", "WEB-INF/lib/c.jar" );
 
             // Ok now check that there is no more files/directories
-            final FileFilter filter = new FileFilterImpl( webAppDirectory, new String[] { MANIFEST_PATH } );
+            final FileFilter filter = new FileFilterImpl( webAppDirectory, new String[] {MANIFEST_PATH} );
             assertWebAppContent( webAppDirectory, assertedFiles, filter );
         }
         finally
@@ -329,7 +329,7 @@ public class WarOverlaysTest
 
         Overlay over4 = new DefaultOverlay( overlay2 );
 
-        mojo.setOverlays( new LinkedList<Overlay>() );
+        mojo.setOverlays( new LinkedList<>() );
         mojo.addOverlay( over1 );
         mojo.addOverlay( over2 );
         mojo.addOverlay( over3 );
@@ -362,7 +362,7 @@ public class WarOverlaysTest
             assertOverlayedFile( webAppDirectory, "overlay-full-2", "WEB-INF/lib/c.jar" );
 
             // Ok now check that there is no more files/directories
-            final FileFilter filter = new FileFilterImpl( webAppDirectory, new String[] { MANIFEST_PATH } );
+            final FileFilter filter = new FileFilterImpl( webAppDirectory, new String[] {MANIFEST_PATH} );
             assertWebAppContent( webAppDirectory, assertedFiles, filter );
         }
         finally
@@ -399,7 +399,7 @@ public class WarOverlaysTest
 
         Overlay over4 = new DefaultOverlay( overlay2 );
 
-        mojo.setOverlays( new LinkedList<Overlay>() );
+        mojo.setOverlays( new LinkedList<>() );
         mojo.addOverlay( over1 );
         mojo.addOverlay( over2 );
         mojo.addOverlay( over3 );
@@ -432,7 +432,7 @@ public class WarOverlaysTest
             assertOverlayedFile( webAppDirectory, "overlay-full-2", "WEB-INF/lib/c.jar" );
 
             // Ok now check that there is no more files/directories
-            final FileFilter filter = new FileFilterImpl( webAppDirectory, new String[] { MANIFEST_PATH } );
+            final FileFilter filter = new FileFilterImpl( webAppDirectory, new String[] {MANIFEST_PATH} );
             assertWebAppContent( webAppDirectory, assertedFiles, filter );
         }
         finally
diff --git a/src/test/java/org/apache/maven/plugins/war/WarZipTest.java b/src/test/java/org/apache/maven/plugins/war/WarZipTest.java
index 88f6655..cc61d2e 100644
--- a/src/test/java/org/apache/maven/plugins/war/WarZipTest.java
+++ b/src/test/java/org/apache/maven/plugins/war/WarZipTest.java
@@ -80,7 +80,7 @@ public class WarZipTest
         File xmlSource = createXMLConfigDir( testId, new String[] { "web.xml" } );
         project.setArtifact( warArtifact );
 
-        this.configureMojo( mojo, new LinkedList<String>(), classesDir, webAppSource, webAppDirectory, project );
+        this.configureMojo( mojo, new LinkedList<>(), classesDir, webAppSource, webAppDirectory, project );
         setVariableValueToObject( mojo, "outputDirectory", outputDir );
         setVariableValueToObject( mojo, "warName", warName );
         setVariableValueToObject( mojo, "workDirectory", new File( getTestDirectory(), "work" ) );
diff --git a/src/test/java/org/apache/maven/plugins/war/stub/MavenProject4CopyConstructor.java b/src/test/java/org/apache/maven/plugins/war/stub/MavenProject4CopyConstructor.java
index e9a58ab..831ddba 100644
--- a/src/test/java/org/apache/maven/plugins/war/stub/MavenProject4CopyConstructor.java
+++ b/src/test/java/org/apache/maven/plugins/war/stub/MavenProject4CopyConstructor.java
@@ -50,13 +50,13 @@ public class MavenProject4CopyConstructor
     {
         // the pom should be located in the isolated dummy root         
         super.setFile( new File( getBasedir(), "pom.xml" ) );
-        super.setDependencyArtifacts( new HashSet<Artifact>() );
-        super.setArtifacts( new HashSet<Artifact>() );
-        super.setExtensionArtifacts( new HashSet<Artifact>() );
-        super.setRemoteArtifactRepositories( new LinkedList<ArtifactRepository>() );
-        super.setPluginArtifactRepositories( new LinkedList<ArtifactRepository>() );
-        super.setCollectedProjects( new LinkedList<MavenProject>() );
-        super.setActiveProfiles( new LinkedList<Profile>() );
+        super.setDependencyArtifacts( new HashSet<>() );
+        super.setArtifacts( 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.setBuild( getBuild() );
diff --git a/src/test/java/org/apache/maven/plugins/war/util/WebappStructureTest.java b/src/test/java/org/apache/maven/plugins/war/util/WebappStructureTest.java
index 0e135de..3b2b185 100644
--- a/src/test/java/org/apache/maven/plugins/war/util/WebappStructureTest.java
+++ b/src/test/java/org/apache/maven/plugins/war/util/WebappStructureTest.java
@@ -34,13 +34,13 @@ public class WebappStructureTest
 {
     public void testUnknownFileNotAvailable()
     {
-        final WebappStructure structure = new WebappStructure( new ArrayList<Dependency>() );
+        final WebappStructure structure = new WebappStructure( new ArrayList<>() );
         assertFalse( structure.isRegistered( "/foo/bar.txt" ) );
     }
 
     public void testRegisterSamePathTwice()
     {
-        final WebappStructure structure = new WebappStructure( new ArrayList<Dependency>() );
+        final WebappStructure structure = new WebappStructure( new ArrayList<>() );
         structure.registerFile( "overlay1", "WEB-INF/web.xml" );
         assertFalse( structure.registerFile( "currentBuild", "WEB-INF/web.xml" ) );
     }
@@ -48,7 +48,7 @@ public class WebappStructureTest
     public void testRegisterForced()
     {
         final String path = "WEB-INF/web.xml";
-        final WebappStructure structure = new WebappStructure( new ArrayList<Dependency>() );
+        final WebappStructure structure = new WebappStructure( new ArrayList<>() );
         assertFalse("New file should return false",
                     structure.registerFileForced( "overlay1", path ));
         assertEquals( "overlay1", structure.getOwner( path ) );         
@@ -57,7 +57,7 @@ public class WebappStructureTest
     public void testRegisterSamePathTwiceForced()
     {
         final String path = "WEB-INF/web.xml";
-        final WebappStructure structure = new WebappStructure( new ArrayList<Dependency>() );
+        final WebappStructure structure = new WebappStructure( new ArrayList<>() );
         structure.registerFile( "overlay1", path );
         assertEquals( "overlay1", structure.getOwner( path ) );
         assertTrue("owner replacement should have returned true",