in doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java [320:358]
public void render(
Collection<DocumentRenderer> documents, SiteRenderingContext siteRenderingContext, File outputDirectory)
throws RendererException, IOException {
for (DocumentRenderer docRenderer : documents) {
DocumentRenderingContext docRenderingContext = docRenderer.getRenderingContext();
File outputFile = new File(outputDirectory, docRenderer.getOutputName());
File inputFile = new File(docRenderingContext.getBasedir(), docRenderingContext.getInputName());
boolean modified = !outputFile.exists()
|| (inputFile.lastModified() > outputFile.lastModified())
|| (siteRenderingContext.getSiteModel().getLastModified() > outputFile.lastModified());
if (modified || docRenderer.isOverwrite()) {
if (!outputFile.getParentFile().exists()) {
outputFile.getParentFile().mkdirs();
}
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("Generating " + outputFile);
}
Writer writer = null;
try {
if (!docRenderer.isExternalReport()) {
writer = WriterFactory.newWriter(outputFile, siteRenderingContext.getOutputEncoding());
}
docRenderer.renderDocument(writer, this, siteRenderingContext);
} finally {
IOUtil.close(writer);
}
} else {
if (LOGGER.isDebugEnabled()) {
LOGGER.debug(inputFile + " unchanged, not regenerating...");
}
}
}
}