From 997206f821c65de512945c63ff83f59814cde2f3 Mon Sep 17 00:00:00 2001 From: Russell Howe Date: Sat, 4 May 2019 12:48:27 +0100 Subject: [PATCH 1/5] MCOMPILER-383: Use Java7 type inference more --- .../maven/plugin/compiler/AbstractCompilerMojo.java | 2 +- .../apache/maven/plugin/compiler/TestCompilerMojo.java | 4 ++-- .../maven/plugin/compiler/CompilerMojoTestCase.java | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java b/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java index 93394d8b..ea172abd 100644 --- a/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java +++ b/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java @@ -1667,7 +1667,7 @@ private List resolveProcessorPathEntries() resolutionErrorHandler.throwErrors( request, resolutionResult ); - List elements = new ArrayList( resolutionResult.getArtifacts().size() ); + List elements = new ArrayList<>( resolutionResult.getArtifacts().size() ); for ( Object resolved : resolutionResult.getArtifacts() ) { diff --git a/src/main/java/org/apache/maven/plugin/compiler/TestCompilerMojo.java b/src/main/java/org/apache/maven/plugin/compiler/TestCompilerMojo.java index f8b9ba18..adfdf2d0 100644 --- a/src/main/java/org/apache/maven/plugin/compiler/TestCompilerMojo.java +++ b/src/main/java/org/apache/maven/plugin/compiler/TestCompilerMojo.java @@ -336,7 +336,7 @@ else if ( Double.valueOf( getTarget() ) < Double.valueOf( MODULE_INFO_TARGET ) ) { if ( compilerArgs == null ) { - compilerArgs = new ArrayList(); + compilerArgs = new ArrayList<>(); } compilerArgs.add( "--patch-module" ); @@ -380,7 +380,7 @@ else if ( Double.valueOf( getTarget() ) < Double.valueOf( MODULE_INFO_TARGET ) ) { if ( compilerArgs == null ) { - compilerArgs = new ArrayList(); + compilerArgs = new ArrayList<>(); } compilerArgs.add( "--patch-module" ); diff --git a/src/test/java/org/apache/maven/plugin/compiler/CompilerMojoTestCase.java b/src/test/java/org/apache/maven/plugin/compiler/CompilerMojoTestCase.java index 37a60ca5..348cfb04 100644 --- a/src/test/java/org/apache/maven/plugin/compiler/CompilerMojoTestCase.java +++ b/src/test/java/org/apache/maven/plugin/compiler/CompilerMojoTestCase.java @@ -161,11 +161,11 @@ public void testCompilerIncludesExcludes() CompilerMojo compileMojo = getCompilerMojo( "target/test-classes/unit/compiler-includes-excludes-test/plugin-config.xml" ); - Set includes = new HashSet(); + Set includes = new HashSet<>(); includes.add( "**/TestCompile4*.java" ); setVariableValueToObject( compileMojo, "includes", includes ); - Set excludes = new HashSet(); + Set excludes = new HashSet<>(); excludes.add( "**/TestCompile2*.java" ); excludes.add( "**/TestCompile3*.java" ); setVariableValueToObject( compileMojo, "excludes", excludes ); @@ -275,11 +275,11 @@ public void testOneOutputFileForAllInput2() setVariableValueToObject( compileMojo, "compilerManager", new CompilerManagerStub() ); - Set includes = new HashSet(); + Set includes = new HashSet<>(); includes.add( "**/TestCompile4*.java" ); setVariableValueToObject( compileMojo, "includes", includes ); - Set excludes = new HashSet(); + Set excludes = new HashSet<>(); excludes.add( "**/TestCompile2*.java" ); excludes.add( "**/TestCompile3*.java" ); setVariableValueToObject( compileMojo, "excludes", excludes ); @@ -414,7 +414,7 @@ private TestCompilerMojo getTestCompilerMojo( CompilerMojo compilerMojo, String File testClassesDir = new File( buildDir, "test-classes" ); setVariableValueToObject( mojo, "outputDirectory", testClassesDir ); - List testClasspathList = new ArrayList(); + List testClasspathList = new ArrayList<>(); Artifact junitArtifact = mock( Artifact.class ); ArtifactHandler handler = mock( ArtifactHandler.class ); From c8019ddd6df0c95fcacf7d9c8fb476ddbc2ffdb0 Mon Sep 17 00:00:00 2001 From: Russell Howe Date: Sat, 4 May 2019 12:48:38 +0100 Subject: [PATCH 2/5] MCOMPILER-384: Stop checking for null before instanceof As per the Java specification, x instanceof y will return false if x is null: https://docs.oracle.com/javase/specs/jls/se11/html/jls-15.html#jls-15.20.2 --- .../java/org/apache/maven/plugin/compiler/CompilerMojo.java | 2 +- .../org/apache/maven/plugin/compiler/TestCompilerMojo.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/apache/maven/plugin/compiler/CompilerMojo.java b/src/main/java/org/apache/maven/plugin/compiler/CompilerMojo.java index 8bc437b3..bba63c00 100644 --- a/src/main/java/org/apache/maven/plugin/compiler/CompilerMojo.java +++ b/src/main/java/org/apache/maven/plugin/compiler/CompilerMojo.java @@ -230,7 +230,7 @@ protected void preparePaths( Set sourceFiles ) .setMainModuleDescriptor( moduleDescriptorPath ); Toolchain toolchain = getToolchain(); - if ( toolchain != null && toolchain instanceof DefaultJavaToolChain ) + if ( toolchain instanceof DefaultJavaToolChain ) { request.setJdkHome( new File( ( (DefaultJavaToolChain) toolchain ).getJavaHome() ) ); } diff --git a/src/main/java/org/apache/maven/plugin/compiler/TestCompilerMojo.java b/src/main/java/org/apache/maven/plugin/compiler/TestCompilerMojo.java index adfdf2d0..5b0518b1 100644 --- a/src/main/java/org/apache/maven/plugin/compiler/TestCompilerMojo.java +++ b/src/main/java/org/apache/maven/plugin/compiler/TestCompilerMojo.java @@ -241,7 +241,7 @@ protected void preparePaths( Set sourceFiles ) .setMainModuleDescriptor( mainModuleDescriptorClassFile.getAbsolutePath() ); Toolchain toolchain = getToolchain(); - if ( toolchain != null && toolchain instanceof DefaultJavaToolChain ) + if ( toolchain instanceof DefaultJavaToolChain ) { request.setJdkHome( ( (DefaultJavaToolChain) toolchain ).getJavaHome() ); } @@ -285,7 +285,7 @@ protected void preparePaths( Set sourceFiles ) .setMainModuleDescriptor( testModuleDescriptorJavaFile.getAbsolutePath() ); Toolchain toolchain = getToolchain(); - if ( toolchain != null && toolchain instanceof DefaultJavaToolChain ) + if ( toolchain instanceof DefaultJavaToolChain ) { request.setJdkHome( ( (DefaultJavaToolChain) toolchain ).getJavaHome() ); } From 3596083886fd4086c1c68283659b63d84b0e7ca0 Mon Sep 17 00:00:00 2001 From: Russell Howe Date: Sat, 4 May 2019 12:48:46 +0100 Subject: [PATCH 3/5] MCOMPILER-385: Initialise compilerArgs once in CompilerMojo --- .../maven/plugin/compiler/CompilerMojo.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/apache/maven/plugin/compiler/CompilerMojo.java b/src/main/java/org/apache/maven/plugin/compiler/CompilerMojo.java index bba63c00..d59685c2 100644 --- a/src/main/java/org/apache/maven/plugin/compiler/CompilerMojo.java +++ b/src/main/java/org/apache/maven/plugin/compiler/CompilerMojo.java @@ -256,18 +256,18 @@ protected void preparePaths( Set sourceFiles ) { pathElements.put( entry.getKey().getPath(), entry.getValue() ); } - + + if ( compilerArgs == null ) + { + compilerArgs = new ArrayList<>(); + } + for ( File file : resolvePathsResult.getClasspathElements() ) { classpathElements.add( file.getPath() ); if ( multiReleaseOutput ) { - if ( compilerArgs == null ) - { - compilerArgs = new ArrayList<>(); - } - if ( getOutputDirectory().toPath().startsWith( file.getPath() ) ) { compilerArgs.add( "--patch-module" ); @@ -286,10 +286,6 @@ protected void preparePaths( Set sourceFiles ) modulepathElements.add( file.getPath() ); } - if ( compilerArgs == null ) - { - compilerArgs = new ArrayList<>(); - } compilerArgs.add( "--module-version" ); compilerArgs.add( getProject().getVersion() ); From 323b1913454845dadfdf93e278e8d5cd5a039ecb Mon Sep 17 00:00:00 2001 From: Russell Howe Date: Sat, 4 May 2019 12:48:54 +0100 Subject: [PATCH 4/5] MCOMPILER-385: Replace StringBuilder with String.format() in CompilerMojo --- .../org/apache/maven/plugin/compiler/CompilerMojo.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/main/java/org/apache/maven/plugin/compiler/CompilerMojo.java b/src/main/java/org/apache/maven/plugin/compiler/CompilerMojo.java index d59685c2..78d39088 100644 --- a/src/main/java/org/apache/maven/plugin/compiler/CompilerMojo.java +++ b/src/main/java/org/apache/maven/plugin/compiler/CompilerMojo.java @@ -271,12 +271,7 @@ protected void preparePaths( Set sourceFiles ) if ( getOutputDirectory().toPath().startsWith( file.getPath() ) ) { compilerArgs.add( "--patch-module" ); - - StringBuilder patchModuleValue = new StringBuilder( moduleDescriptor.name() ) - .append( '=' ) - .append( file.getPath() ); - - compilerArgs.add( patchModuleValue.toString() ); + compilerArgs.add( String.format( "%s=%s", moduleDescriptor.name(), file.getPath() ) ); } } } From 3aab7d703f7ee309236fa48e121d72aad9f3aad2 Mon Sep 17 00:00:00 2001 From: Russell Howe Date: Sat, 4 May 2019 12:49:04 +0100 Subject: [PATCH 5/5] MCOMPILER-382: Remove superfluous exceptions from tests --- .../maven/plugin/compiler/stubs/CompilerManagerStub.java | 2 -- .../org/apache/maven/plugin/compiler/stubs/CompilerStub.java | 5 ----- 2 files changed, 7 deletions(-) diff --git a/src/test/java/org/apache/maven/plugin/compiler/stubs/CompilerManagerStub.java b/src/test/java/org/apache/maven/plugin/compiler/stubs/CompilerManagerStub.java index efa5ee9f..eff1ce34 100644 --- a/src/test/java/org/apache/maven/plugin/compiler/stubs/CompilerManagerStub.java +++ b/src/test/java/org/apache/maven/plugin/compiler/stubs/CompilerManagerStub.java @@ -20,7 +20,6 @@ */ import org.codehaus.plexus.compiler.manager.CompilerManager; -import org.codehaus.plexus.compiler.manager.NoSuchCompilerException; /** * @author Edwin Punzalan @@ -41,7 +40,6 @@ public CompilerManagerStub( boolean shouldFail ) } public org.codehaus.plexus.compiler.Compiler getCompiler( String compilerId ) - throws NoSuchCompilerException { return new CompilerStub( shouldFail ); } diff --git a/src/test/java/org/apache/maven/plugin/compiler/stubs/CompilerStub.java b/src/test/java/org/apache/maven/plugin/compiler/stubs/CompilerStub.java index 94710c6c..fd94cc24 100644 --- a/src/test/java/org/apache/maven/plugin/compiler/stubs/CompilerStub.java +++ b/src/test/java/org/apache/maven/plugin/compiler/stubs/CompilerStub.java @@ -55,25 +55,21 @@ public CompilerOutputStyle getCompilerOutputStyle() } public String getInputFileEnding( CompilerConfiguration compilerConfiguration ) - throws CompilerException { return "java"; } public String getOutputFileEnding( CompilerConfiguration compilerConfiguration ) - throws CompilerException { return "class"; } public String getOutputFile( CompilerConfiguration compilerConfiguration ) - throws CompilerException { return "output-file"; } public boolean canUpdateTarget( CompilerConfiguration compilerConfiguration ) - throws CompilerException { return false; } @@ -126,7 +122,6 @@ public CompilerResult performCompile( CompilerConfiguration compilerConfiguratio } public String[] createCommandLine( CompilerConfiguration compilerConfiguration ) - throws CompilerException { return new String[0]; }