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 2020/04/26 18:23:00 UTC
[maven-assembly-plugin] 01/01: Apply try-with-resources
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch try-with-resources
in repository https://gitbox.apache.org/repos/asf/maven-assembly-plugin.git
commit cfe0355b7213fa67ec01d4a49f00e609e08c0ce2
Author: rfscholte <rf...@apache.org>
AuthorDate: Sun Apr 26 20:22:03 2020 +0200
Apply try-with-resources
---
.../archive/ManifestCreationFinalizer.java | 13 +---
.../filter/AbstractLineAggregatingHandler.java | 31 ++------
.../filter/ComponentsXmlArchiverFileFilter.java | 24 +-----
.../filter/SimpleAggregatingDescriptorHandler.java | 40 +++++-----
.../plugins/assembly/io/DefaultAssemblyReader.java | 45 ++---------
.../plugins/assembly/utils/LineEndingsUtils.java | 89 +++++++++-------------
6 files changed, 74 insertions(+), 168 deletions(-)
diff --git a/src/main/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizer.java b/src/main/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizer.java
index dbd7627..cdda6f7 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizer.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizer.java
@@ -30,7 +30,6 @@ import org.codehaus.plexus.archiver.ArchiverException;
import org.codehaus.plexus.archiver.jar.JarArchiver;
import org.codehaus.plexus.archiver.jar.Manifest;
import org.codehaus.plexus.archiver.jar.ManifestException;
-import org.codehaus.plexus.util.IOUtil;
import java.io.File;
import java.io.FileInputStream;
@@ -82,14 +81,10 @@ public class ManifestCreationFinalizer
if ( manifestFile != null )
{
- Reader manifestFileReader = null;
- try
+ try ( Reader manifestFileReader =
+ new InputStreamReader( new FileInputStream( manifestFile ), StandardCharsets.UTF_8 ) )
{
- manifestFileReader = new InputStreamReader( new FileInputStream( manifestFile ),
- StandardCharsets.UTF_8 );
manifest = new Manifest( manifestFileReader );
- manifestFileReader.close();
- manifestFileReader = null;
}
catch ( final FileNotFoundException e )
{
@@ -99,10 +94,6 @@ public class ManifestCreationFinalizer
{
throw new ArchiverException( "Error processing manifest: " + e.getMessage(), e );
}
- finally
- {
- IOUtil.close( manifestFileReader );
- }
}
else
{
diff --git a/src/main/java/org/apache/maven/plugins/assembly/filter/AbstractLineAggregatingHandler.java b/src/main/java/org/apache/maven/plugins/assembly/filter/AbstractLineAggregatingHandler.java
index 49a16b9..12f1012 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/filter/AbstractLineAggregatingHandler.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/filter/AbstractLineAggregatingHandler.java
@@ -25,7 +25,6 @@ import org.codehaus.plexus.archiver.ArchiverException;
import org.codehaus.plexus.archiver.ResourceIterator;
import org.codehaus.plexus.archiver.UnArchiver;
import org.codehaus.plexus.components.io.fileselectors.FileInfo;
-import org.codehaus.plexus.util.IOUtil;
import javax.annotation.Nonnull;
import java.io.BufferedReader;
@@ -80,21 +79,20 @@ abstract class AbstractLineAggregatingHandler
final String name = entry.getKey();
final String fname = new File( name ).getName();
- PrintWriter writer = null;
File f;
try
{
f = File.createTempFile( "assembly-" + fname, ".tmp" );
f.deleteOnExit();
- writer = new PrintWriter( new OutputStreamWriter( new FileOutputStream( f ), getEncoding() ) );
- for ( final String line : entry.getValue() )
+ try ( PrintWriter writer =
+ new PrintWriter( new OutputStreamWriter( new FileOutputStream( f ), getEncoding() ) ) )
{
- writer.println( line );
+ for ( final String line : entry.getValue() )
+ {
+ writer.println( line );
+ }
}
-
- writer.close();
- writer = null;
}
catch ( final IOException e )
{
@@ -102,10 +100,6 @@ abstract class AbstractLineAggregatingHandler
"Error adding aggregated content for: " + fname + " to finalize archive creation. Reason: "
+ e.getMessage(), e );
}
- finally
- {
- IOUtil.close( writer );
- }
excludeOverride = true;
archiver.addFile( f, name );
@@ -157,11 +151,9 @@ abstract class AbstractLineAggregatingHandler
void readLines( final FileInfo fileInfo, final List<String> lines )
throws IOException
{
- BufferedReader reader = null;
- try
+ try ( BufferedReader reader =
+ new BufferedReader( new InputStreamReader( fileInfo.getContents(), getEncoding() ) ) )
{
- reader = new BufferedReader( new InputStreamReader( fileInfo.getContents(), getEncoding() ) );
-
for ( String line = reader.readLine(); line != null; line = reader.readLine() )
{
if ( !lines.contains( line ) )
@@ -169,13 +161,6 @@ abstract class AbstractLineAggregatingHandler
lines.add( line );
}
}
-
- reader.close();
- reader = null;
- }
- finally
- {
- IOUtil.close( reader );
}
}
diff --git a/src/main/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilter.java b/src/main/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilter.java
index a5b33b0..813da5f 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilter.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilter.java
@@ -27,7 +27,6 @@ import org.codehaus.plexus.archiver.ResourceIterator;
import org.codehaus.plexus.archiver.UnArchiver;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.components.io.fileselectors.FileInfo;
-import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.xml.Xpp3Dom;
import org.codehaus.plexus.util.xml.Xpp3DomBuilder;
import org.codehaus.plexus.util.xml.Xpp3DomWriter;
@@ -107,10 +106,9 @@ public class ComponentsXmlArchiverFileFilter
final File f = File.createTempFile( "maven-assembly-plugin", "tmp" );
f.deleteOnExit();
- Writer fileWriter = null;
- try
+
+ try ( Writer fileWriter = WriterFactory.newXmlWriter( new FileOutputStream( f ) ) )
{
- fileWriter = WriterFactory.newXmlWriter( new FileOutputStream( f ) );
final Xpp3Dom dom = new Xpp3Dom( "component-set" );
final Xpp3Dom componentDom = new Xpp3Dom( "components" );
dom.addChild( componentDom );
@@ -121,13 +119,6 @@ public class ComponentsXmlArchiverFileFilter
}
Xpp3DomWriter.write( fileWriter, dom );
-
- fileWriter.close();
- fileWriter = null;
- }
- finally
- {
- IOUtil.close( fileWriter );
}
excludeOverride = true;
@@ -192,13 +183,9 @@ public class ComponentsXmlArchiverFileFilter
if ( ComponentsXmlArchiverFileFilter.COMPONENTS_XML_PATH.equals( entry ) )
{
- Reader reader = null;
- try
+ try ( Reader reader = new BufferedReader( ReaderFactory.newXmlReader( fileInfo.getContents() ) ) )
{
- reader = new BufferedReader( ReaderFactory.newXmlReader( fileInfo.getContents() ) );
addComponentsXml( reader );
- reader.close();
- reader = null;
}
catch ( final XmlPullParserException e )
{
@@ -207,11 +194,6 @@ public class ComponentsXmlArchiverFileFilter
throw error;
}
- finally
- {
- IOUtil.close( reader );
- }
-
return false;
}
else
diff --git a/src/main/java/org/apache/maven/plugins/assembly/filter/SimpleAggregatingDescriptorHandler.java b/src/main/java/org/apache/maven/plugins/assembly/filter/SimpleAggregatingDescriptorHandler.java
index ff39122..2fa7373 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/filter/SimpleAggregatingDescriptorHandler.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/filter/SimpleAggregatingDescriptorHandler.java
@@ -32,6 +32,7 @@ import org.codehaus.plexus.util.IOUtil;
import javax.annotation.Nonnull;
import java.io.File;
+import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
@@ -103,44 +104,43 @@ public class SimpleAggregatingDescriptorHandler
private File writePropertiesFile()
{
File f;
-
- Writer writer = null;
try
{
f = File.createTempFile( "maven-assembly-plugin", "tmp" );
f.deleteOnExit();
- writer = AssemblyFileUtils.isPropertyFile( f )
- ? new OutputStreamWriter( new FileOutputStream( f ), StandardCharsets.ISO_8859_1 )
- : new OutputStreamWriter( new FileOutputStream( f ) ); // Still platform encoding
-
- writer.write( commentChars + " Aggregated on " + new Date() + " from: " );
-
- for ( final String filename : filenames )
+ try ( Writer writer = getWriter( f ) )
{
- writer.write( "\n" + commentChars + " " + filename );
- }
-
- writer.write( "\n\n" );
+ writer.write( commentChars + " Aggregated on " + new Date() + " from: " );
- writer.write( aggregateWriter.toString() );
+ for ( final String filename : filenames )
+ {
+ writer.write( "\n" + commentChars + " " + filename );
+ }
- writer.close();
- writer = null;
+ writer.write( "\n\n" );
+ writer.write( aggregateWriter.toString() );
+ }
}
catch ( final IOException e )
{
throw new ArchiverException(
"Error adding aggregated properties to finalize archive creation. Reason: " + e.getMessage(), e );
}
- finally
- {
- IOUtil.close( writer );
- }
return f;
}
+ private Writer getWriter( File f )
+ throws FileNotFoundException
+ {
+ Writer writer;
+ writer = AssemblyFileUtils.isPropertyFile( f )
+ ? new OutputStreamWriter( new FileOutputStream( f ), StandardCharsets.ISO_8859_1 )
+ : new OutputStreamWriter( new FileOutputStream( f ) ); // Still platform encoding
+ return writer;
+ }
+
@Override
public void finalizeArchiveExtraction( final UnArchiver unarchiver )
{
diff --git a/src/main/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReader.java b/src/main/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReader.java
index 2b695c7..a638d3c 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReader.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReader.java
@@ -19,7 +19,6 @@ package org.apache.maven.plugins.assembly.io;
* under the License.
*/
-import org.apache.commons.io.IOUtils;
import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
import org.apache.maven.plugins.assembly.InvalidAssemblerConfigurationException;
import org.apache.maven.plugins.assembly.interpolation.AssemblyExpressionEvaluator;
@@ -210,13 +209,9 @@ public class DefaultAssemblyReader
}
}
- Reader reader = null;
- try
+ try ( Reader reader = ReaderFactory.newXmlReader( resourceAsStream ) )
{
- reader = ReaderFactory.newXmlReader( resourceAsStream );
final Assembly assembly = readAssembly( reader, ref, null, configSource );
- reader.close();
- reader = null;
assemblies.add( assembly );
return assembly;
}
@@ -224,10 +219,6 @@ public class DefaultAssemblyReader
{
throw new AssemblyReadException( "Problem with descriptor with ID '" + ref + "'", e );
}
- finally
- {
- IOUtils.closeQuietly( reader );
- }
}
private Assembly addAssemblyFromDescriptorFile( final File descriptor,
@@ -249,17 +240,11 @@ public class DefaultAssemblyReader
}
}
- Reader r = null;
- try
+ try ( Reader r = ReaderFactory.newXmlReader( descriptor ) )
{
- r = ReaderFactory.newXmlReader( descriptor );
-
final Assembly assembly =
readAssembly( r, descriptor.getAbsolutePath(), descriptor.getParentFile(), configSource );
- r.close();
- r = null;
-
assemblies.add( assembly );
return assembly;
@@ -268,10 +253,6 @@ public class DefaultAssemblyReader
{
throw new AssemblyReadException( "Error reading assembly descriptor: " + descriptor, e );
}
- finally
- {
- IOUtil.close( r );
- }
}
private Assembly addAssemblyFromDescriptor( final String spec, final Locator locator,
@@ -296,11 +277,9 @@ public class DefaultAssemblyReader
}
}
- Reader r = null;
- try
+
+ try ( Reader r = ReaderFactory.newXmlReader( location.getInputStream() ) )
{
- r = ReaderFactory.newXmlReader( location.getInputStream() );
-
File dir = null;
if ( location.getFile() != null )
{
@@ -309,9 +288,6 @@ public class DefaultAssemblyReader
final Assembly assembly = readAssembly( r, spec, dir, configSource );
- r.close();
- r = null;
-
assemblies.add( assembly );
return assembly;
@@ -320,11 +296,6 @@ public class DefaultAssemblyReader
{
throw new AssemblyReadException( "Error reading assembly descriptor: " + spec, e );
}
- finally
- {
- IOUtil.close( r );
- }
-
}
public Assembly readAssembly( Reader reader, final String locationDescription, final File assemblyDir,
@@ -443,10 +414,8 @@ public class DefaultAssemblyReader
}
Component component = null;
- Reader reader = null;
- try
+ try ( Reader reader = new InputStreamReader( resolvedLocation.getInputStream() ) )
{
- reader = new InputStreamReader( resolvedLocation.getInputStream() );
component = new ComponentXpp3Reader( transformer ).read( reader );
}
catch ( final IOException | XmlPullParserException e )
@@ -454,10 +423,6 @@ public class DefaultAssemblyReader
throw new AssemblyReadException( "Error reading component descriptor: " + location + " (resolved to: "
+ resolvedLocation.getSpecification() + ")", e );
}
- finally
- {
- IOUtil.close( reader );
- }
mergeComponentWithAssembly( component, assembly );
}
diff --git a/src/main/java/org/apache/maven/plugins/assembly/utils/LineEndingsUtils.java b/src/main/java/org/apache/maven/plugins/assembly/utils/LineEndingsUtils.java
index 3ae2eb1..e69f4e8 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/utils/LineEndingsUtils.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/utils/LineEndingsUtils.java
@@ -19,12 +19,6 @@ package org.apache.maven.plugins.assembly.utils;
* under the License.
*/
-import org.apache.maven.plugins.assembly.format.AssemblyFormattingException;
-import org.codehaus.plexus.util.IOUtil;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
@@ -36,6 +30,11 @@ import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.RandomAccessFile;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+import org.apache.maven.plugins.assembly.format.AssemblyFormattingException;
+
/**
* Line Ending class which contains convenience methods to change line endings.
*/
@@ -62,7 +61,7 @@ public final class LineEndingsUtils
* @throws IOException .
*/
public static void convertLineEndings( @Nonnull File source, @Nonnull File dest, LineEndings lineEndings,
- Boolean atEndOfFile, String encoding )
+ final Boolean atEndOfFile, String encoding )
throws IOException
{
// MASSEMBLY-637, MASSEMBLY-96
@@ -72,12 +71,10 @@ public final class LineEndingsUtils
String eofChars = "";
if ( atEndOfFile == null )
{
- RandomAccessFile raf = null;
- try
+ if ( source.length() >= 1 )
{
- if ( source.length() >= 1 )
+ try ( RandomAccessFile raf = new RandomAccessFile( source, "r" ) )
{
- raf = new RandomAccessFile( source, "r" );
raf.seek( source.length() - 1 );
byte last = raf.readByte();
if ( last == '\n' )
@@ -86,46 +83,16 @@ public final class LineEndingsUtils
}
}
}
- finally
- {
- if ( raf != null )
- {
- try
- {
- raf.close();
- }
- catch ( IOException ex )
- {
- // ignore
- }
- }
- }
}
else if ( atEndOfFile )
{
eofChars = lineEndings.getLineEndingCharacters();
}
- BufferedReader in = null;
- BufferedWriter out = null;
- try
+ try ( BufferedReader in = getBufferedReader( source, encoding );
+ BufferedWriter out = getBufferedWriter( dest, encoding ) )
{
- if ( encoding == null )
- {
- // platform encoding
- in = new BufferedReader( new InputStreamReader( new FileInputStream( source ) ) );
- out = new BufferedWriter( new OutputStreamWriter( new FileOutputStream( dest ) ) );
- }
- else
- {
- // MASSEMBLY-371
- in = new BufferedReader( new InputStreamReader( new FileInputStream( source ), encoding ) );
- out = new BufferedWriter( new OutputStreamWriter( new FileOutputStream( dest ), encoding ) );
- }
-
- String line;
-
- line = in.readLine();
+ String line = in.readLine();
while ( line != null )
{
out.write( line );
@@ -139,16 +106,34 @@ public final class LineEndingsUtils
out.write( eofChars );
}
}
+ }
+ }
- out.close();
- out = null;
- in.close();
- in = null;
+ private static BufferedReader getBufferedReader( File source, String encoding ) throws IOException
+ {
+ if ( encoding == null )
+ {
+ // platform encoding
+ return new BufferedReader( new InputStreamReader( new FileInputStream( source ) ) );
}
- finally
+ else
{
- IOUtil.close( in );
- IOUtil.close( out );
+ // MASSEMBLY-371
+ return new BufferedReader( new InputStreamReader( new FileInputStream( source ), encoding ) );
+ }
+ }
+
+ private static BufferedWriter getBufferedWriter( File dest, String encoding ) throws IOException
+ {
+ if ( encoding == null )
+ {
+ // platform encoding
+ return new BufferedWriter( new OutputStreamWriter( new FileOutputStream( dest ) ) );
+ }
+ else
+ {
+ // MASSEMBLY-371
+ return new BufferedWriter( new OutputStreamWriter( new FileOutputStream( dest ), encoding ) );
}
}
@@ -200,12 +185,10 @@ public final class LineEndingsUtils
public static String getLineEndingCharacters( @Nullable String lineEnding )
throws AssemblyFormattingException
{
-
String value = lineEnding;
if ( lineEnding != null )
{
-
try
{
value = LineEndings.valueOf( lineEnding ).getLineEndingCharacters();