[ https://issues.apache.org/jira/browse/MNG-7875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17763449#comment-17763449 ]
ASF GitHub Bot commented on MNG-7875: ------------------------------------- hboutemy commented on code in PR #1231: URL: https://github.com/apache/maven/pull/1231#discussion_r1320808439 ########## maven-embedder/src/main/java/org/apache/maven/cli/transfer/AbstractMavenTransferListener.java: ########## @@ -214,18 +227,37 @@ public void transferSucceeded(TransferEvent event) { 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(lowOn).append(' ').append(direction).append(' '); + message.append(lowOff).append(resource.getRepositoryId()); + message.append(lowOn).append(": "); + message.append(resource.getRepositoryUrl()).append(lowOff); + appendResource(message, resource.getResourceName()); + message.append(lowOn).append(" (").append(format.format(contentLength)); long duration = System.currentTimeMillis() - resource.getTransferStartTime(); if (duration > 0L) { double bytesPerSecond = contentLength / (duration / 1000.0); message.append(" at ").append(format.format((long) bytesPerSecond)).append("/s"); } - message.append(')'); + message.append(')').append(lowOff); out.println(message.toString()); } + + private void appendResource(StringBuilder message, String resource) { + if (!MessageUtils.isColorEnabled()) { + message.append(resource); + return; + } + int filename = resource.lastIndexOf('/'); + int version = resource.substring(0, filename).lastIndexOf('/'); + int artifactId = resource.substring(0, version).lastIndexOf('/'); Review Comment: @laeubi is that transfer message used by Tycho to display download from p2 repositories? is the assumption of using Maven 2 layout only reasonable? > colorize transfer messages > -------------------------- > > Key: MNG-7875 > URL: https://issues.apache.org/jira/browse/MNG-7875 > Project: Maven > Issue Type: Improvement > Components: Embedding > Affects Versions: 3.9.4 > Reporter: Herve Boutemy > Priority: Major > Fix For: 3.9.5 > > Attachments: MNG-7875_colorized_output.png > > > transfer message are currently hard to read for many users > {noformat} > Downloading from apache.snapshots: > https://repository.apache.org/snapshots/org/apache/maven/doxia/doxia-decoration-model/1.11.1/doxia-decoration-model-1.11.1.pom > Downloading from central: > https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.11.1/doxia-decoration-model-1.11.1.pom > Downloaded from central: > https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.11.1/doxia-decoration-model-1.11.1.pom > (3.4 kB at 851 kB/s) > D > {noformat} > - it's interweaved into normal build messages > - users don't really see the difference between "Downloading" (transfert > started, may eventually fail with 404) and "Downloaded" (done successfully) > - repository id is not so visible in the middle of the message > - the download url has much info in it to see: base url, groupId as > directory, artifactId, version, and filename > adding darker color to "hide" less important info will help output reading -- This message was sent by Atlassian Jira (v8.20.10#820010)