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:03 UTC

[maven-shade-plugin] branch i360 created (now 7959369)

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

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


      at 7959369  avoid PrintWriter

This branch includes the following new commits:

     new 7959369  avoid PrintWriter

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



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

Posted by el...@apache.org.
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();
             }