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() ); }
