in src/main/java/org/apache/maven/reporting/AbstractMavenReport.java [232:271]
private void reportToSite() throws MojoExecutionException {
File outputDirectory = new File(getOutputDirectory());
String filename = getOutputName() + ".html";
Locale locale = getLocale();
try {
SiteRenderingContext siteContext = createSiteRenderingContext(locale);
// copy resources
getSiteRenderer().copyResources(siteContext, outputDirectory);
String reportMojoInfo = mojoExecution.getPlugin().getId() + ":" + mojoExecution.getGoal();
DocumentRenderingContext docRenderingContext =
new DocumentRenderingContext(outputDirectory, getOutputName(), reportMojoInfo);
SiteRendererSink sink = new SiteRendererSink(docRenderingContext);
// TODO Compared to Maven Site Plugin multipage reports will not work and fail with a NPE
generate(sink, null, locale);
if (!isExternalReport()) // MSHARED-204: only render Doxia sink if not an external report
{
outputDirectory.mkdirs();
try (Writer writer = new OutputStreamWriter(
new FileOutputStream(new File(outputDirectory, filename)), getOutputEncoding())) {
// render report
getSiteRenderer().mergeDocumentIntoSite(writer, sink, siteContext);
}
}
// copy generated resources also
getSiteRenderer().copyResources(siteContext, outputDirectory);
} catch (RendererException | IOException | MavenReportException | SiteToolException e) {
throw new MojoExecutionException(
"An error has occurred in " + getName(Locale.ENGLISH) + " report generation.", e);
}
}