in maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginXdocGenerator.java [787:811]
String getXhtmlWithValidatedLinks(String xhtmlText, String context) {
if (disableInternalJavadocLinkValidation) {
return xhtmlText;
}
StringBuffer sanitizedXhtmlText = new StringBuffer();
// find all links which are not absolute
Matcher matcher = HTML_LINK_PATTERN.matcher(xhtmlText);
while (matcher.find()) {
URI link;
try {
link = new URI(matcher.group(1));
if (!link.isAbsolute() && !JavadocLinkGenerator.isLinkValid(link, reportOutputDirectory.toPath())) {
matcher.appendReplacement(sanitizedXhtmlText, matcher.group(2));
LOG.debug("Removed invalid link {} in {}", link, context);
} else {
matcher.appendReplacement(sanitizedXhtmlText, matcher.group(0));
}
} catch (URISyntaxException e) {
LOG.warn("Invalid URI {} found in {}. Cannot validate, leave untouched", matcher.group(1), context);
matcher.appendReplacement(sanitizedXhtmlText, matcher.group(0));
}
}
matcher.appendTail(sanitizedXhtmlText);
return sanitizedXhtmlText.toString();
}