Skip to content

Commit a2428a6

Browse files
authored
[MNG-7767] Tone down plugin validator (#1092)
This change reduces default output making it more compact, and also renames the "levels" to brief, default and verbose. --- https://issues.apache.org/jira/browse/MNG-7767
1 parent 924dbfe commit a2428a6

File tree

1 file changed

+38
-32
lines changed

1 file changed

+38
-32
lines changed

maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginValidationManager.java

Lines changed: 38 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ public final class DefaultPluginValidationManager extends AbstractMavenLifecycle
5252
private static final String MAVEN_PLUGIN_VALIDATION_KEY = "maven.plugin.validation";
5353

5454
private enum ValidationLevel {
55-
DISABLED,
56-
ENABLED,
55+
BRIEF,
56+
DEFAULT,
5757
VERBOSE
5858
}
5959

@@ -67,7 +67,7 @@ public void afterSessionEnd(MavenSession session) {
6767
private ValidationLevel validationLevel(RepositorySystemSession session) {
6868
String level = ConfigUtils.getString(session, null, MAVEN_PLUGIN_VALIDATION_KEY);
6969
if (level == null || level.isEmpty()) {
70-
return ValidationLevel.ENABLED;
70+
return ValidationLevel.DEFAULT;
7171
}
7272
try {
7373
return ValidationLevel.valueOf(level.toUpperCase(Locale.ENGLISH));
@@ -77,7 +77,7 @@ private ValidationLevel validationLevel(RepositorySystemSession session) {
7777
MAVEN_PLUGIN_VALIDATION_KEY,
7878
level,
7979
Arrays.toString(ValidationLevel.values()));
80-
return ValidationLevel.ENABLED;
80+
return ValidationLevel.DEFAULT;
8181
}
8282
}
8383

@@ -125,53 +125,59 @@ public void reportPluginMojoValidationIssue(
125125
}
126126

127127
private void reportSessionCollectedValidationIssues(MavenSession mavenSession) {
128+
if (!logger.isWarnEnabled()) {
129+
return; // nothing can be reported
130+
}
128131
ValidationLevel validationLevel = validationLevel(mavenSession.getRepositorySession());
129132
ConcurrentHashMap<String, PluginValidationIssues> issuesMap = pluginIssues(mavenSession.getRepositorySession());
130133
if (!issuesMap.isEmpty()) {
131134

132135
logger.warn("");
133136
logger.warn("Plugin validation issues were detected in {} plugin(s)", issuesMap.size());
134137
logger.warn("");
135-
if (validationLevel == ValidationLevel.DISABLED || !logger.isWarnEnabled()) {
138+
if (validationLevel == ValidationLevel.BRIEF) {
136139
return;
137140
}
138141

139142
for (Map.Entry<String, PluginValidationIssues> entry : issuesMap.entrySet()) {
140-
logger.warn("Plugin {}", entry.getKey());
141-
PluginValidationIssues issues = entry.getValue();
142-
if (validationLevel == ValidationLevel.VERBOSE && !issues.pluginDeclarations.isEmpty()) {
143-
logger.warn(" Declared at location(s):");
144-
for (String pluginDeclaration : issues.pluginDeclarations) {
145-
logger.warn(" * {}", pluginDeclaration);
143+
logger.warn(" * {}", entry.getKey());
144+
if (validationLevel == ValidationLevel.VERBOSE) {
145+
PluginValidationIssues issues = entry.getValue();
146+
if (!issues.pluginDeclarations.isEmpty()) {
147+
logger.warn(" Declared at location(s):");
148+
for (String pluginDeclaration : issues.pluginDeclarations) {
149+
logger.warn(" * {}", pluginDeclaration);
150+
}
146151
}
147-
}
148-
if (validationLevel == ValidationLevel.VERBOSE && !issues.pluginOccurrences.isEmpty()) {
149-
logger.warn(" Used in module(s):");
150-
for (String pluginOccurrence : issues.pluginOccurrences) {
151-
logger.warn(" * {}", pluginOccurrence);
152+
if (!issues.pluginOccurrences.isEmpty()) {
153+
logger.warn(" Used in module(s):");
154+
for (String pluginOccurrence : issues.pluginOccurrences) {
155+
logger.warn(" * {}", pluginOccurrence);
156+
}
152157
}
153-
}
154-
if (!issues.pluginIssues.isEmpty()) {
155-
logger.warn(" Plugin issue(s):");
156-
for (String pluginIssue : issues.pluginIssues) {
157-
logger.warn(" * {}", pluginIssue);
158+
if (!issues.pluginIssues.isEmpty()) {
159+
logger.warn(" Plugin issue(s):");
160+
for (String pluginIssue : issues.pluginIssues) {
161+
logger.warn(" * {}", pluginIssue);
162+
}
158163
}
159-
}
160-
if (!issues.mojoIssues.isEmpty()) {
161-
logger.warn(" Mojo issue(s):");
162-
for (String mojoInfo : issues.mojoIssues.keySet()) {
163-
logger.warn(" * Mojo {}", mojoInfo);
164-
for (String mojoIssue : issues.mojoIssues.get(mojoInfo)) {
165-
logger.warn(" - {}", mojoIssue);
164+
if (!issues.mojoIssues.isEmpty()) {
165+
logger.warn(" Mojo issue(s):");
166+
for (String mojoInfo : issues.mojoIssues.keySet()) {
167+
logger.warn(" * Mojo {}", mojoInfo);
168+
for (String mojoIssue : issues.mojoIssues.get(mojoInfo)) {
169+
logger.warn(" - {}", mojoIssue);
170+
}
166171
}
167172
}
173+
logger.warn("");
168174
}
169-
logger.warn("");
170175
}
171176
logger.warn("");
172-
logger.warn(
173-
"To fix these issues, please upgrade above listed plugins, or, notify their maintainers about reported issues.");
174-
logger.warn("");
177+
if (validationLevel == ValidationLevel.VERBOSE) {
178+
logger.warn(
179+
"Fix reported issues by adjusting plugin configuration or by upgrading above listed plugins. If no upgrade available, please notify plugin maintainers about reported issues.");
180+
}
175181
logger.warn(
176182
"For more or less details, use 'maven.plugin.validation' property with one of the values (case insensitive): {}",
177183
Arrays.toString(ValidationLevel.values()));

0 commit comments

Comments
 (0)