in src/main/java/org/apache/jackrabbit/filevault/maven/packaging/mojo/GenerateCndMojo.java [128:147]
public int generateCnd(StandaloneManagerProvider managerProvider, Path cndOutputFile, Path jcrSourceDirectory) throws IOException, RepositoryException, ParseException {
DocViewParser docViewParser = new DocViewParser(managerProvider.getNamespaceResolver());
// traverse relevant package files
final Set<String> nodeTypes;
try {
nodeTypes = collectNodeTypes(jcrSourceDirectory, docViewParser);
} catch (UncheckedIOException e) {
throw e.getCause();
}
getLog().info("Found " + nodeTypes.size() + " unique node types" );
Collection<? extends QNodeTypeDefinition> ntDefinitons = resolveNodeTypes(nodeTypes, managerProvider.getNameResolver(),
managerProvider.getNodeTypeDefinitionProvider());
// make sure parent directories exist
Files.createDirectories(cndOutputFile.getParent());
// writes the CND into the given file
try (Writer writer = Files.newBufferedWriter(cndOutputFile, StandardCharsets.US_ASCII)) {
return writeCnd(ntDefinitons, managerProvider.getNodeTypeDefinitionProvider(), managerProvider.getNamespaceResolver(), writer);
}
}