You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Stephen Connolly (JIRA)" <ji...@apache.org> on 2017/02/23 15:01:01 UTC

[jira] [Updated] (MNG-5977) Improve output readability of our MavenTransferListener implementations

     [ https://issues.apache.org/jira/browse/MNG-5977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stephen Connolly updated MNG-5977:
----------------------------------
    Fix Version/s: 3.5.0-alpha-2
                   3.5.0-alpha-1

> Improve output readability of our MavenTransferListener implementations
> -----------------------------------------------------------------------
>
>                 Key: MNG-5977
>                 URL: https://issues.apache.org/jira/browse/MNG-5977
>             Project: Maven
>          Issue Type: Improvement
>          Components: Command Line, Embedding
>    Affects Versions: 3.3.9
>            Reporter: Michael Osipov
>            Assignee: Michael Osipov
>             Fix For: 3.5.0, 3.5.0-alpha-1, 3.5.0-alpha-2
>
>         Attachments: current.zip, improved-debug.zip, improved.zip
>
>
> The current output of Downloading/Downladed/Uploading/Uploaded transfer notification has some flaws:
> 1. It does not scale numbers between 1 and 1000 with appropriate units
> 2. It should use correct size ({{kB}}, {{MB}}, {{GB}} and time units ({{s}}) but doesn't. (see https://en.wikipedia.org/wiki/Binary_prefix and https://en.wikipedia.org/wiki/Metric_prefix)
> 3. When Aether downloads in parallel (which applies for non-POM files) the progress interleaves due to race conditions to {{System.out}} and you do not know to which resource a progress belongs to.
> Let's use an improved version of MPIR {{DependenciesRenderer}}'s [{{FileDecimalFormat}}|https://github.com/apache/maven-plugins/blob/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java#L1583] for it.
> concrete examples:
> before
> {noformat}191/191 KB   27/48 KB   48/119 KB   80/87 KB   13/13 KB   {noformat}
> after:
> {noformat}Progress (4): 500/800 B | 40/45 kB | 193 kB/315 kB | 1.3/9.0 MB | 12/30 MB{noformat}
> if total size is unavailable or the file has already been downloaded but not removed from the list, the output will be:
> {noformat}Progress (4): 800 B | 40/45 kB | 193 kB | 9.0 MB | 12 MB{noformat}
> or in debug mode:
> {noformat}Progress (5): xml-apis-1.3.04.jar (<progress>) | maven-shared-utils-0.6.jar (<progress>) | xercesImpl-2.9.1.jar (<progress>) | commons-digester-1.6.jar (<progress>) | maven-reporting-impl-2.3.jar (<progress>){noformat}
> If the scale is between 1 and 10, one decimal place will be printed out. If it is between 10 and 1000+, it will be an integer.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)