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 2022/05/24 17:07:02 UTC

[maven-enforcer] branch master updated: [MENFORCER-409] Log at ERROR level when is set

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 8a05ce2  [MENFORCER-409] Log at ERROR level when <fail> is set
8a05ce2 is described below

commit 8a05ce2e580300292db0ffa6930cabb0106cca7e
Author: David Phillips <da...@acz.org>
AuthorDate: Wed Dec 22 13:55:01 2021 -0800

    [MENFORCER-409] Log at ERROR level when <fail> is set
---
 .../verify.groovy                                  |  2 +-
 .../verify.groovy                                  |  2 +-
 .../verify.groovy                                  |  2 +-
 .../ban-pom-dependency-version/verify.groovy       |  2 +-
 .../ban-transitive-dependencies-fail/verify.groovy |  2 +-
 .../verify.groovy                                  |  2 +-
 .../verify.groovy                                  |  2 +-
 .../verify.groovy                                  |  2 +-
 .../require-no-repositories_failure/verify.groovy  |  2 +-
 .../verify.groovy                                  |  2 +-
 .../verify.groovy                                  |  2 +-
 .../verify.groovy                                  |  2 +-
 .../require-plugin-versions-ci/verify.groovy       |  2 +-
 .../apache/maven/plugins/enforcer/EnforceMojo.java | 35 ++++++++++++----------
 14 files changed, 33 insertions(+), 28 deletions(-)

diff --git a/maven-enforcer-plugin/src/it/projects/ban-distribution-management-multi-module-build/verify.groovy b/maven-enforcer-plugin/src/it/projects/ban-distribution-management-multi-module-build/verify.groovy
index 6ff5ee5..95d7a1c 100644
--- a/maven-enforcer-plugin/src/it/projects/ban-distribution-management-multi-module-build/verify.groovy
+++ b/maven-enforcer-plugin/src/it/projects/ban-distribution-management-multi-module-build/verify.groovy
@@ -18,5 +18,5 @@
  */
 File buildLog = new File( basedir, 'build.log' )
 assert buildLog.text.contains( '[INFO] BUILD FAILURE' )
-assert buildLog.text.contains( '[WARNING] Rule 0: org.apache.maven.plugins.enforcer.BanDistributionManagement failed with message:' )
+assert buildLog.text.contains( '[ERROR] Rule 0: org.apache.maven.plugins.enforcer.BanDistributionManagement failed with message:' )
 assert buildLog.text.contains( 'You have defined a repository in distributionManagement.' )
diff --git a/maven-enforcer-plugin/src/it/projects/ban-duplicate-dependencies-versions/verify.groovy b/maven-enforcer-plugin/src/it/projects/ban-duplicate-dependencies-versions/verify.groovy
index c404745..c273942 100644
--- a/maven-enforcer-plugin/src/it/projects/ban-duplicate-dependencies-versions/verify.groovy
+++ b/maven-enforcer-plugin/src/it/projects/ban-duplicate-dependencies-versions/verify.groovy
@@ -17,7 +17,7 @@
  * under the License.
  */
 File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( '[WARNING] Rule 0: org.apache.maven.plugins.enforcer.BanDuplicatePomDependencyVersions failed with message:' )
+assert buildLog.text.contains( '[ERROR] Rule 0: org.apache.maven.plugins.enforcer.BanDuplicatePomDependencyVersions failed with message:' )
 assert buildLog.text.contains( 'Found 1 duplicate dependency declarations in this project:' )
 assert buildLog.text.contains( '- dependencyManagement.dependencies.dependency[org.apache.maven.plugins.enforcer.its:menforcer128_api:jar] ( 2 times )' )
 
diff --git a/maven-enforcer-plugin/src/it/projects/ban-pom-dependency-version-utf8-with-bom/verify.groovy b/maven-enforcer-plugin/src/it/projects/ban-pom-dependency-version-utf8-with-bom/verify.groovy
index eb917f9..e1e4696 100644
--- a/maven-enforcer-plugin/src/it/projects/ban-pom-dependency-version-utf8-with-bom/verify.groovy
+++ b/maven-enforcer-plugin/src/it/projects/ban-pom-dependency-version-utf8-with-bom/verify.groovy
@@ -17,7 +17,7 @@
  * under the License.
  */
 File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( '[WARNING] Rule 0: org.apache.maven.plugins.enforcer.BanDuplicatePomDependencyVersions failed with message:' )
+assert buildLog.text.contains( '[ERROR] Rule 0: org.apache.maven.plugins.enforcer.BanDuplicatePomDependencyVersions failed with message:' )
 assert buildLog.text.contains( 'Found 1 duplicate dependency declaration in this project:' )
 assert buildLog.text.contains( '- dependencies.dependency[org.apache.maven.plugins.enforcer.its:menforcer152:jar] ( 2 times )' )
 
diff --git a/maven-enforcer-plugin/src/it/projects/ban-pom-dependency-version/verify.groovy b/maven-enforcer-plugin/src/it/projects/ban-pom-dependency-version/verify.groovy
index 0c25128..8f3fd23 100644
--- a/maven-enforcer-plugin/src/it/projects/ban-pom-dependency-version/verify.groovy
+++ b/maven-enforcer-plugin/src/it/projects/ban-pom-dependency-version/verify.groovy
@@ -17,7 +17,7 @@
  * under the License.
  */
 File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( '[WARNING] Rule 0: org.apache.maven.plugins.enforcer.BanDuplicatePomDependencyVersions failed with message:' )
+assert buildLog.text.contains( '[ERROR] Rule 0: org.apache.maven.plugins.enforcer.BanDuplicatePomDependencyVersions failed with message:' )
 assert buildLog.text.contains( 'Found 1 duplicate dependency declaration in this project:' )
 assert buildLog.text.contains( '- dependencies.dependency[org.apache.maven.plugins.enforcer.its:menforcer152:jar] ( 2 times )' )
 
diff --git a/maven-enforcer-plugin/src/it/projects/ban-transitive-dependencies-fail/verify.groovy b/maven-enforcer-plugin/src/it/projects/ban-transitive-dependencies-fail/verify.groovy
index 5dacb94..e8381cd 100644
--- a/maven-enforcer-plugin/src/it/projects/ban-transitive-dependencies-fail/verify.groovy
+++ b/maven-enforcer-plugin/src/it/projects/ban-transitive-dependencies-fail/verify.groovy
@@ -17,5 +17,5 @@
  * under the License.
  */
 File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( '[WARNING] Rule 0: org.apache.maven.plugins.enforcer.BanTransitiveDependencies failed with message:' )
+assert buildLog.text.contains( '[ERROR] Rule 0: org.apache.maven.plugins.enforcer.BanTransitiveDependencies failed with message:' )
  
\ No newline at end of file
diff --git a/maven-enforcer-plugin/src/it/projects/banned-dependencies-versionrange-fail/verify.groovy b/maven-enforcer-plugin/src/it/projects/banned-dependencies-versionrange-fail/verify.groovy
index c1e0943..8a0f295 100644
--- a/maven-enforcer-plugin/src/it/projects/banned-dependencies-versionrange-fail/verify.groovy
+++ b/maven-enforcer-plugin/src/it/projects/banned-dependencies-versionrange-fail/verify.groovy
@@ -17,5 +17,5 @@
  * under the License.
  */
 File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( '[WARNING] Rule 0: org.apache.maven.plugins.enforcer.BannedDependencies failed with message:' )
+assert buildLog.text.contains( '[ERROR] Rule 0: org.apache.maven.plugins.enforcer.BannedDependencies failed with message:' )
  
\ No newline at end of file
diff --git a/maven-enforcer-plugin/src/it/projects/require-no-repositories-allow-plugin-repo/verify.groovy b/maven-enforcer-plugin/src/it/projects/require-no-repositories-allow-plugin-repo/verify.groovy
index c065765..01f63fb 100644
--- a/maven-enforcer-plugin/src/it/projects/require-no-repositories-allow-plugin-repo/verify.groovy
+++ b/maven-enforcer-plugin/src/it/projects/require-no-repositories-allow-plugin-repo/verify.groovy
@@ -17,6 +17,6 @@
  * under the License.
  */
 File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( '[WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireNoRepositories failed with message:' )
+assert buildLog.text.contains( '[ERROR] Rule 0: org.apache.maven.plugins.enforcer.RequireNoRepositories failed with message:' )
 assert buildLog.text.contains( 'Some poms have repositories defined:' )
 assert buildLog.text.contains( 'org.apache.maven.its.enforcer:test version:1.0 has repositories [com.asual.maven.public]' )
diff --git a/maven-enforcer-plugin/src/it/projects/require-no-repositories-allow-repo/verify.groovy b/maven-enforcer-plugin/src/it/projects/require-no-repositories-allow-repo/verify.groovy
index b9538f3..639dd56 100644
--- a/maven-enforcer-plugin/src/it/projects/require-no-repositories-allow-repo/verify.groovy
+++ b/maven-enforcer-plugin/src/it/projects/require-no-repositories-allow-repo/verify.groovy
@@ -17,6 +17,6 @@
  * under the License.
  */
 File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( '[WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireNoRepositories failed with message:' )
+assert buildLog.text.contains( '[ERROR] Rule 0: org.apache.maven.plugins.enforcer.RequireNoRepositories failed with message:' )
 assert buildLog.text.contains( 'Some poms have repositories defined:' )
 assert buildLog.text.contains( 'org.apache.maven.its.enforcer:test version:1.0 has plugin repositories [plugin-repo]' )
diff --git a/maven-enforcer-plugin/src/it/projects/require-no-repositories_failure/verify.groovy b/maven-enforcer-plugin/src/it/projects/require-no-repositories_failure/verify.groovy
index c065765..01f63fb 100644
--- a/maven-enforcer-plugin/src/it/projects/require-no-repositories_failure/verify.groovy
+++ b/maven-enforcer-plugin/src/it/projects/require-no-repositories_failure/verify.groovy
@@ -17,6 +17,6 @@
  * under the License.
  */
 File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( '[WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireNoRepositories failed with message:' )
+assert buildLog.text.contains( '[ERROR] Rule 0: org.apache.maven.plugins.enforcer.RequireNoRepositories failed with message:' )
 assert buildLog.text.contains( 'Some poms have repositories defined:' )
 assert buildLog.text.contains( 'org.apache.maven.its.enforcer:test version:1.0 has repositories [com.asual.maven.public]' )
diff --git a/maven-enforcer-plugin/src/it/projects/require-no-repositories_failure_allowed-plugin-repo/verify.groovy b/maven-enforcer-plugin/src/it/projects/require-no-repositories_failure_allowed-plugin-repo/verify.groovy
index c065765..01f63fb 100644
--- a/maven-enforcer-plugin/src/it/projects/require-no-repositories_failure_allowed-plugin-repo/verify.groovy
+++ b/maven-enforcer-plugin/src/it/projects/require-no-repositories_failure_allowed-plugin-repo/verify.groovy
@@ -17,6 +17,6 @@
  * under the License.
  */
 File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( '[WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireNoRepositories failed with message:' )
+assert buildLog.text.contains( '[ERROR] Rule 0: org.apache.maven.plugins.enforcer.RequireNoRepositories failed with message:' )
 assert buildLog.text.contains( 'Some poms have repositories defined:' )
 assert buildLog.text.contains( 'org.apache.maven.its.enforcer:test version:1.0 has repositories [com.asual.maven.public]' )
diff --git a/maven-enforcer-plugin/src/it/projects/require-no-repositories_failure_plugin-repositories/verify.groovy b/maven-enforcer-plugin/src/it/projects/require-no-repositories_failure_plugin-repositories/verify.groovy
index b3c2b46..634d4aa 100644
--- a/maven-enforcer-plugin/src/it/projects/require-no-repositories_failure_plugin-repositories/verify.groovy
+++ b/maven-enforcer-plugin/src/it/projects/require-no-repositories_failure_plugin-repositories/verify.groovy
@@ -17,6 +17,6 @@
  * under the License.
  */
 File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( '[WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireNoRepositories failed with message:' )
+assert buildLog.text.contains( '[ERROR] Rule 0: org.apache.maven.plugins.enforcer.RequireNoRepositories failed with message:' )
 assert buildLog.text.contains( 'Some poms have repositories defined:' )
 assert buildLog.text.contains( 'org.apache.maven.its.enforcer:test version:1.0 has plugin repositories [repo]' )
diff --git a/maven-enforcer-plugin/src/it/projects/require-no-repositories_failure_repositories/verify.groovy b/maven-enforcer-plugin/src/it/projects/require-no-repositories_failure_repositories/verify.groovy
index c065765..01f63fb 100644
--- a/maven-enforcer-plugin/src/it/projects/require-no-repositories_failure_repositories/verify.groovy
+++ b/maven-enforcer-plugin/src/it/projects/require-no-repositories_failure_repositories/verify.groovy
@@ -17,6 +17,6 @@
  * under the License.
  */
 File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( '[WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireNoRepositories failed with message:' )
+assert buildLog.text.contains( '[ERROR] Rule 0: org.apache.maven.plugins.enforcer.RequireNoRepositories failed with message:' )
 assert buildLog.text.contains( 'Some poms have repositories defined:' )
 assert buildLog.text.contains( 'org.apache.maven.its.enforcer:test version:1.0 has repositories [com.asual.maven.public]' )
diff --git a/maven-enforcer-plugin/src/it/projects/require-plugin-versions-ci/verify.groovy b/maven-enforcer-plugin/src/it/projects/require-plugin-versions-ci/verify.groovy
index 574942c..4377c86 100644
--- a/maven-enforcer-plugin/src/it/projects/require-plugin-versions-ci/verify.groovy
+++ b/maven-enforcer-plugin/src/it/projects/require-plugin-versions-ci/verify.groovy
@@ -17,5 +17,5 @@
  * under the License.
  */
 File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( '[WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequirePluginVersions failed with message:' )
+assert buildLog.text.contains( '[ERROR] Rule 0: org.apache.maven.plugins.enforcer.RequirePluginVersions failed with message:' )
 assert buildLog.text.contains( "Some plugins are missing valid versions or depend on Maven ${mavenVersion} defaults: (LATEST RELEASE SNAPSHOT are not allowed)" )
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 24234d7..dc33546 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
@@ -19,9 +19,9 @@ package org.apache.maven.plugins.enforcer;
  * under the License.
  */
 
-import java.util.ArrayList;
 import java.util.Hashtable;
-import java.util.List;
+import java.util.LinkedHashMap;
+import java.util.Map;
 
 import org.apache.maven.enforcer.rule.api.EnforcerLevel;
 import org.apache.maven.enforcer.rule.api.EnforcerRule;
@@ -158,8 +158,8 @@ public class EnforceMojo
             // CHECKSTYLE_ON: LineLength
         }
 
-        // list to store exceptions
-        List<String> list = new ArrayList<>();
+        // messages with warn/error flag
+        Map<String, Boolean> messages = new LinkedHashMap<>();
 
         String currentRule = "Unknown";
 
@@ -228,31 +228,36 @@ public class EnforceMojo
                         if ( level == EnforcerLevel.ERROR )
                         {
                             hasErrors = true;
-                            list.add( "Rule " + i + ": " + currentRule + " failed with message:"
-                                 + System.lineSeparator() + exceptionMessage );
+                            messages.put( "Rule " + i + ": " + currentRule + " failed with message:"
+                                 + System.lineSeparator() + exceptionMessage, true );
                         }
                         else
                         {
-                            list.add( "Rule " + i + ": " + currentRule + " warned with message:"
-                                 + System.lineSeparator() + exceptionMessage );
+                            messages.put( "Rule " + i + ": " + currentRule + " warned with message:"
+                                 + System.lineSeparator() + exceptionMessage, false );
                         }
                     }
                 }
             }
         }
 
-        // if we found anything
-        // CHECKSTYLE_OFF: LineLength
-        if ( !list.isEmpty() )
+        // log any messages
+        messages.forEach( ( message, error ) ->
         {
-            for ( String failure : list )
+            if ( fail && error )
             {
-                log.warn( failure );
+                log.error( message );
             }
-            if ( fail && hasErrors )
+            else
             {
-                throw new MojoExecutionException( "Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed." );
+                log.warn( message );
             }
+        } );
+
+        // CHECKSTYLE_OFF: LineLength
+        if ( fail && hasErrors )
+        {
+            throw new MojoExecutionException( "Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed." );
         }
         // CHECKSTYLE_ON: LineLength
     }