You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by el...@apache.org on 2020/04/11 13:50:04 UTC

[maven-shade-plugin] 01/01: avoid PrintWriter

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

elharo pushed a commit to branch i360
in repository https://gitbox.apache.org/repos/asf/maven-shade-plugin.git

commit 795936991a5576c9576806070235604811efc0ab
Author: Elliotte Rusty Harold <el...@ibiblio.org>
AuthorDate: Sat Apr 11 09:49:48 2020 -0400

    avoid PrintWriter
---
 .../resource/ApacheNoticeResourceTransformer.java  | 24 ++++++++++------------
 .../resource/ServicesResourceTransformer.java      | 11 ++++++----
 2 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/src/main/java/org/apache/maven/plugins/shade/resource/ApacheNoticeResourceTransformer.java b/src/main/java/org/apache/maven/plugins/shade/resource/ApacheNoticeResourceTransformer.java
index d0e25a7..173d1d9 100644
--- a/src/main/java/org/apache/maven/plugins/shade/resource/ApacheNoticeResourceTransformer.java
+++ b/src/main/java/org/apache/maven/plugins/shade/resource/ApacheNoticeResourceTransformer.java
@@ -27,7 +27,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
 import java.io.Writer;
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -211,16 +210,15 @@ public class ApacheNoticeResourceTransformer
         jarEntry.setTime( time );
         jos.putNextEntry( jarEntry );
 
-        Writer pow;
+        Writer writer;
         if ( StringUtils.isNotEmpty( encoding ) )
         {
-            pow = new OutputStreamWriter( jos, encoding );
+            writer = new OutputStreamWriter( jos, encoding );
         }
         else
         {
-            pow = new OutputStreamWriter( jos );
+            writer = new OutputStreamWriter( jos );
         }
-        PrintWriter writer = new PrintWriter( pow );
 
         int count = 0;
         for ( String line : entries )
@@ -233,26 +231,26 @@ public class ApacheNoticeResourceTransformer
 
             if ( count == 2 && copyright != null )
             {
-                writer.print( copyright );
-                writer.print( '\n' );
+                writer.write( copyright );
+                writer.write( '\n' );
             }
             else
             {
-                writer.print( line );
-                writer.print( '\n' );
+                writer.write( line );
+                writer.write( '\n' );
             }
             if ( count == 3 )
             {
                 //do org stuff
                 for ( Map.Entry<String, Set<String>> entry : organizationEntries.entrySet() )
                 {
-                    writer.print( entry.getKey() );
-                    writer.print( '\n' );
+                    writer.write( entry.getKey() );
+                    writer.write( '\n' );
                     for ( String l : entry.getValue() )
                     {
-                        writer.print( l );
+                        writer.write( l );
                     }
-                    writer.print( '\n' );
+                    writer.write( '\n' );
                 }
             }
         }
diff --git a/src/main/java/org/apache/maven/plugins/shade/resource/ServicesResourceTransformer.java b/src/main/java/org/apache/maven/plugins/shade/resource/ServicesResourceTransformer.java
index da43d99..d30999b 100644
--- a/src/main/java/org/apache/maven/plugins/shade/resource/ServicesResourceTransformer.java
+++ b/src/main/java/org/apache/maven/plugins/shade/resource/ServicesResourceTransformer.java
@@ -25,8 +25,9 @@ import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
-import java.io.PrintWriter;
+import java.io.OutputStreamWriter;
 import java.io.StringReader;
+import java.io.Writer;
 import java.nio.charset.StandardCharsets;
 import java.util.HashMap;
 import java.util.List;
@@ -136,15 +137,17 @@ public class ServicesResourceTransformer
             jos.putNextEntry( jarEntry );
 
 
-            //read the content of service file for candidate classes for relocation
-            PrintWriter writer = new PrintWriter( jos );
+            // read the content of service file for candidate classes for relocation.
+            // Specification requires that this file is encoded in UTF-8.
+            Writer writer = new OutputStreamWriter( jos, StandardCharsets.UTF_8 );
             InputStreamReader streamReader = new InputStreamReader( data.toInputStream() );
             BufferedReader reader = new BufferedReader( streamReader );
             String className;
 
             while ( ( className = reader.readLine() ) != null )
             {
-                writer.println( className );
+                writer.write( className );
+                writer.write( System.getProperty( "line.separator" ) );
                 writer.flush();
             }