in enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequirePluginVersions.java [248:297]
private void handleMessagesToTheUser(MavenProject project, List<Plugin> failures) throws EnforcerRuleException {
StringBuilder newMsg = new StringBuilder();
newMsg.append("Some plugins are missing valid versions or depend on Maven ");
newMsg.append(runtimeInformation.getMavenVersion());
newMsg.append(" defaults");
handleBanMessages(newMsg);
newMsg.append(System.lineSeparator());
for (Plugin plugin : failures) {
newMsg.append(" ");
newMsg.append(plugin.getGroupId());
newMsg.append(":");
newMsg.append(plugin.getArtifactId());
try {
newMsg.append(". \tThe version currently in use is ");
Plugin currentPlugin = findCurrentPlugin(plugin, project);
if (currentPlugin == null) {
newMsg.append("unknown");
} else {
newMsg.append(currentPlugin.getVersion());
if (PluginWrapper.isVersionFromDefaultLifecycleBindings(currentPlugin)
.orElse(false)) {
newMsg.append(" via default lifecycle bindings");
} else {
String msg = PluginWrapper.isVersionFromSuperpom(currentPlugin)
.filter(b -> b)
.map(t -> " via super POM")
// for Maven 3.6.0 or before (MNG-6593 / MNG-6600)
.orElse(" via super POM or default lifecycle bindings");
newMsg.append(msg);
}
}
} catch (Exception e) {
// lots can go wrong here. Don't allow any issues trying to
// determine the issue stop me
getLog().debug("Exception while determining plugin Version " + e.getMessage());
newMsg.append(". Unable to determine the plugin version.");
}
newMsg.append(System.lineSeparator());
}
String message = getMessage();
if (message != null && !message.isEmpty()) {
newMsg.append(message);
}
throw new EnforcerRuleException(newMsg.toString());
}