We should support an open ended OS-list.
- Flutter tools wants to move away from having a predefined list of OSes.
- There are other embedders (non-Dart-standalone, non-Flutter) that run on other OSes than the 5 predefined OSes.
Currently the JSON format uses a string for target OS, so this is extensible.
However, the Dart API currently has only the 5 predefined OSes available. We should make this extensible in the API.
This is related to working with open ended asset types, or open ended JSON format for config/output in general:
Secondly, helper packages should also be extensible. For example a package that has C source code and uses native_toolchain_c should be able to somehow build for these other OSes. There is probably multiple options for this:
- Make PRs for such packages to support your own OS.
- Ensure packages have some kind of callbacks/pluggability to add support for other OSes. (But how would that work? Dependency injection?)
Thanks for the input @johnmccutchan!
We should support an open ended OS-list.
Currently the JSON format uses a string for target OS, so this is extensible.
However, the Dart API currently has only the 5 predefined OSes available. We should make this extensible in the API.
This is related to working with open ended asset types, or open ended JSON format for config/output in general:
Secondly, helper packages should also be extensible. For example a package that has C source code and uses
native_toolchain_cshould be able to somehow build for these other OSes. There is probably multiple options for this:Thanks for the input @johnmccutchan!