From 0a2c03e0a77eba3cfff3b04c7de4c66ea01ac526 Mon Sep 17 00:00:00 2001 From: Artem Krosheninnikov Date: Thu, 9 Jan 2020 18:18:24 +0300 Subject: [PATCH] Use new version of site Cleanup code to align with java8 features Mark VerificationResultPrinter as a @FunctionalInterface Use java8 Update dependencies --- pom.xml | 7 +- .../plugins/verifier/VerificationResult.java | 6 +- .../verifier/VerificationResultPrinter.java | 1 + .../maven/plugins/verifier/VerifierMojo.java | 33 ++------ src/site/site.xml | 4 +- .../plugins/verifier/VerifierMojoTest.java | 82 +++++++------------ 6 files changed, 48 insertions(+), 85 deletions(-) diff --git a/pom.xml b/pom.xml index 4aa9ed9..0882f0f 100644 --- a/pom.xml +++ b/pom.xml @@ -63,7 +63,7 @@ under the License. 3.0 - 7 + 8 @@ -77,19 +77,20 @@ under the License. org.apache.maven.plugin-tools maven-plugin-annotations + 3.6.0 provided junit junit - 4.12 + 4.13 test org.codehaus.plexus plexus-utils - 3.2.0 + 3.3.0 diff --git a/src/main/java/org/apache/maven/plugins/verifier/VerificationResult.java b/src/main/java/org/apache/maven/plugins/verifier/VerificationResult.java index c4c7a60..111468b 100644 --- a/src/main/java/org/apache/maven/plugins/verifier/VerificationResult.java +++ b/src/main/java/org/apache/maven/plugins/verifier/VerificationResult.java @@ -29,11 +29,11 @@ */ public class VerificationResult { - private List existenceFailures = new ArrayList(); + private List existenceFailures = new ArrayList<>(); - private List nonExistenceFailures = new ArrayList(); + private List nonExistenceFailures = new ArrayList<>(); - private List contentFailures = new ArrayList(); + private List contentFailures = new ArrayList<>(); /** * @param file {@link File} diff --git a/src/main/java/org/apache/maven/plugins/verifier/VerificationResultPrinter.java b/src/main/java/org/apache/maven/plugins/verifier/VerificationResultPrinter.java index 13d5db1..9c44e36 100644 --- a/src/main/java/org/apache/maven/plugins/verifier/VerificationResultPrinter.java +++ b/src/main/java/org/apache/maven/plugins/verifier/VerificationResultPrinter.java @@ -22,6 +22,7 @@ /** * */ +@FunctionalInterface public interface VerificationResultPrinter { /** diff --git a/src/main/java/org/apache/maven/plugins/verifier/VerifierMojo.java b/src/main/java/org/apache/maven/plugins/verifier/VerifierMojo.java index 5132efe..37617b7 100644 --- a/src/main/java/org/apache/maven/plugins/verifier/VerifierMojo.java +++ b/src/main/java/org/apache/maven/plugins/verifier/VerifierMojo.java @@ -53,7 +53,7 @@ import org.apache.maven.plugins.verifier.model.Verifications; import org.apache.maven.plugins.verifier.model.io.xpp3.VerificationsXpp3Reader; import org.codehaus.plexus.util.FileUtils; -import org.codehaus.plexus.util.IOUtil; +import org.codehaus.plexus.util.xml.pull.XmlPullParserException; /** * Verifies the existence or non-existence of files/directories and optionally checks file content against a regular @@ -74,10 +74,9 @@ public class VerifierMojo /** * The file containing the verifications to perform. */ - // CHECKSTYLE_OFF: LineLength - @Parameter( property = "verifier.verificationFile", defaultValue = "${basedir}/src/test/verifier/verifications.xml", required = true ) + @Parameter( property = "verifier.verificationFile", + defaultValue = "${basedir}/src/test/verifier/verifications.xml", required = true ) private File verificationFile; - // CHECKSTYLE_ON: LineLength /** * Whether the build will fail on verification errors. @@ -123,17 +122,11 @@ private VerificationResult verify() { VerificationResult results = new VerificationResult(); - Reader reader = null; - try + try ( Reader reader = new FileReader( this.verificationFile ) ) { - reader = new FileReader( this.verificationFile ); - VerificationsXpp3Reader xppReader = new VerificationsXpp3Reader(); Verifications verifications = xppReader.read( reader ); - reader.close(); - reader = null; - for ( org.apache.maven.plugins.verifier.model.File file : verifications.getFiles() ) { // Transform the file to check into an absolute path prefixing the basedir if @@ -149,23 +142,16 @@ private VerificationResult verify() } } } - catch ( org.codehaus.plexus.util.xml.pull.XmlPullParserException e ) + catch ( XmlPullParserException | IOException e ) { throw new MojoExecutionException( "Error while verifying files", e ); } - catch ( IOException e ) - { - throw new MojoExecutionException( "Error while verifying files", e ); - } - finally - { - IOUtil.close( reader ); - } return results; } - private boolean verifyFile( org.apache.maven.plugins.verifier.model.File fileCheck, VerificationResult results ) + private boolean verifyFile( org.apache.maven.plugins.verifier.model.File fileCheck, + VerificationResult results ) throws IOException { boolean result; @@ -179,8 +165,8 @@ private boolean verifyFile( org.apache.maven.plugins.verifier.model.File fileChe return result; } - // CHECKSTYLE_OFF: LineLength - private boolean verifyFileContent( org.apache.maven.plugins.verifier.model.File fileCheck, VerificationResult results ) + private boolean verifyFileContent( org.apache.maven.plugins.verifier.model.File fileCheck, + VerificationResult results ) throws IOException { boolean result = false; @@ -204,7 +190,6 @@ private boolean verifyFileContent( org.apache.maven.plugins.verifier.model.File return result; } - // CHECKSTYLE_ON: LineLength private boolean verifyFileExistence( org.apache.maven.plugins.verifier.model.File fileCheck, VerificationResult results ) diff --git a/src/site/site.xml b/src/site/site.xml index 3719f40..b696d1a 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -19,9 +19,9 @@ specific language governing permissions and limitations under the License. --> - + xsi:schemaLocation="http://maven.apache.org/DECORATION/1.8.0 http://maven.apache.org/xsd/decoration-1.8.0.xsd"> diff --git a/src/test/java/org/apache/maven/plugins/verifier/VerifierMojoTest.java b/src/test/java/org/apache/maven/plugins/verifier/VerifierMojoTest.java index d6afbdc..3a19ce4 100644 --- a/src/test/java/org/apache/maven/plugins/verifier/VerifierMojoTest.java +++ b/src/test/java/org/apache/maven/plugins/verifier/VerifierMojoTest.java @@ -3,11 +3,9 @@ import java.io.File; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugins.verifier.VerificationResult; -import org.apache.maven.plugins.verifier.VerificationResultPrinter; -import org.apache.maven.plugins.verifier.VerifierMojo; /* * Licensed to the Apache Software Foundation (ASF) under one @@ -36,7 +34,7 @@ public class VerifierMojoTest private File getResourceFile( String name ) throws UnsupportedEncodingException { String file = getClass().getResource( name ).getFile(); - String decode = URLDecoder.decode( file, "UTF-8" ); // necessary for JDK 1.5+, where spaces are escaped to %20 + String decode = URLDecoder.decode( file, StandardCharsets.UTF_8.toString() ); return new File( decode ); } @@ -70,15 +68,11 @@ public void testCheckFileThatDoesNotExist() mojo.setBaseDir( new File( "c:/some/path" ) ); mojo.setVerificationFile( file ); mojo.setFailOnError( true ); - mojo.setVerificationResultPrinter( new VerificationResultPrinter() - { - public void print( VerificationResult result ) - { - assertEquals( 1, result.getExistenceFailures().size() ); - assertEquals( 0, result.getNonExistenceFailures().size() ); - assertEquals( 0, result.getContentFailures().size() ); - } - } ); + mojo.setVerificationResultPrinter(result -> { + assertEquals( 1, result.getExistenceFailures().size() ); + assertEquals( 0, result.getNonExistenceFailures().size() ); + assertEquals( 0, result.getContentFailures().size() ); + }); try { @@ -99,15 +93,11 @@ public void testCheckFileThatExists() mojo.setBaseDir( file.getParentFile() ); mojo.setVerificationFile( file ); mojo.setFailOnError( true ); - mojo.setVerificationResultPrinter( new VerificationResultPrinter() - { - public void print( VerificationResult result ) - { - assertEquals( 0, result.getExistenceFailures().size() ); - assertEquals( 0, result.getNonExistenceFailures().size() ); - assertEquals( 0, result.getContentFailures().size() ); - } - } ); + mojo.setVerificationResultPrinter(result -> { + assertEquals( 0, result.getExistenceFailures().size() ); + assertEquals( 0, result.getNonExistenceFailures().size() ); + assertEquals( 0, result.getContentFailures().size() ); + }); mojo.execute(); } @@ -119,15 +109,11 @@ public void testCheckForInexistentFile() File file = getResourceFile( "/InexistentFile.xml" ); mojo.setBaseDir( new File( "c:/some/path" ) ); mojo.setVerificationFile( file ); - mojo.setVerificationResultPrinter( new VerificationResultPrinter() - { - public void print( VerificationResult result ) - { - assertEquals( 0, result.getExistenceFailures().size() ); - assertEquals( 0, result.getNonExistenceFailures().size() ); - assertEquals( 0, result.getContentFailures().size() ); - } - } ); + mojo.setVerificationResultPrinter(result -> { + assertEquals( 0, result.getExistenceFailures().size() ); + assertEquals( 0, result.getNonExistenceFailures().size() ); + assertEquals( 0, result.getContentFailures().size() ); + }); mojo.execute(); } @@ -140,15 +126,13 @@ public void testCheckForInexistentFileThatExists() mojo.setBaseDir( file.getParentFile() ); mojo.setVerificationFile( file ); mojo.setFailOnError( true ); - mojo.setVerificationResultPrinter( new VerificationResultPrinter() - { - public void print( VerificationResult result ) + mojo.setVerificationResultPrinter( result -> { assertEquals( 0, result.getExistenceFailures().size() ); assertEquals( 1, result.getNonExistenceFailures().size() ); assertEquals( 0, result.getContentFailures().size() ); } - } ); + ); try { @@ -168,15 +152,11 @@ public void testCheckFileForContent() File file = getResourceFile( "/FileExistsValidContent.xml" ); mojo.setBaseDir( file.getParentFile() ); mojo.setVerificationFile( file ); - mojo.setVerificationResultPrinter( new VerificationResultPrinter() - { - public void print( VerificationResult result ) - { - assertEquals( 0, result.getExistenceFailures().size() ); - assertEquals( 0, result.getNonExistenceFailures().size() ); - assertEquals( 0, result.getContentFailures().size() ); - } - } ); + mojo.setVerificationResultPrinter(result -> { + assertEquals( 0, result.getExistenceFailures().size() ); + assertEquals( 0, result.getNonExistenceFailures().size() ); + assertEquals( 0, result.getContentFailures().size() ); + }); mojo.execute(); } @@ -189,15 +169,11 @@ public void testCheckFileForInvalidContent() mojo.setBaseDir( file.getParentFile() ); mojo.setVerificationFile( file ); mojo.setFailOnError( true ); - mojo.setVerificationResultPrinter( new VerificationResultPrinter() - { - public void print( VerificationResult result ) - { - assertEquals( 0, result.getExistenceFailures().size() ); - assertEquals( 0, result.getNonExistenceFailures().size() ); - assertEquals( 1, result.getContentFailures().size() ); - } - } ); + mojo.setVerificationResultPrinter(result -> { + assertEquals( 0, result.getExistenceFailures().size() ); + assertEquals( 0, result.getNonExistenceFailures().size() ); + assertEquals( 1, result.getContentFailures().size() ); + }); try {