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

elharo 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 46f61df  [MENFORCER-495] Remove "JAVA_HOME" from rule violation 
message (#346)
46f61df is described below

commit 46f61df0b07cce6b13e3b6d6f1b9e5559b872d0c
Author: Elliotte Rusty Harold <elh...@users.noreply.github.com>
AuthorDate: Mon Jan 13 13:15:49 2025 +0000

    [MENFORCER-495] Remove "JAVA_HOME" from rule violation message (#346)
    
    * Remove JAVA_HOME from rule violation message
---
 .../maven/enforcer/rules/RequireJavaVendor.java    |  8 ++--
 .../enforcer/rules/version/RequireJavaVersion.java |  6 +--
 .../enforcer/rules/TestRequireJavaVendor.java      | 49 +++++++++++-----------
 .../rules/version/TestRequireJavaVersion.java      | 12 +++---
 4 files changed, 37 insertions(+), 38 deletions(-)

diff --git 
a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireJavaVendor.java
 
b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireJavaVendor.java
index 5b4dbd7..f31b796 100644
--- 
a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireJavaVendor.java
+++ 
b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireJavaVendor.java
@@ -76,7 +76,7 @@ public final class RequireJavaVendor extends 
AbstractStandardEnforcerRule {
             String message = getMessage();
             if (message == null) {
                 message = String.format(
-                        "%s is an excluded Required Java Vendor 
(JAVA_HOME=%s)",
+                        "%s is an excluded Required Java Vendor (detected JDK: 
%s)",
                         SystemUtils.JAVA_VENDOR, SystemUtils.JAVA_HOME);
             }
             throw new EnforcerRuleException(message);
@@ -84,7 +84,7 @@ public final class RequireJavaVendor extends 
AbstractStandardEnforcerRule {
             String message = getMessage();
             if (message == null) {
                 message = String.format(
-                        "%s is not an included Required Java Vendor 
(JAVA_HOME=%s)",
+                        "%s is not an included Required Java Vendor (detected 
JDK: %s)",
                         SystemUtils.JAVA_VENDOR, SystemUtils.JAVA_HOME);
             }
             throw new EnforcerRuleException(message);
@@ -96,7 +96,7 @@ public final class RequireJavaVendor extends 
AbstractStandardEnforcerRule {
      * java.vendor, which you can also see with mvn --version. <br>
      * Excludes override the include rules.
      *
-     * @param theExcludes the vendor to to exclude from the include list.
+     * @param theExcludes the vendors to exclude from the include list
      */
     public void setExcludes(List<String> theExcludes) {
         this.excludes = theExcludes;
@@ -114,7 +114,7 @@ public final class RequireJavaVendor extends 
AbstractStandardEnforcerRule {
      * <li><code>Amazon</code> prohibits vendor name Amazon </li>
      * </ul>
      *
-     * @param theIncludes the list of required vendors.
+     * @param theIncludes the list of required vendors
      *
      * @see #setExcludes(List)
      */
diff --git 
a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/RequireJavaVersion.java
 
b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/RequireJavaVersion.java
index da14b2c..ca5fcf3 100644
--- 
a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/RequireJavaVersion.java
+++ 
b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/RequireJavaVersion.java
@@ -145,9 +145,9 @@ public final class RequireJavaVersion extends 
AbstractVersionEnforcer {
                 getLog().debug("Could not parse allowed version range " + 
allowedVersionRange + " " + e.getMessage());
                 version = allowedVersionRange;
             }
-            String message = String.format(
-                    "Detected JDK version %s (JAVA_HOME=%s) is not in the 
allowed range %s.",
-                    detectedJdkVersion, SystemUtils.JAVA_HOME, version);
+            String message = "Detected JDK " + SystemUtils.JAVA_HOME
+                    + " is version " + detectedJdkVersion
+                    + " which is not in the allowed range " + version + ".";
             super.setMessage(message);
         }
     }
diff --git 
a/enforcer-rules/src/test/java/org/apache/maven/enforcer/rules/TestRequireJavaVendor.java
 
b/enforcer-rules/src/test/java/org/apache/maven/enforcer/rules/TestRequireJavaVendor.java
index 4c2f733..93dbe9c 100644
--- 
a/enforcer-rules/src/test/java/org/apache/maven/enforcer/rules/TestRequireJavaVendor.java
+++ 
b/enforcer-rules/src/test/java/org/apache/maven/enforcer/rules/TestRequireJavaVendor.java
@@ -27,7 +27,7 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 import static org.assertj.core.api.Assertions.assertThatCode;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.junit.jupiter.api.Assertions.*;
 
 /**
  * The Class TestRequireJavaVendor.
@@ -57,11 +57,11 @@ class TestRequireJavaVendor {
         // Set the included vendor to something irrelevant
         underTest.setIncludes(Collections.singletonList(NON_MATCHING_VENDOR));
 
-        assertThatThrownBy(() -> underTest.execute())
-                .isInstanceOf(EnforcerRuleException.class)
-                .hasMessage(
-                        "%s is not an included Required Java Vendor 
(JAVA_HOME=%s)",
-                        SystemUtils.JAVA_VENDOR, SystemUtils.JAVA_HOME);
+        EnforcerRuleException exception = 
assertThrows(EnforcerRuleException.class, () -> underTest.execute());
+
+        assertTrue(exception
+                .getMessage()
+                .endsWith(" is not an included Required Java Vendor (detected 
JDK: " + SystemUtils.JAVA_HOME + ")"));
     }
 
     @Test
@@ -69,15 +69,15 @@ class TestRequireJavaVendor {
         // Set the excluded vendor to current vendor name
         
underTest.setExcludes(Collections.singletonList(SystemUtils.JAVA_VENDOR));
 
-        assertThatThrownBy(() -> underTest.execute())
-                .isInstanceOf(EnforcerRuleException.class)
-                .hasMessage(
-                        "%s is an excluded Required Java Vendor 
(JAVA_HOME=%s)",
-                        SystemUtils.JAVA_VENDOR, SystemUtils.JAVA_HOME);
+        EnforcerRuleException exception = 
assertThrows(EnforcerRuleException.class, () -> underTest.execute());
+
+        assertTrue(exception
+                .getMessage()
+                .endsWith(" is an excluded Required Java Vendor (detected JDK: 
" + SystemUtils.JAVA_HOME + ")"));
     }
 
     @Test
-    void nonMatchingExclude() throws EnforcerRuleException {
+    void nonMatchingExclude() {
         // Set the excluded vendor to something nonsensical
         underTest.setExcludes(Collections.singletonList(NON_MATCHING_VENDOR));
 
@@ -89,11 +89,10 @@ class TestRequireJavaVendor {
         
underTest.setExcludes(Collections.singletonList(SystemUtils.JAVA_VENDOR));
         
underTest.setIncludes(Collections.singletonList(SystemUtils.JAVA_VENDOR));
 
-        assertThatThrownBy(() -> underTest.execute())
-                .isInstanceOf(EnforcerRuleException.class)
-                .hasMessage(
-                        "%s is an excluded Required Java Vendor 
(JAVA_HOME=%s)",
-                        SystemUtils.JAVA_VENDOR, SystemUtils.JAVA_HOME);
+        EnforcerRuleException exception = 
assertThrows(EnforcerRuleException.class, () -> underTest.execute());
+
+        assertTrue(exception.getMessage().contains(" is an excluded Required 
Java Vendor (detected JDK: "));
+        assertTrue(exception.getMessage().contains(SystemUtils.JAVA_HOME));
     }
 
     @Test
@@ -101,15 +100,16 @@ class TestRequireJavaVendor {
         // Set a bunch of excluded vendors
         underTest.setExcludes(Arrays.asList(SystemUtils.JAVA_VENDOR, 
SystemUtils.JAVA_VENDOR + "modified"));
 
-        assertThatThrownBy(() -> underTest.execute())
-                .isInstanceOf(EnforcerRuleException.class)
-                .hasMessage(
-                        "%s is an excluded Required Java Vendor 
(JAVA_HOME=%s)",
-                        SystemUtils.JAVA_VENDOR, SystemUtils.JAVA_HOME);
+        EnforcerRuleException exception = 
assertThrows(EnforcerRuleException.class, () -> underTest.execute());
+
+        assertEquals(
+                SystemUtils.JAVA_VENDOR + " is an excluded Required Java 
Vendor (detected JDK: " + SystemUtils.JAVA_HOME
+                        + ")",
+                exception.getMessage());
     }
 
     @Test
-    void matchAnyInclude() throws EnforcerRuleException {
+    void matchAnyInclude() {
         // Set a bunch of included vendors
         underTest.setIncludes(Arrays.asList(SystemUtils.JAVA_VENDOR, 
SystemUtils.JAVA_VENDOR + "modified"));
 
@@ -117,8 +117,7 @@ class TestRequireJavaVendor {
     }
 
     @Test
-    void defaultRule() throws EnforcerRuleException {
-
+    void defaultRule() {
         assertThatCode(() -> underTest.execute()).doesNotThrowAnyException();
     }
 }
diff --git 
a/enforcer-rules/src/test/java/org/apache/maven/enforcer/rules/version/TestRequireJavaVersion.java
 
b/enforcer-rules/src/test/java/org/apache/maven/enforcer/rules/version/TestRequireJavaVersion.java
index 419dfac..783bd1b 100644
--- 
a/enforcer-rules/src/test/java/org/apache/maven/enforcer/rules/version/TestRequireJavaVersion.java
+++ 
b/enforcer-rules/src/test/java/org/apache/maven/enforcer/rules/version/TestRequireJavaVersion.java
@@ -31,6 +31,8 @@ import org.junit.jupiter.params.provider.MethodSource;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.Mockito.mock;
 
 /**
@@ -105,15 +107,13 @@ class TestRequireJavaVersion {
 
     @Test
     void shouldIncludeJavaHomeLocationInTheErrorMessage() {
-        String thisVersion = 
RequireJavaVersion.normalizeJDKVersion(SystemUtils.JAVA_VERSION);
         String requiredVersion = "10000";
         rule.setVersion(requiredVersion);
 
-        assertThatThrownBy(() -> rule.execute())
-                .isInstanceOf(EnforcerRuleException.class)
-                .hasMessage(
-                        "Detected JDK version %s (JAVA_HOME=%s) is not in the 
allowed range %s.",
-                        thisVersion, SystemUtils.JAVA_HOME, "[" + 
requiredVersion + ",)");
+        EnforcerRuleException exception = 
assertThrows(EnforcerRuleException.class, () -> rule.execute());
+
+        assertTrue(exception.getMessage().startsWith("Detected JDK " + 
SystemUtils.JAVA_HOME + " is version "));
+        assertTrue(exception.getMessage().endsWith(" which is not in the 
allowed range [10000,)."));
     }
 
     @Test

Reply via email to