Skip to content

Commit c02f7d6

Browse files
authored
[MSHADE-360] avoid PrintWriter (#44)
* avoid PrintWriter * System.lineSeparator()
1 parent 7a7ba64 commit c02f7d6

File tree

2 files changed

+18
-17
lines changed

2 files changed

+18
-17
lines changed

src/main/java/org/apache/maven/plugins/shade/resource/ApacheNoticeResourceTransformer.java

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import java.io.InputStream;
2828
import java.io.InputStreamReader;
2929
import java.io.OutputStreamWriter;
30-
import java.io.PrintWriter;
3130
import java.io.Writer;
3231
import java.text.SimpleDateFormat;
3332
import java.util.Date;
@@ -211,16 +210,15 @@ public void modifyOutputStream( JarOutputStream jos )
211210
jarEntry.setTime( time );
212211
jos.putNextEntry( jarEntry );
213212

214-
Writer pow;
213+
Writer writer;
215214
if ( StringUtils.isNotEmpty( encoding ) )
216215
{
217-
pow = new OutputStreamWriter( jos, encoding );
216+
writer = new OutputStreamWriter( jos, encoding );
218217
}
219218
else
220219
{
221-
pow = new OutputStreamWriter( jos );
220+
writer = new OutputStreamWriter( jos );
222221
}
223-
PrintWriter writer = new PrintWriter( pow );
224222

225223
int count = 0;
226224
for ( String line : entries )
@@ -233,26 +231,26 @@ public void modifyOutputStream( JarOutputStream jos )
233231

234232
if ( count == 2 && copyright != null )
235233
{
236-
writer.print( copyright );
237-
writer.print( '\n' );
234+
writer.write( copyright );
235+
writer.write( '\n' );
238236
}
239237
else
240238
{
241-
writer.print( line );
242-
writer.print( '\n' );
239+
writer.write( line );
240+
writer.write( '\n' );
243241
}
244242
if ( count == 3 )
245243
{
246244
//do org stuff
247245
for ( Map.Entry<String, Set<String>> entry : organizationEntries.entrySet() )
248246
{
249-
writer.print( entry.getKey() );
250-
writer.print( '\n' );
247+
writer.write( entry.getKey() );
248+
writer.write( '\n' );
251249
for ( String l : entry.getValue() )
252250
{
253-
writer.print( l );
251+
writer.write( l );
254252
}
255-
writer.print( '\n' );
253+
writer.write( '\n' );
256254
}
257255
}
258256
}

src/main/java/org/apache/maven/plugins/shade/resource/ServicesResourceTransformer.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@
2525
import java.io.IOException;
2626
import java.io.InputStream;
2727
import java.io.InputStreamReader;
28-
import java.io.PrintWriter;
28+
import java.io.OutputStreamWriter;
2929
import java.io.StringReader;
30+
import java.io.Writer;
3031
import java.nio.charset.StandardCharsets;
3132
import java.util.HashMap;
3233
import java.util.List;
@@ -132,15 +133,17 @@ public void modifyOutputStream( JarOutputStream jos )
132133
jos.putNextEntry( jarEntry );
133134

134135

135-
//read the content of service file for candidate classes for relocation
136-
PrintWriter writer = new PrintWriter( jos );
136+
// read the content of service file for candidate classes for relocation.
137+
// Specification requires that this file is encoded in UTF-8.
138+
Writer writer = new OutputStreamWriter( jos, StandardCharsets.UTF_8 );
137139
InputStreamReader streamReader = new InputStreamReader( data.toInputStream() );
138140
BufferedReader reader = new BufferedReader( streamReader );
139141
String className;
140142

141143
while ( ( className = reader.readLine() ) != null )
142144
{
143-
writer.println( className );
145+
writer.write( className );
146+
writer.write( System.lineSeparator() );
144147
writer.flush();
145148
}
146149

0 commit comments

Comments
 (0)