in log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/exporter/FreeMarkerUtils.java [58:85]
static void render(
final Path templateDirectory,
final String templateName,
final Object templateData,
final Path outputFile) {
try {
final Configuration configuration = createConfiguration(templateDirectory);
final Template template = configuration.getTemplate(templateName);
final Path outputFileParent = outputFile.getParent();
if (outputFileParent != null) {
Files.createDirectories(outputFileParent);
}
try (final BufferedWriter outputFileWriter = Files.newBufferedWriter(
outputFile,
CharsetUtils.CHARSET,
StandardOpenOption.CREATE,
StandardOpenOption.TRUNCATE_EXISTING)) {
template.process(templateData, outputFileWriter);
}
} catch (final Exception error) {
final String message = String.format(
"failed rendering template `%s` in directory `%s` to file `%s`",
templateName,
templateDirectory,
outputFile);
throw new RuntimeException(message, error);
}
}