in apache-rat-plugin/src/main/java/org/apache/rat/mp/RatReportMojo.java [137:180]
public void execute() throws MojoExecutionException {
if (!canGenerateReport()) {
return;
}
File outputDirectory = new File(getOutputDirectory());
String filename = getOutputName() + ".html";
Locale locale = Locale.getDefault();
try {
SiteRenderingContext siteContext = createSiteRenderingContext(locale);
// copy resources
getSiteRenderer().copyResources(siteContext, outputDirectory);
// TODO Replace null with real value
RenderingContext docRenderingContext = new RenderingContext(outputDirectory, filename, null);
SiteRendererSink sink = new SiteRendererSink(docRenderingContext);
generate(sink, null, locale);
// MSHARED-204: only render Doxia sink if not an external report
if (!isExternalReport()) {
if (!outputDirectory.exists() && !outputDirectory.mkdirs()) {
getLog().error("Unable to create output directory: " + outputDirectory);
}
try (Writer writer = new OutputStreamWriter(
Files.newOutputStream(new File(outputDirectory, filename).toPath()), getOutputEncoding())) {
// render report
getSiteRenderer().mergeDocumentIntoSite(writer, sink, siteContext);
}
}
// copy generated resources also
getSiteRenderer().copyResources(siteContext, outputDirectory);
} catch (RendererException | IOException | MavenReportException e) {
throw new MojoExecutionException(
"An error has occurred in " + getName(Locale.ENGLISH) + " report generation.", e);
}
}