21
21
import java .io .File ;
22
22
import java .io .IOException ;
23
23
import java .io .OutputStream ;
24
+ import java .io .OutputStreamWriter ;
24
25
import java .io .Writer ;
26
+ import java .nio .file .Files ;
25
27
import java .util .ArrayList ;
26
28
import java .util .List ;
27
29
import java .util .Locale ;
41
43
import org .apache .maven .reporting .MavenReportException ;
42
44
import org .apache .maven .reporting .exec .MavenReportExecution ;
43
45
import org .codehaus .plexus .util .PathTool ;
44
- import org .codehaus .plexus .util .WriterFactory ;
45
46
46
47
import static org .apache .maven .shared .utils .logging .MessageUtils .buffer ;
47
48
@@ -229,13 +230,12 @@ public void renderDocument(Writer writer, SiteRenderer siteRenderer, SiteRenderi
229
230
siteRenderer .mergeDocumentIntoSite (writer , mainSink , siteRenderingContext );
230
231
231
232
// render sub-sinks, eventually created by multi-page reports
232
- String outputName = "" ;
233
233
List <MultiPageSubSink > sinks = multiPageSinkFactory .sinks ();
234
234
235
235
log .debug ("Multipage report: " + sinks .size () + " subreports" );
236
236
237
237
for (MultiPageSubSink mySink : sinks ) {
238
- outputName = mySink .getOutputName ();
238
+ String outputName = mySink .getOutputName ();
239
239
log .debug (" Rendering " + outputName );
240
240
241
241
// Create directories if necessary
@@ -245,14 +245,11 @@ public void renderDocument(Writer writer, SiteRenderer siteRenderer, SiteRenderi
245
245
246
246
File outputFile = new File (mySink .getOutputDirectory (), outputName );
247
247
248
- try (Writer out = WriterFactory .newWriter (outputFile , siteRenderingContext .getOutputEncoding ())) {
248
+ try (Writer out = new OutputStreamWriter (
249
+ Files .newOutputStream (outputFile .toPath ()), siteRenderingContext .getOutputEncoding ())) {
249
250
siteRenderer .mergeDocumentIntoSite (out , mySink , siteRenderingContext );
250
- mySink .close ();
251
- mySink = null ;
252
251
} finally {
253
- if (mySink != null ) {
254
- mySink .close ();
255
- }
252
+ mySink .close ();
256
253
}
257
254
}
258
255
}
@@ -262,6 +259,11 @@ public String getOutputName() {
262
259
return docRenderingContext .getOutputName ();
263
260
}
264
261
262
+ @ Override
263
+ public String getOutputPath () {
264
+ return getOutputName ();
265
+ }
266
+
265
267
@ Override
266
268
public DocumentRenderingContext getRenderingContext () {
267
269
return docRenderingContext ;
0 commit comments