diff --git a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginValidationManager.java b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginValidationManager.java index 17423b6f6d94..bf4122fa25e3 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginValidationManager.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginValidationManager.java @@ -161,12 +161,11 @@ private void reportSessionCollectedValidationIssues(MavenSession mavenSession) { return; // we were asked to not report anything OR reporting already happened inline } ConcurrentHashMap issuesMap = pluginIssues(mavenSession.getRepositorySession()); - if (!issuesMap.isEmpty()) { - - EnumSet issueLocalitiesToReport = validationReportLevel == ValidationReportLevel.VERBOSE - ? EnumSet.allOf(IssueLocality.class) - : EnumSet.of(IssueLocality.INTERNAL); + EnumSet issueLocalitiesToReport = validationReportLevel == ValidationReportLevel.VERBOSE + ? EnumSet.allOf(IssueLocality.class) + : EnumSet.of(IssueLocality.INTERNAL); + if (hasAnythingToReport(issuesMap, issueLocalitiesToReport)) { logger.warn(""); logger.warn("Plugin {} validation issues were detected in following plugin(s)", issueLocalitiesToReport); logger.warn(""); @@ -227,6 +226,16 @@ private void reportSessionCollectedValidationIssues(MavenSession mavenSession) { } } + private boolean hasAnythingToReport( + Map issuesMap, EnumSet issueLocalitiesToReport) { + for (PluginValidationIssues issues : issuesMap.values()) { + if (hasAnythingToReport(issues, issueLocalitiesToReport)) { + return true; + } + } + return false; + } + private boolean hasAnythingToReport(PluginValidationIssues issues, EnumSet issueLocalitiesToReport) { for (IssueLocality issueLocality : issueLocalitiesToReport) { Set pluginIssues = issues.pluginIssues.get(issueLocality);