in maven-plugin-report-plugin/src/main/java/org/apache/maven/plugin/plugin/report/GoalRenderer.java [476:501]
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(String.format("Removed invalid link %s in %s", link, context));
} else {
matcher.appendReplacement(sanitizedXhtmlText, matcher.group(0));
}
} catch (URISyntaxException e) {
log.warn(String.format(
"Invalid URI %s found in %s. Cannot validate, leave untouched", matcher.group(1), context));
matcher.appendReplacement(sanitizedXhtmlText, matcher.group(0));
}
}
matcher.appendTail(sanitizedXhtmlText);
return sanitizedXhtmlText.toString();
}