Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-5977

Improve output readability of our MavenTransferListener implementations

Attach filesAttach ScreenshotVotersStop watchingWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      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 for it.

      concrete examples:
      before

      191/191 KB   27/48 KB   48/119 KB   80/87 KB   13/13 KB   

      after:

      Progress (4): 500/800 B | 40/45 kB | 193 kB/315 kB | 1.3/9.0 MB | 12/30 MB

      if total size is unavailable or the file has already been downloaded but not removed from the list, the output will be:

      Progress (4): 800 B | 40/45 kB | 193 kB | 9.0 MB | 12 MB

      or in debug mode:

      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>)

      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.

      Attachments

        1. improved-debug.zip
          516 kB
          Michael Osipov
        2. improved.zip
          78 kB
          Michael Osipov
        3. current.zip
          78 kB
          Michael Osipov

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            michael-o Michael Osipov
            michael-o Michael Osipov
            Votes:
            0 Vote for this issue
            Watchers:
            4 Stop watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment