[flutter_tool] add enable-embedder-api flag (#121895)
[flutter_tool] add enable-embedder-api flag
This commit is contained in:
parent
d55130479a
commit
b81b1e28a3
@ -183,6 +183,7 @@ abstract class RunCommandBase extends FlutterCommand with DeviceBasedDevelopment
|
||||
addAndroidSpecificBuildOptions(hide: !verboseHelp);
|
||||
usesFatalWarningsOption(verboseHelp: verboseHelp);
|
||||
addEnableImpellerFlag(verboseHelp: verboseHelp);
|
||||
addEnableEmbedderApiFlag(verboseHelp: verboseHelp);
|
||||
}
|
||||
|
||||
bool get traceStartup => boolArgDeprecated('trace-startup');
|
||||
@ -196,6 +197,7 @@ abstract class RunCommandBase extends FlutterCommand with DeviceBasedDevelopment
|
||||
bool get trackWidgetCreation => boolArgDeprecated('track-widget-creation');
|
||||
bool get enableImpeller => boolArgDeprecated('enable-impeller');
|
||||
bool get uninstallFirst => boolArgDeprecated('uninstall-first');
|
||||
bool get enableEmbedderApi => boolArgDeprecated('enable-embedder-api');
|
||||
|
||||
@override
|
||||
bool get reportNullSafety => true;
|
||||
@ -234,6 +236,7 @@ abstract class RunCommandBase extends FlutterCommand with DeviceBasedDevelopment
|
||||
enableImpeller: enableImpeller,
|
||||
uninstallFirst: uninstallFirst,
|
||||
enableDartProfiling: enableDartProfiling,
|
||||
enableEmbedderApi: enableEmbedderApi,
|
||||
);
|
||||
} else {
|
||||
return DebuggingOptions.enabled(
|
||||
@ -282,6 +285,7 @@ abstract class RunCommandBase extends FlutterCommand with DeviceBasedDevelopment
|
||||
uninstallFirst: uninstallFirst,
|
||||
serveObservatory: boolArgDeprecated('serve-observatory'),
|
||||
enableDartProfiling: enableDartProfiling,
|
||||
enableEmbedderApi: enableEmbedderApi,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -967,6 +967,7 @@ class DebuggingOptions {
|
||||
this.uninstallFirst = false,
|
||||
this.serveObservatory = true,
|
||||
this.enableDartProfiling = true,
|
||||
this.enableEmbedderApi = false,
|
||||
}) : debuggingEnabled = true;
|
||||
|
||||
DebuggingOptions.disabled(this.buildInfo, {
|
||||
@ -986,6 +987,7 @@ class DebuggingOptions {
|
||||
this.enableImpeller = false,
|
||||
this.uninstallFirst = false,
|
||||
this.enableDartProfiling = true,
|
||||
this.enableEmbedderApi = false,
|
||||
}) : debuggingEnabled = false,
|
||||
useTestFonts = false,
|
||||
startPaused = false,
|
||||
@ -1059,6 +1061,7 @@ class DebuggingOptions {
|
||||
required this.uninstallFirst,
|
||||
required this.serveObservatory,
|
||||
required this.enableDartProfiling,
|
||||
required this.enableEmbedderApi,
|
||||
});
|
||||
|
||||
final bool debuggingEnabled;
|
||||
@ -1096,6 +1099,7 @@ class DebuggingOptions {
|
||||
final bool enableImpeller;
|
||||
final bool serveObservatory;
|
||||
final bool enableDartProfiling;
|
||||
final bool enableEmbedderApi;
|
||||
|
||||
/// Whether the tool should try to uninstall a previously installed version of the app.
|
||||
///
|
||||
@ -1179,6 +1183,7 @@ class DebuggingOptions {
|
||||
// Tell the VM service to listen on all interfaces, don't restrict to the loopback.
|
||||
if (interfaceType == IOSDeviceConnectionInterface.network)
|
||||
'--vm-service-host=${ipv6 ? '::0' : '0.0.0.0'}',
|
||||
if (enableEmbedderApi) '--enable-embedder-api',
|
||||
];
|
||||
}
|
||||
|
||||
@ -1225,6 +1230,7 @@ class DebuggingOptions {
|
||||
'enableImpeller': enableImpeller,
|
||||
'serveObservatory': serveObservatory,
|
||||
'enableDartProfiling': enableDartProfiling,
|
||||
'enableEmbedderApi': enableEmbedderApi,
|
||||
};
|
||||
|
||||
static DebuggingOptions fromJson(Map<String, Object?> json, BuildInfo buildInfo) =>
|
||||
@ -1273,6 +1279,7 @@ class DebuggingOptions {
|
||||
uninstallFirst: (json['uninstallFirst'] as bool?) ?? false,
|
||||
serveObservatory: (json['serveObservatory'] as bool?) ?? false,
|
||||
enableDartProfiling: (json['enableDartProfiling'] as bool?) ?? true,
|
||||
enableEmbedderApi: (json['enableEmbedderApi'] as bool?) ?? false,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -1043,6 +1043,13 @@ abstract class FlutterCommand extends Command<void> {
|
||||
);
|
||||
}
|
||||
|
||||
void addEnableEmbedderApiFlag({required bool verboseHelp}) {
|
||||
argParser.addFlag('enable-embedder-api',
|
||||
hide: !verboseHelp,
|
||||
help: 'Whether to enable the experimental embedder API on iOS.',
|
||||
);
|
||||
}
|
||||
|
||||
/// Compute the [BuildInfo] for the current flutter command.
|
||||
/// Commands that build multiple build modes can pass in a [forcedBuildMode]
|
||||
/// to be used instead of parsing flags.
|
||||
|
@ -388,6 +388,7 @@ void main() {
|
||||
'--trace-systrace',
|
||||
'--enable-software-rendering',
|
||||
'--skia-deterministic-rendering',
|
||||
'--enable-embedder-api',
|
||||
]), throwsToolExit());
|
||||
|
||||
final DebuggingOptions options = await command.createDebuggingOptions(false);
|
||||
|
@ -938,6 +938,7 @@ void main() {
|
||||
'--trace-systrace',
|
||||
'--enable-software-rendering',
|
||||
'--skia-deterministic-rendering',
|
||||
'--enable-embedder-api',
|
||||
]), throwsToolExit());
|
||||
|
||||
final DebuggingOptions options = await command.createDebuggingOptions(false);
|
||||
|
@ -737,6 +737,7 @@ void main() {
|
||||
deviceVmServicePort: 1234,
|
||||
enableImpeller: true,
|
||||
enableDartProfiling: false,
|
||||
enableEmbedderApi: true,
|
||||
);
|
||||
final String jsonString = json.encode(original.toJson());
|
||||
final Map<String, dynamic> decoded = castStringKeyedMap(json.decode(jsonString))!;
|
||||
@ -749,6 +750,7 @@ void main() {
|
||||
expect(deserialized.deviceVmServicePort, original.deviceVmServicePort);
|
||||
expect(deserialized.enableImpeller, original.enableImpeller);
|
||||
expect(deserialized.enableDartProfiling, original.enableDartProfiling);
|
||||
expect(deserialized.enableEmbedderApi, original.enableEmbedderApi);
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -353,6 +353,7 @@ void main() {
|
||||
'--cache-sksl',
|
||||
'--purge-persistent-cache',
|
||||
'--enable-impeller',
|
||||
'--enable-embedder-api',
|
||||
].join(' '),
|
||||
],
|
||||
environment: const <String, String>{
|
||||
@ -405,6 +406,7 @@ void main() {
|
||||
verboseSystemLogs: true,
|
||||
nullAssertions: true,
|
||||
enableImpeller: true,
|
||||
enableEmbedderApi: true,
|
||||
),
|
||||
platformArgs: <String, dynamic>{},
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user