This is an automated email from the ASF dual-hosted git repository.

cstamas pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven.git


The following commit(s) were added to refs/heads/master by this push:
     new b430e7d82 [MNG-7799] Plugin validation may falsely report there are 
issues (#1136)
b430e7d82 is described below

commit b430e7d826ac6aef4ff0d45e095055bec6b9d615
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Thu Jun 1 19:01:11 2023 +0200

    [MNG-7799] Plugin validation may falsely report there are issues (#1136)
    
    But to show no issue, as locality to be shown is not same as reported
    issues.
    
    ---
    
    https://issues.apache.org/jira/browse/MNG-7799
---
 .../internal/DefaultPluginValidationManager.java      | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

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 17423b6f6..bf4122fa2 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 @@ public final class DefaultPluginValidationManager extends 
AbstractEventSpy imple
             return; // we were asked to not report anything OR reporting 
already happened inline
         }
         ConcurrentHashMap<String, PluginValidationIssues> issuesMap = 
pluginIssues(mavenSession.getRepositorySession());
-        if (!issuesMap.isEmpty()) {
-
-            EnumSet<IssueLocality> issueLocalitiesToReport = 
validationReportLevel == ValidationReportLevel.VERBOSE
-                    ? EnumSet.allOf(IssueLocality.class)
-                    : EnumSet.of(IssueLocality.INTERNAL);
+        EnumSet<IssueLocality> 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 @@ public final class DefaultPluginValidationManager extends 
AbstractEventSpy imple
         }
     }
 
+    private boolean hasAnythingToReport(
+            Map<String, PluginValidationIssues> issuesMap, 
EnumSet<IssueLocality> issueLocalitiesToReport) {
+        for (PluginValidationIssues issues : issuesMap.values()) {
+            if (hasAnythingToReport(issues, issueLocalitiesToReport)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     private boolean hasAnythingToReport(PluginValidationIssues issues, 
EnumSet<IssueLocality> issueLocalitiesToReport) {
         for (IssueLocality issueLocality : issueLocalitiesToReport) {
             Set<String> pluginIssues = issues.pluginIssues.get(issueLocality);

Reply via email to