-
Notifications
You must be signed in to change notification settings - Fork 30.1k
Description
See also: #56404
A new command: flutter add-custom-device --path-to-start-script=/?/ which takes a path to some executable (not the bundled asset itself). This is used to register some specific information in the persistent tool state. This would require some intermediary tooling. For example, it could not just consume go for the go desktop embedder or cargo for the rust embedder. The custom device would be treated as a non-ephemeral device, and always present.
The expectations of this custom script are that it can be passed flutter run launch arguments in a to-be-determined format: build mode, target file, et cetera. That custom script can then reentrantly call into flutter assemble to perform the actual build, or return a non-zero exit code and print stderr if that config is not supported. The embedder must build with the same version of Flutter & Dart that the SDK is currently using.
To support discovery of the VM Service instance, whatever the executable is will need to forward a VM service URI over stdout, similar to the desktop devices.
This proposal is currently looking for potential customers (owners of custom embedders) to determine whether it is feasible. The advantage of this approach is that it enables features like full IDE support, and allows custom embedders to delegate more of the tooling to the existing flutter tool.
fyi @Hixie