in freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/Main.java [148:166]
private Integer onCall() {
final String currentConfigFile = isNotEmpty(configFile) ? configFile : getDefaultConfigFileName();
final Properties configuration = loadFreeMarkerGeneratorConfiguration(currentConfigFile);
final List<File> templateDirectories = getTemplateDirectories(templateDir);
final Settings settings = settings(configuration, templateDirectories, outputGeneratorDefinitions);
try {
final FreeMarkerTask freeMarkerTask = new FreeMarkerTask(
Suppliers.configurationSupplier(settings),
Suppliers.outputGeneratorsSupplier(settings),
Suppliers.sharedDataModelSupplier(settings),
Suppliers.sharedDataSourcesSupplier(settings),
settings::getUserParameters
);
return freeMarkerTask.call();
} finally {
ClosableUtils.closeQuietly(settings.getCallerSuppliedWriter());
}
}