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/01/09 21:45:31 UTC

[maven-invoker-plugin] branch master updated: Apply try-with-resources

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-invoker-plugin.git


The following commit(s) were added to refs/heads/master by this push:
     new b11671e  Apply try-with-resources
b11671e is described below

commit b11671ee5eae6b737acd218c223a47140abf087e
Author: rfscholte <rf...@apache.org>
AuthorDate: Wed Jan 9 22:44:47 2019 +0100

    Apply try-with-resources
---
 .../maven/plugins/invoker/AbstractInvokerMojo.java | 89 +++++-----------------
 .../maven/plugins/invoker/InvokerReport.java       |  8 +-
 .../maven/plugins/invoker/MetadataUtils.java       | 26 +------
 .../org/apache/maven/plugins/invoker/PomUtils.java | 14 +---
 .../apache/maven/plugins/invoker/VerifyMojo.java   |  9 ++-
 .../plugins/invoker/InvokerPropertiesTest.java     |  6 ++
 6 files changed, 44 insertions(+), 108 deletions(-)

diff --git a/src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java b/src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java
index df70c7e..e75c2c4 100644
--- a/src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java
+++ b/src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java
@@ -1354,17 +1354,10 @@ public abstract class AbstractInvokerMojo
 
         SettingsXpp3Writer settingsWriter = new SettingsXpp3Writer();
 
-        FileWriter fileWriter = null;
-        try
+        
+        try ( FileWriter fileWriter = new FileWriter( mergedSettingsFile ) )
         {
-            fileWriter = new FileWriter( mergedSettingsFile );
             settingsWriter.write( fileWriter, mergedSettings );
-            fileWriter.close();
-            fileWriter = null;
-        }
-        finally
-        {
-            IOUtil.close( fileWriter );
         }
 
         if ( getLog().isDebugEnabled() )
@@ -1704,20 +1697,12 @@ public abstract class AbstractInvokerMojo
         }
 
         File reportFile = new File( reportsDirectory, "BUILD-" + safeFileName + ".xml" );
-        try
+        try ( FileOutputStream fos = new FileOutputStream( reportFile );
+             Writer osw = new OutputStreamWriter( fos, buildJob.getModelEncoding() ) )
         {
-            FileOutputStream fos = new FileOutputStream( reportFile );
-            try
-            {
-                Writer osw = new OutputStreamWriter( fos, buildJob.getModelEncoding() );
-                BuildJobXpp3Writer writer = new BuildJobXpp3Writer();
-                writer.write( osw, buildJob );
-                osw.close();
-            }
-            finally
-            {
-                fos.close();
-            }
+            BuildJobXpp3Writer writer = new BuildJobXpp3Writer();
+            writer.write( osw, buildJob );
+            osw.close();
         }
         catch ( IOException e )
         {
@@ -2020,25 +2005,17 @@ public abstract class AbstractInvokerMojo
 
         if ( propertiesFile != null && propertiesFile.isFile() )
         {
-            InputStream fin = null;
-            try
+            
+            try ( InputStream fin = new FileInputStream( propertiesFile ) )
             {
-                fin = new FileInputStream( propertiesFile );
-
                 Properties loadedProperties = new Properties();
                 loadedProperties.load( fin );
-                fin.close();
-                fin = null;
                 collectedTestProperties.putAll( loadedProperties );
             }
             catch ( IOException e )
             {
                 throw new MojoExecutionException( "Error reading system properties from " + propertiesFile );
             }
-            finally
-            {
-                IOUtil.close( fin );
-            }
         }
 
         return collectedTestProperties;
@@ -2441,24 +2418,16 @@ public abstract class AbstractInvokerMojo
         throws IOException
     {
         List<String> result = new ArrayList<String>();
+        
+        Map<String, Object> composite = getInterpolationValueSource( false );
 
-        BufferedReader reader = null;
-        try
+        try ( BufferedReader reader =
+            new BufferedReader( new InterpolationFilterReader( newReader( tokenFile ), composite ) ) )
         {
-            Map<String, Object> composite = getInterpolationValueSource( false );
-            reader = new BufferedReader( new InterpolationFilterReader( newReader( tokenFile ), composite ) );
-
             for ( String line = reader.readLine(); line != null; line = reader.readLine() )
             {
                 result.addAll( collectListFromCSV( line ) );
             }
-
-            reader.close();
-            reader = null;
-        }
-        finally
-        {
-            IOUtil.close( reader );
         }
 
         return result;
@@ -2509,36 +2478,20 @@ public abstract class AbstractInvokerMojo
         {
             String xml;
 
-            Reader reader = null;
-            try
-            {
-                // interpolation with token @...@
-                Map<String, Object> composite = getInterpolationValueSource( true );
-                reader =
-                    new InterpolationFilterReader( ReaderFactory.newXmlReader( originalFile ), composite, "@", "@" );
+            Map<String, Object> composite = getInterpolationValueSource( true );
 
-                xml = IOUtil.toString( reader );
-
-                reader.close();
-                reader = null;
-            }
-            finally
+            // interpolation with token @...@
+            try ( Reader reader =
+                new InterpolationFilterReader( ReaderFactory.newXmlReader( originalFile ), composite, "@", "@" ) )
             {
-                IOUtil.close( reader );
+                xml = IOUtil.toString( reader );
             }
-
-            Writer writer = null;
-            try
+            
+            try ( Writer writer = WriterFactory.newXmlWriter( interpolatedFile ) )
             {
                 interpolatedFile.getParentFile().mkdirs();
-                writer = WriterFactory.newXmlWriter( interpolatedFile );
+                
                 writer.write( xml );
-                writer.close();
-                writer = null;
-            }
-            finally
-            {
-                IOUtil.close( writer );
             }
         }
         catch ( IOException e )
diff --git a/src/main/java/org/apache/maven/plugins/invoker/InvokerReport.java b/src/main/java/org/apache/maven/plugins/invoker/InvokerReport.java
index 95caf97..35eb5b2 100644
--- a/src/main/java/org/apache/maven/plugins/invoker/InvokerReport.java
+++ b/src/main/java/org/apache/maven/plugins/invoker/InvokerReport.java
@@ -41,6 +41,7 @@ import org.apache.maven.reporting.MavenReportException;
 import org.codehaus.plexus.i18n.I18N;
 import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.XmlStreamReader;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 /**
@@ -136,13 +137,14 @@ public class InvokerReport
             return;
         }
 
+        BuildJobXpp3Reader buildJobReader = new BuildJobXpp3Reader();
+
         List<BuildJob> buildJobs = new ArrayList<BuildJob>( reportFiles.length );
         for ( File reportFile : reportFiles )
         {
-            try
+            try ( XmlStreamReader xmlReader = ReaderFactory.newXmlReader( reportFile ) )
             {
-                BuildJobXpp3Reader reader = new BuildJobXpp3Reader();
-                buildJobs.add( reader.read( ReaderFactory.newXmlReader( reportFile ) ) );
+                buildJobs.add( buildJobReader.read( xmlReader ) );
             }
             catch ( XmlPullParserException e )
             {
diff --git a/src/main/java/org/apache/maven/plugins/invoker/MetadataUtils.java b/src/main/java/org/apache/maven/plugins/invoker/MetadataUtils.java
index 23ce866..726af15 100644
--- a/src/main/java/org/apache/maven/plugins/invoker/MetadataUtils.java
+++ b/src/main/java/org/apache/maven/plugins/invoker/MetadataUtils.java
@@ -31,7 +31,6 @@ import java.util.Set;
 import java.util.TimeZone;
 
 import org.apache.maven.artifact.Artifact;
-import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.WriterFactory;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
@@ -144,24 +143,15 @@ class MetadataUtils
         {
             return null;
         }
-
-        Reader reader = null;
-        try
+        
+        try ( Reader reader = ReaderFactory.newXmlReader( metadataFile ) )
         {
-            reader = ReaderFactory.newXmlReader( metadataFile );
-            final Xpp3Dom xpp3Dom = Xpp3DomBuilder.build( reader );
-            reader.close();
-            reader = null;
-            return xpp3Dom;
+            return Xpp3DomBuilder.build( reader );
         }
         catch ( XmlPullParserException e )
         {
             throw (IOException) new IOException( e.getMessage() ).initCause( e );
         }
-        finally
-        {
-            IOUtil.close( reader );
-        }
     }
 
     private static void writeMetadata( File metadataFile, Xpp3Dom metadata )
@@ -169,17 +159,9 @@ class MetadataUtils
     {
         metadataFile.getParentFile().mkdirs();
 
-        Writer writer = null;
-        try
+        try ( Writer writer = WriterFactory.newXmlWriter( metadataFile ) )
         {
-            writer = WriterFactory.newXmlWriter( metadataFile );
             Xpp3DomWriter.write( writer, metadata );
-            writer.close();
-            writer = null;
-        }
-        finally
-        {
-            IOUtil.close( writer );
         }
     }
 
diff --git a/src/main/java/org/apache/maven/plugins/invoker/PomUtils.java b/src/main/java/org/apache/maven/plugins/invoker/PomUtils.java
index 5130947..83eba4e 100644
--- a/src/main/java/org/apache/maven/plugins/invoker/PomUtils.java
+++ b/src/main/java/org/apache/maven/plugins/invoker/PomUtils.java
@@ -26,7 +26,6 @@ import java.io.Reader;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.apache.maven.plugin.MojoExecutionException;
-import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
@@ -48,14 +47,9 @@ class PomUtils
     public static Model loadPom( File pomFile )
         throws MojoExecutionException
     {
-        Reader reader = null;
-        try
+        try ( Reader reader = ReaderFactory.newXmlReader( pomFile ) )
         {
-            reader = ReaderFactory.newXmlReader( pomFile );
-            final Model model = new MavenXpp3Reader().read( reader, false );
-            reader.close();
-            reader = null;
-            return model;
+            return new MavenXpp3Reader().read( reader, false );
         }
         catch ( XmlPullParserException e )
         {
@@ -65,10 +59,6 @@ class PomUtils
         {
             throw new MojoExecutionException( "Failed to read POM: " + pomFile, e );
         }
-        finally
-        {
-            IOUtil.close( reader );
-        }
     }
 
 }
diff --git a/src/main/java/org/apache/maven/plugins/invoker/VerifyMojo.java b/src/main/java/org/apache/maven/plugins/invoker/VerifyMojo.java
index 6feb0a4..5592f3d 100644
--- a/src/main/java/org/apache/maven/plugins/invoker/VerifyMojo.java
+++ b/src/main/java/org/apache/maven/plugins/invoker/VerifyMojo.java
@@ -31,6 +31,7 @@ import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 import java.io.File;
 import java.io.IOException;
+import java.io.Reader;
 
 /**
  * Checks the results of maven-invoker-plugin based integration tests and fails the build if any tests failed.
@@ -111,13 +112,15 @@ public class VerifyMojo
             return;
         }
 
+        BuildJobXpp3Reader reader = new BuildJobXpp3Reader();
+
         InvokerSession invokerSession = new InvokerSession();
+
         for ( File reportFile : reportFiles )
         {
-            try
+            try ( Reader xmlReader = ReaderFactory.newXmlReader( reportFile ) )
             {
-                BuildJobXpp3Reader reader = new BuildJobXpp3Reader();
-                invokerSession.addJob( reader.read( ReaderFactory.newXmlReader( reportFile ) ) );
+                invokerSession.addJob( reader.read( xmlReader ) );
             }
             catch ( XmlPullParserException e )
             {
diff --git a/src/test/java/org/apache/maven/plugins/invoker/InvokerPropertiesTest.java b/src/test/java/org/apache/maven/plugins/invoker/InvokerPropertiesTest.java
index 8740338..b58766c 100644
--- a/src/test/java/org/apache/maven/plugins/invoker/InvokerPropertiesTest.java
+++ b/src/test/java/org/apache/maven/plugins/invoker/InvokerPropertiesTest.java
@@ -268,6 +268,12 @@ public class InvokerPropertiesTest
         assertFalse( facade.isInvocationDefined( 1 ) );
         assertTrue( facade.isInvocationDefined( 2 ) );
         assertFalse( facade.isInvocationDefined( 3 ) );
+
+        props.setProperty( "invoker.goals.3", "install" );
+        assertFalse( facade.isInvocationDefined( 1 ) );
+        assertTrue( facade.isInvocationDefined( 2 ) );
+        assertTrue( facade.isInvocationDefined( 3 ) );
+        assertFalse( facade.isInvocationDefined( 4 ) );
     }
     
     public void testIsSelectedDefined()