You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sj...@apache.org on 2023/01/23 21:23:12 UTC

[maven-enforcer] branch MENFORCER-415 created (now ab80502)

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

sjaranowski pushed a change to branch MENFORCER-415
in repository https://gitbox.apache.org/repos/asf/maven-enforcer.git


      at ab80502  [MENFORCER-415] Move error message to MojoException

This branch includes the following new commits:

     new ab80502  [MENFORCER-415] Move error message to MojoException

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[maven-enforcer] 01/01: [MENFORCER-415] Move error message to MojoException

Posted by sj...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

sjaranowski pushed a commit to branch MENFORCER-415
in repository https://gitbox.apache.org/repos/asf/maven-enforcer.git

commit ab805026f0195a2449ba6d3096b4d969eb70135b
Author: Slawomir Jaranowski <s....@gmail.com>
AuthorDate: Mon Jan 23 22:22:59 2023 +0100

    [MENFORCER-415] Move error message to MojoException
    
    In multimodal project it is very difficult to find a reason of failed job.
---
 .../apache/maven/plugins/enforcer/EnforceMojo.java | 32 ++++++++--------------
 1 file changed, 11 insertions(+), 21 deletions(-)

diff --git a/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/EnforceMojo.java b/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/EnforceMojo.java
index 0694a7c..fa01727 100644
--- a/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/EnforceMojo.java
+++ b/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/EnforceMojo.java
@@ -18,10 +18,9 @@
  */
 package org.apache.maven.plugins.enforcer;
 
+import java.util.ArrayList;
 import java.util.Hashtable;
-import java.util.LinkedHashMap;
 import java.util.List;
-import java.util.Map;
 import java.util.Objects;
 import java.util.Optional;
 import java.util.stream.Collectors;
@@ -228,9 +227,6 @@ public class EnforceMojo extends AbstractMojo {
             }
         }
 
-        // messages with warn/error flag
-        Map<String, Boolean> messages = new LinkedHashMap<>();
-
         // create my helper
         PluginParameterExpressionEvaluator evaluator = new PluginParameterExpressionEvaluator(session, mojoExecution);
         EnforcerRuleHelper helper = new DefaultEnforcementRuleHelper(session, evaluator, log, container);
@@ -241,7 +237,7 @@ public class EnforceMojo extends AbstractMojo {
             failFast = false;
         }
 
-        boolean hasErrors = false;
+        List<String> errorMessages = new ArrayList<>();
 
         // go through each rule
         for (int ruleIndex = 0; ruleIndex < rulesList.size(); ruleIndex++) {
@@ -252,36 +248,30 @@ public class EnforceMojo extends AbstractMojo {
                 executeRule(ruleIndex, ruleDesc, helper);
             } catch (EnforcerRuleError e) {
                 String ruleMessage = createRuleMessage(ruleIndex, ruleDesc, EnforcerLevel.ERROR, e);
-                throw new MojoExecutionException(ruleMessage, e);
+                throw new MojoExecutionException(System.lineSeparator() + ruleMessage, e);
             } catch (EnforcerRuleException e) {
 
                 String ruleMessage = createRuleMessage(ruleIndex, ruleDesc, level, e);
 
                 if (failFast && level == EnforcerLevel.ERROR) {
-                    throw new MojoExecutionException(ruleMessage, e);
+                    throw new MojoExecutionException(System.lineSeparator() + ruleMessage, e);
                 }
 
                 if (level == EnforcerLevel.ERROR) {
-                    hasErrors = true;
-                    messages.put(ruleMessage, true);
+                    errorMessages.add(ruleMessage);
                 } else {
-                    messages.put(ruleMessage, false);
+                    log.warn(ruleMessage);
                 }
             }
         }
 
-        // log any messages
-        messages.forEach((message, error) -> {
-            if (fail && error) {
-                log.error(message);
+        if (!errorMessages.isEmpty()) {
+            if (fail) {
+                throw new MojoExecutionException(
+                        System.lineSeparator() + String.join(System.lineSeparator(), errorMessages));
             } else {
-                log.warn(message);
+                errorMessages.forEach(log::warn);
             }
-        });
-
-        if (fail && hasErrors) {
-            throw new MojoExecutionException(
-                    "Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed.");
         }
     }