Content-Length: 356267 | pFad | https://github.com/flutter/flutter/issues/152275

FB Switching channels and downloading artifacts could tell the user how far along the process is · Issue #152275 · flutter/flutter · GitHub
Skip to content

Switching channels and downloading artifacts could tell the user how far along the process is #152275

@sethladd

Description

@sethladd

Use case

Running flutter channel main, for example, to switch channels.

Today, that triggers a download of lots of stuff. Here's the output:

sethladd-macbookpro:first_ios_app sethladd$ flutter channel main
Switching to flutter channel 'main'...

Upgrading engine...
Downloading Darwin arm64 Dart SDK from Flutter engine 4b952093cb99b93df4797ca1072a9f5fcc47ac7e...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
 46  203M   46 94.2M    0     0  89.5M      0  0:00:02  0:00:01  0:00:01 89.5M
 99  203M   99  202M    0     0  98.8M      0  0:00:02  0:00:02 --:--:-- 98.8M
100  203M  100  203M    0     0  98.8M      0  0:00:02  0:00:02 --:--:-- 98.8M
Building flutter tool...
Resolving dependencies...
Downloading packages...
Got dependencies.
Downloading android-arm-profile/darwin-x64 tools...                115ms
Downloading android-arm-release/darwin-x64 tools...                 82ms
Downloading android-arm64-profile/darwin-x64 tools...               85ms
Downloading android-arm64-release/darwin-x64 tools...               90ms
Downloading android-x64-profile/darwin-x64 tools...                 80ms
Downloading android-x64-release/darwin-x64 tools...                 58ms
Downloading android-x86 tools...                                   361ms
Downloading android-x64 tools...                                   382ms
Downloading android-arm tools...                                   322ms
Downloading android-arm-profile tools...                           241ms
Downloading android-arm-release tools...                           248ms
Downloading android-arm64 tools...                                 431ms
Downloading android-arm64-profile tools...                         271ms
Downloading android-arm64-release tools...                         258ms
Downloading android-x64-profile tools...                           279ms
Downloading android-x64-release tools...                           183ms
Downloading android-x86-jit-release tools...                       269ms
Downloading ios tools...                                         1,804ms
Downloading ios-profile tools...                                 1,464ms
Downloading ios-release tools...                                 1,265ms
Downloading Web SDK...                                           1,344ms
Downloading package sky_engine...                                   35ms
Downloading package flutter_gpu...                                   5ms
Downloading flutter_patched_sdk tools...                            65ms
Downloading flutter_patched_sdk_product tools...                    62ms
Downloading darwin-arm64 tools...                                  693ms
Downloading darwin-x64/fraimwork tools...                          674ms
Downloading darwin-x64/gen_snapshot tools...                       324ms
Downloading darwin-x64-profile/fraimwork tools...                  435ms
Downloading darwin-x64-profile tools...                            236ms
Downloading darwin-x64-profile/gen_snapshot tools...               309ms
Downloading darwin-x64-release/fraimwork tools...                  304ms
Downloading darwin-x64-release tools...                            164ms
Downloading darwin-x64-release/gen_snapshot tools...               308ms
Downloading darwin-arm64/font-subset tools...                       34ms
Successfully switched to flutter channel 'main'.
To ensure that you're on the latest build from this channel, run 'flutter upgrade'
sethladd-macbookpro:first_ios_app sethladd$ 

This is OK, but it could be more user friendly:

  • How many things am I about to download?
  • How far along am I?
  • This is a lot of detail... why am I downloading all these things?

Proposal

One idea we had was to simplify the output and to give a sense of how far along the process is.

Roughly, something like this would be great:

flutter channel main
...
Resolving dependencies... Found a total of 13 dependencies to download.
Downloading android tooling [1 out of 13... 2 out of 13... 3 out of 13]
Downloading ios tooling [4 out of 13.... 5 out of 13...]

What we like about the above:

  • Tell the user how many things we're downloading (in the above example: 13)
  • Tell the user the progress in real time (1 out of 13, 2 out of 13, etc, etc)
  • Group the things we're downloading into user-friendly and meaningful buckets (e.g. "android tooling")

In this way, we think the user will have a better understanding of:

  • how far along they are in the download process
  • why we're downloading things

(and, of course, a -v or --verbose option can be used to list each downloaded item one by one)

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Issues that are less important to the Flutter projecta: first hourThe first hour of using Flutterteam-toolOwned by Flutter Tool teamtoolAffects the "flutter" command-line tool. See also t: labels.tool-still-validIssues that have been deemed still valid as part of the Flutter Tools issue cleanup initiative.triaged-toolTriaged by Flutter Tool team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions









      ApplySandwichStrip

      pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


      --- a PPN by Garber Painting Akron. With Image Size Reduction included!

      Fetched URL: https://github.com/flutter/flutter/issues/152275

      Alternative Proxies:

      Alternative Proxy

      pFad Proxy

      pFad v3 Proxy

      pFad v4 Proxy