[flutter_tools] Implement Configuration extension slice and flutter config integration (#191445)
## Description This PR implements Step 4 of Flutter Tools Extensibility: the Configuration extension slice and `flutter config` integration. ### Architectural Overview 1. **`package:flutter_tools_core`**: - Defines core, platform-agnostic configuration models: `FeatureFlag` and `ConfigOption`. 2. **`package:flutter_tools_extension`**: - Defines the `ConfigurationExtension` interface and service contract (`config.getTitle`, `config.getFeatureFlags`, `config.getConfigurations`). 3. **`package:flutter_tools_extension_linux_prototype`**: - Implements `LinuxConfigurationExtension` in the Linux prototype extension. 4. **`packages/flutter_tools`**: - Implements `ConfigurationExtensionClient` to query isolate extensions over RPC. - Implements `ExtensionArgParserMixin` to dynamically contribute CLI options to `ConfigCommand`. - Exposes `ExtensionManager.configurationExtensions` and integrates active extension configuration settings and feature flags dynamically into `flutter config` (`settingsText` and arg parsing). ## Related Issues Part of https://github.com/flutter/flutter/issues/190692 ## Tests - Added `packages/flutter_tools/packages/flutter_tools_core/test/config_test.dart` - Added `packages/flutter_tools/packages/flutter_tools_extension_linux_prototype/test/linux_config_test.dart` - Added `packages/flutter_tools/test/general.shard/extension_protocol/config_service_test.dart` - Added `packages/flutter_tools/test/commands.shard/hermetic/config_test.dart` - Added tests in `packages/flutter_tools/test/commands.shard/hermetic/tool_extensions_integration_test.dart` - Added integration tests in `packages/flutter_tools/test/integration.shard/tool_extensions_test.dart`
B
Ben Konyi committed
1145997c6c329a368c8a335a97aed8edc426d7e9
Parent: 8955518
Committed by GitHub <noreply@github.com>
on 8/25/2026, 9:55:56 PM