}
private void renderLocale( Locale locale, List<MavenReportExecution> reports )
throws IOException, RendererException, MojoFailureException, MojoExecutionException
{
SiteRenderingContext context = createSiteRenderingContext( locale );
context.setInputEncoding( getInputEncoding() );
context.setOutputEncoding( getOutputEncoding() );
context.setValidate( validate );
if ( validate )
{
getLog().info( "Validation is switched on, xml input documents will be validated!" );
}
File outputDir = getOutputDirectory( locale );
Map<String, DocumentRenderer> documents = locateDocuments( context, reports, locale );
// 1. render Doxia documents first
List<DocumentRenderer> reportDocuments = renderDoxiaDocuments( documents, context, outputDir, false );
// 2. then reports
// For external reports
for ( MavenReportExecution mavenReportExecution : reports )
{
MavenReport report = mavenReportExecution.getMavenReport();
report.setReportOutputDirectory( outputDir );
}
siteRenderer.render( reportDocuments, context, outputDir );
if ( generateSitemap )
{
getLog().info( "Generating Sitemap." );
new SiteMap( getOutputEncoding(), i18n )
.generate( context.getDecoration(), generatedSiteDirectory, locale );
}
// 3. Generated docs must be done afterwards as they are often generated by reports
context.getSiteDirectories().clear();
context.addSiteDirectory( generatedSiteDirectory );
Map<String, DocumentRenderer> generatedDocuments = siteRenderer.locateDocumentFiles( context );
renderDoxiaDocuments( generatedDocuments, context, outputDir, true );
}