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

michaelo pushed a commit to branch maven-3.8.x
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 74fc34158f79b06e71866b465a3e7b266a0e05a8
Author: HervĂ© Boutemy <[email protected]>
AuthorDate: Sun Sep 10 08:45:31 2023 +0200

    [MNG-7875] colorize transfer messages
---
 .../transfer/AbstractMavenTransferListener.java    | 31 +++++++++++++++-------
 1 file changed, 22 insertions(+), 9 deletions(-)

diff --git 
a/maven-embedder/src/main/java/org/apache/maven/cli/transfer/AbstractMavenTransferListener.java
 
b/maven-embedder/src/main/java/org/apache/maven/cli/transfer/AbstractMavenTransferListener.java
index 984902e807..1522911dfa 100644
--- 
a/maven-embedder/src/main/java/org/apache/maven/cli/transfer/AbstractMavenTransferListener.java
+++ 
b/maven-embedder/src/main/java/org/apache/maven/cli/transfer/AbstractMavenTransferListener.java
@@ -25,6 +25,7 @@ import java.text.DecimalFormatSymbols;
 import java.util.Locale;
 
 import org.apache.commons.lang3.Validate;
+import org.apache.maven.shared.utils.logging.MessageUtils;
 import org.eclipse.aether.transfer.AbstractTransferListener;
 import org.eclipse.aether.transfer.TransferCancelledException;
 import org.eclipse.aether.transfer.TransferEvent;
@@ -37,6 +38,10 @@ public abstract class AbstractMavenTransferListener
     extends AbstractTransferListener
 {
 
+    private static final String ESC = "\u001B";
+    private static final String ANSI_DARK_SET = ESC + "[90m";
+    private static final String ANSI_DARK_RESET = ESC + "[0m";
+
     // CHECKSTYLE_OFF: LineLength
     /**
      * Formats file size with the associated <a 
href="https://en.wikipedia.org/wiki/Metric_prefix";>SI</a> prefix
@@ -220,14 +225,18 @@ public abstract class AbstractMavenTransferListener
     @Override
     public void transferInitiated( TransferEvent event )
     {
+        String darkOn = MessageUtils.isColorEnabled() ? ANSI_DARK_SET : "";
+        String darkOff = MessageUtils.isColorEnabled() ? ANSI_DARK_RESET : "";
+
         String action = event.getRequestType() == 
TransferEvent.RequestType.PUT ? "Uploading" : "Downloading";
         String direction = event.getRequestType() == 
TransferEvent.RequestType.PUT ? "to" : "from";
 
         TransferResource resource = event.getResource();
         StringBuilder message = new StringBuilder();
-        message.append( action ).append( ' ' ).append( direction ).append( ' ' 
).append( resource.getRepositoryId() );
-        message.append( ": " );
-        message.append( resource.getRepositoryUrl() ).append( 
resource.getResourceName() );
+        message.append( darkOn ).append( action ).append( ' ' ).append( 
direction ).append( ' ' );
+        message.append( darkOff ).append( resource.getRepositoryId() );
+        message.append( darkOn ).append( ": " ).append( 
resource.getRepositoryUrl() );
+        message.append( darkOff ).append( resource.getResourceName() );
 
         out.println( message.toString() );
     }
@@ -245,7 +254,10 @@ public abstract class AbstractMavenTransferListener
     @Override
     public void transferSucceeded( TransferEvent event )
     {
-        String action = ( event.getRequestType() == 
TransferEvent.RequestType.PUT ? "Uploaded" : "Downloaded" );
+        String darkOn = MessageUtils.isColorEnabled() ? ANSI_DARK_SET : "";
+        String darkOff = MessageUtils.isColorEnabled() ? ANSI_DARK_RESET : "";
+
+        String action = event.getRequestType() == 
TransferEvent.RequestType.PUT ? "Uploaded" : "Downloaded";
         String direction = event.getRequestType() == 
TransferEvent.RequestType.PUT ? "to" : "from";
 
         TransferResource resource = event.getResource();
@@ -253,10 +265,11 @@ public abstract class AbstractMavenTransferListener
         FileSizeFormat format = new FileSizeFormat( Locale.ENGLISH );
 
         StringBuilder message = new StringBuilder();
-        message.append( action ).append( ' ' ).append( direction ).append( ' ' 
).append( resource.getRepositoryId() );
-        message.append( ": " );
-        message.append( resource.getRepositoryUrl() ).append( 
resource.getResourceName() );
-        message.append( " (" ).append( format.format( contentLength ) );
+        message.append( action ).append( darkOn ).append( ' ' ).append( 
direction ).append( ' ' );
+        message.append( darkOff ).append( resource.getRepositoryId() );
+        message.append( darkOn ).append(  ": " ).append( 
resource.getRepositoryUrl() );
+        message.append( darkOff ).append( resource.getResourceName() );
+        message.append( darkOn ).append( " (" ).append( format.format( 
contentLength ) );
 
         long duration = System.currentTimeMillis() - 
resource.getTransferStartTime();
         if ( duration > 0L )
@@ -265,7 +278,7 @@ public abstract class AbstractMavenTransferListener
             message.append( " at " ).append( format.format( (long) 
bytesPerSecond ) ).append( "/s" );
         }
 
-        message.append( ')' );
+        message.append( ')' ).append( darkOff );
         out.println( message.toString() );
     }
 

Reply via email to