Skip to content

Add additional interpolated values to custom devices commands #164454

@vially

Description

@vially

Use case

Flutter's support for custom devices makes it possible for (out-of-tree) custom embedders to hook into and integrate with the flutter run command.

However, this integration could be further improved if the flutter tool provided some additional (string interpolated) values that are typically required by custom devices and embedders:

  • path to the ICU data file
    The flutter tool takes care of copying the ICU data file to the right location for each of the officially supported platforms and devices during the build process. However, that's not the case for custom devices and embedders so they need a way to locate the ICU data file.
  • engine revision
    Similar to the above, custom devices and embedders need to manually manage the engine library (e.g.: libflutter_engine.so). Providing the engine version through the custom-device commands would avoid the need for some heuristics on the custom embedder side and should make it easier to keep it in sync with the flutter tool.
  • build mode
    Currently custom devices only support the debug build mode, but hopefully this is going to change in the future (Add support for profile and release run modes for custom devices #164228)

Proposal

Make the following (additional) string interpolated values available to the postBuild and runDebug custom device commands:

  • ${icuDataPath}
  • ${engineRevision}
  • ${buildMode}

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Issues that are less important to the Flutter projectc: proposalA detailed proposal for a change to Flutterr: fixedIssue is closed as already fixed in a newer versionteam-toolOwned by Flutter Tool teamtoolAffects the "flutter" command-line tool. See also t: labels.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