-
Notifications
You must be signed in to change notification settings - Fork 75
Description
2025-04-17 User-defines in the pubspec are support (example, example). Command-line args are not supported yet.
We'd like users to be able to configure the build of their native dependencies.
We'd probably want to support multiple ways of providing this user-defined config, similar to package:cli_config
. However, in this case we also need to reason about the command-line API of the launcher scripts (dartdev and flutter_tools).
One downside of the package:cli_config
standard is that it requires passing --config=
to pass the config file. Instead (or in addition) we might want to consider a default place to pass configuration. This could be the pubspec.yaml
to have a single location for configuration.
Two options would be (1) a top level
# other entries build_config: some_native_asset_package: some_global_flag: foobar release: optimize: true debug: optimize: false[...]
I think keeping it as a single config, or allowing package authors to chose where to read from, would be nice. Otherwise there might be a ton of files in a repo to keep track of, and I would imagine most Dart developers think of
pubspec.yaml
when they think of dependencies and their configuration. A similar statement is true for Rust, where you often configure features and settings alongside your dependencies.
Originally posted by @GregoryConrad in dart-lang/sdk#50565 (comment) (modified by me)
@jonasfj probably has something to say about listing arbitrary key-values under the packages in dependencies
.
Alternatively, we could make a toplevel build_config.yaml
(which corresponds in naming to build.dart
).
(Priority: not part of MVP, but will add this soon after.)
Metadata
Metadata
Assignees
Labels
Type
Projects
Status