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

khmarbaise pushed a commit to branch IMPROVE_TESTS
in repository https://gitbox.apache.org/repos/asf/maven-enforcer.git

commit 662a7268f779ac79c68ba062351169c9673b184c
Author: Karl Heinz Marbaise <khmarba...@apache.org>
AuthorDate: Sat Nov 10 21:02:54 2018 +0100

    Added cause for debugging.
---
 .../enforcer/AbstractPropertyEnforcerRule.java     | 28 +++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git 
a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractPropertyEnforcerRule.java
 
b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractPropertyEnforcerRule.java
index fade2a2..6ec5053 100755
--- 
a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractPropertyEnforcerRule.java
+++ 
b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractPropertyEnforcerRule.java
@@ -117,10 +117,36 @@ public abstract class AbstractPropertyEnforcerRule
                 regexMessage = getName() + " \"" + getPropertyName() + "\" 
evaluates to \"" + propValue + "\".  "
                     + "This does not match the regular expression \"" + regex 
+ "\"";
             }
-            throw new EnforcerRuleException( regexMessage );
+            
+            Throwable cause = new Throwable( prettyOut( 
propValue.toString().getBytes() ) );
+            
+            throw new EnforcerRuleException( regexMessage, cause );
         }
     }
 
+    public String prettyOut( byte[] msg )
+    {
+        StringBuilder sb = new StringBuilder( msg.length * 2 );
+        for ( int j = 1; j < msg.length + 1; j++ )
+        {
+            if ( j % 16 == 1 || j == 0 )
+            {
+                if ( j != 0 )
+                {
+                    sb.append( System.lineSeparator() );
+                }
+                sb.append( String.format( "%04d  |  ", j / 16 ) );
+            }
+            sb.append( String.format( "%02X ", msg[j - 1] ) );
+            if ( j % 4 == 0 )
+            {
+                sb.append( " " );
+            }
+        }
+        sb.append( System.lineSeparator() );
+        return sb.toString();
+    }
+
     /**
      * How the property that is being evaluated is called
      */

Reply via email to