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