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/25 21:23:06 UTC
[maven-enforcer] branch master updated: [MENFORCER-415] Move error message to MojoException
This is an automated email from the ASF dual-hosted git repository.
sjaranowski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-enforcer.git
The following commit(s) were added to refs/heads/master by this push:
new 4bbf7cd [MENFORCER-415] Move error message to MojoException
4bbf7cd is described below
commit 4bbf7cd116b09a68fb2de9ca43a1b4e981d0b385
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.");
}
}