in maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java [206:238]
private void createXref(Locale locale, File outputDirectory, List<String> sourceDirs)
throws IOException, JxrException {
FileManager fileManager = new FileManager();
PackageManager packageManager = new PackageManager(fileManager);
JavaCodeTransform codeTransform = new JavaCodeTransform(packageManager, fileManager);
JXR jxr = new JXR(packageManager, codeTransform);
jxr.setDest(outputDirectory.toPath());
jxr.setInputEncoding(getInputEncoding());
jxr.setLocale(locale);
jxr.setOutputEncoding(getOutputEncoding());
jxr.setRevision("HEAD");
jxr.setJavadocLinkDir(constructJavadocLocation());
// Set include/exclude patterns on the jxr instance
if (excludes != null && !excludes.isEmpty()) {
jxr.setExcludes(excludes.toArray(new String[0]));
}
if (includes != null && !includes.isEmpty()) {
jxr.setIncludes(includes.toArray(new String[0]));
}
// avoid winding up using Velocity in two class loaders.
ClassLoader savedTccl = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
jxr.xref(sourceDirs, getTemplateDir(), windowTitle, docTitle, getBottomText());
} finally {
Thread.currentThread().setContextClassLoader(savedTccl);
}
// and finally copy the stylesheet
copyRequiredResources(outputDirectory);
}