Skip to content

Consider downloading platform specific tools on demand #177915

@sigurdm

Description

@sigurdm

Use case

When I upgrade flutter/change channel, it (re)downloads a bunch of tools.
If I'm not compiling for all the platforms I probably am not gonna use most of those.

> C:\Users\sigurdm\flutter\bin\flutter.bat channel stable
Switching to flutter channel 'stable'...

Upgrading engine...
Checking Dart SDK version... 
Downloading Dart SDK from Flutter engine 04817c99c9fd4956f27505204f7e344335810aed...
Expanding downloaded archive with PowerShell...
Building flutter tool... 
Running pub upgrade... 
Resolving dependencies...
Got dependencies.
Downloading android-arm-profile/windows-x64 tools...               914ms
Downloading android-arm-release/windows-x64 tools...               788ms
Downloading android-arm64-profile/windows-x64 tools...             783ms
Downloading android-arm64-release/windows-x64 tools...           1,594ms
Downloading android-x64-profile/windows-x64 tools...               943ms
Downloading android-x64-release/windows-x64 tools...               758ms
Downloading android-x86 tools...                                 1,434ms
Downloading android-x64 tools...                                 1,598ms
Downloading android-arm tools...                                 1,434ms
Downloading android-arm-profile tools...                         1,110ms
Downloading android-arm-release tools...                           888ms
Downloading android-arm64 tools...                                  4.8s
Downloading android-arm64-profile tools...                       1,080ms
Downloading android-arm64-release tools...                         926ms
Downloading android-x64-profile tools...                         1,035ms
Downloading android-x64-release tools...                           988ms
Downloading android-x86-jit-release tools...                     1,234ms
Downloading Web SDK...                                           2,983ms
Downloading package sky_engine...                                  743ms
Downloading flutter_patched_sdk tools...                           869ms
Downloading flutter_patched_sdk_product tools...                   842ms
Downloading windows-x64 tools...                                    3.9s
Downloading windows-x64-debug/windows-x64-flutter tools...          5.4s
Downloading windows-x64/flutter-cpp-client-wrapper tools...        199ms
Downloading windows-x64-profile/windows-x64-flutter tools...         5.5s
Downloading windows-x64-release/windows-x64-flutter tools...         5.4s
Downloading windows-x64/font-subset tools...                       696ms

Proposal

Could each of these tools be downloaded only if I am actually compiling code for the given platform?

Metadata

Metadata

Assignees

No one assigned

    Labels

    c: new featureNothing broken; request for a new capabilityc: proposalA detailed proposal for a change to Flutterteam-toolOwned by Flutter Tool teamtoolAffects the "flutter" command-line tool. See also t: labels.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions