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 764a9ca0b [MNG-7823] Improve plugin validation level parsing (#1182)
764a9ca0b is described below
commit 764a9ca0bef69995f5ca40aced0c63ba60917d95
Author: Tamas Cservenak <[email protected]>
AuthorDate: Fri Jun 23 13:04:57 2023 +0200
[MNG-7823] Improve plugin validation level parsing (#1182)
Changes:
* always parse it at session start
* hence, will WARN if needed there as well, and will warn once
* do not re-parse and possibly warn always, reuse parsed enum
---
https://issues.apache.org/jira/browse/MNG-7823
---
.../maven/plugin/internal/DefaultPluginValidationManager.java | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
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 cda45acad..7ef25648c 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
@@ -83,13 +83,22 @@ public final class DefaultPluginValidationManager extends
AbstractEventSpy imple
public void onEvent(Object event) {
if (event instanceof ExecutionEvent) {
ExecutionEvent executionEvent = (ExecutionEvent) event;
- if (executionEvent.getType() == ExecutionEvent.Type.SessionEnded) {
+ if (executionEvent.getType() ==
ExecutionEvent.Type.SessionStarted) {
+ RepositorySystemSession repositorySystemSession =
+ executionEvent.getSession().getRepositorySession();
+ validationReportLevel(repositorySystemSession); // this will
parse and store it in session.data
+ } else if (executionEvent.getType() ==
ExecutionEvent.Type.SessionEnded) {
reportSessionCollectedValidationIssues(executionEvent.getSession());
}
}
}
private ValidationReportLevel
validationReportLevel(RepositorySystemSession session) {
+ return (ValidationReportLevel) session.getData()
+ .computeIfAbsent(ValidationReportLevel.class, () ->
parseValidationReportLevel(session));
+ }
+
+ private ValidationReportLevel
parseValidationReportLevel(RepositorySystemSession session) {
String level = ConfigUtils.getString(session, null,
MAVEN_PLUGIN_VALIDATION_KEY);
if (level == null || level.isEmpty()) {
return DEFAULT_VALIDATION_LEVEL;