From d0202131fd82fdb905f5b849026ff9287a4e958b Mon Sep 17 00:00:00 2001 From: Jonah Williams Date: Tue, 3 Nov 2020 10:11:14 -0800 Subject: [PATCH] [flutter_tools] support --extra-gen-snapshot-options everywhere --extra-front-end-options is specified (#69592) support --extra-gen-snapshot-options everywhere --extra-front-end-options is specified --- packages/flutter_tools/lib/src/commands/build_aot.dart | 8 ++------ packages/flutter_tools/lib/src/commands/build_apk.dart | 2 +- .../lib/src/commands/build_appbundle.dart | 2 +- .../flutter_tools/lib/src/commands/build_bundle.dart | 8 ++------ packages/flutter_tools/lib/src/commands/build_ios.dart | 2 +- .../lib/src/commands/build_ios_framework.dart | 2 +- packages/flutter_tools/lib/src/commands/run.dart | 2 +- .../flutter_tools/lib/src/runner/flutter_command.dart | 10 ++++++++-- 8 files changed, 17 insertions(+), 19 deletions(-) diff --git a/packages/flutter_tools/lib/src/commands/build_aot.dart b/packages/flutter_tools/lib/src/commands/build_aot.dart index 235b4c8a93..c61012c7ec 100644 --- a/packages/flutter_tools/lib/src/commands/build_aot.dart +++ b/packages/flutter_tools/lib/src/commands/build_aot.dart @@ -10,7 +10,7 @@ import '../resident_runner.dart'; import '../runner/flutter_command.dart'; import 'build.dart'; -/// Builds AOT snapshots into platform specific library containers. +/// Builds AOT executables into platform specific library containers. class BuildAotCommand extends BuildSubCommand with TargetPlatformBasedDevelopmentArtifacts { BuildAotCommand({this.aotBuilder}) { addTreeShakeIconsFlag(); @@ -18,7 +18,7 @@ class BuildAotCommand extends BuildSubCommand with TargetPlatformBasedDevelopmen addBuildModeFlags(); usesPubOption(); usesDartDefineOption(); - usesExtraFrontendOptions(); + usesExtraDartFlagOptions(); argParser ..addOption('output-dir', defaultsTo: getAotBuildDirectory()) ..addOption('target-platform', @@ -32,10 +32,6 @@ class BuildAotCommand extends BuildSubCommand with TargetPlatformBasedDevelopmen allowed: DarwinArch.values.map(getNameForDarwinArch), help: 'iOS architectures to build.', ) - ..addMultiOption(FlutterOptions.kExtraGenSnapshotOptions, - splitCommas: true, - hide: true, - ) ..addFlag('bitcode', defaultsTo: kBitcodeEnabledDefault, help: 'Build the AOT bundle with bitcode. Requires a compatible bitcode engine.', diff --git a/packages/flutter_tools/lib/src/commands/build_apk.dart b/packages/flutter_tools/lib/src/commands/build_apk.dart index 750fc15ec4..de1d511546 100644 --- a/packages/flutter_tools/lib/src/commands/build_apk.dart +++ b/packages/flutter_tools/lib/src/commands/build_apk.dart @@ -27,7 +27,7 @@ class BuildApkCommand extends BuildSubCommand { addSplitDebugInfoOption(); addDartObfuscationOption(); usesDartDefineOption(); - usesExtraFrontendOptions(); + usesExtraDartFlagOptions(); addBundleSkSLPathOption(hide: !verboseHelp); addEnableExperimentation(hide: !verboseHelp); addBuildPerformanceFile(hide: !verboseHelp); diff --git a/packages/flutter_tools/lib/src/commands/build_appbundle.dart b/packages/flutter_tools/lib/src/commands/build_appbundle.dart index 97c1ccf27e..5f5b1ad32f 100644 --- a/packages/flutter_tools/lib/src/commands/build_appbundle.dart +++ b/packages/flutter_tools/lib/src/commands/build_appbundle.dart @@ -26,7 +26,7 @@ class BuildAppBundleCommand extends BuildSubCommand { addSplitDebugInfoOption(); addDartObfuscationOption(); usesDartDefineOption(); - usesExtraFrontendOptions(); + usesExtraDartFlagOptions(); addBundleSkSLPathOption(hide: !verboseHelp); addBuildPerformanceFile(hide: !verboseHelp); usesTrackWidgetCreation(verboseHelp: verboseHelp); diff --git a/packages/flutter_tools/lib/src/commands/build_bundle.dart b/packages/flutter_tools/lib/src/commands/build_bundle.dart index 989d4dc522..93378e1b8f 100644 --- a/packages/flutter_tools/lib/src/commands/build_bundle.dart +++ b/packages/flutter_tools/lib/src/commands/build_bundle.dart @@ -9,7 +9,7 @@ import '../features.dart'; import '../globals.dart' as globals; import '../project.dart'; import '../reporting/reporting.dart'; -import '../runner/flutter_command.dart' show FlutterOptions, FlutterCommandResult; +import '../runner/flutter_command.dart' show FlutterCommandResult; import 'build.dart'; class BuildBundleCommand extends BuildSubCommand { @@ -19,7 +19,7 @@ class BuildBundleCommand extends BuildSubCommand { usesFilesystemOptions(hide: !verboseHelp); usesBuildNumberOption(); addBuildModeFlags(verboseHelp: verboseHelp); - usesExtraFrontendOptions(); + usesExtraDartFlagOptions(); argParser ..addFlag( 'precompiled', @@ -49,10 +49,6 @@ class BuildBundleCommand extends BuildSubCommand { ], ) ..addOption('asset-dir', defaultsTo: getAssetBuildDirectory()) - ..addMultiOption(FlutterOptions.kExtraGenSnapshotOptions, - splitCommas: true, - hide: true, - ) ..addFlag('report-licensed-packages', help: 'Whether to report the names of all the packages that are included ' "in the application's LICENSE file.", diff --git a/packages/flutter_tools/lib/src/commands/build_ios.dart b/packages/flutter_tools/lib/src/commands/build_ios.dart index dc07296279..3cb74975ff 100644 --- a/packages/flutter_tools/lib/src/commands/build_ios.dart +++ b/packages/flutter_tools/lib/src/commands/build_ios.dart @@ -177,7 +177,7 @@ abstract class _BuildIOSSubCommand extends BuildSubCommand { usesBuildNameOption(); addDartObfuscationOption(); usesDartDefineOption(); - usesExtraFrontendOptions(); + usesExtraDartFlagOptions(); addEnableExperimentation(hide: !verboseHelp); addBuildPerformanceFile(hide: !verboseHelp); addBundleSkSLPathOption(hide: !verboseHelp); diff --git a/packages/flutter_tools/lib/src/commands/build_ios_framework.dart b/packages/flutter_tools/lib/src/commands/build_ios_framework.dart index 5d05537430..3d78707055 100644 --- a/packages/flutter_tools/lib/src/commands/build_ios_framework.dart +++ b/packages/flutter_tools/lib/src/commands/build_ios_framework.dart @@ -49,7 +49,7 @@ class BuildIOSFrameworkCommand extends BuildSubCommand { usesDartDefineOption(); addSplitDebugInfoOption(); addDartObfuscationOption(); - usesExtraFrontendOptions(); + usesExtraDartFlagOptions(); addNullSafetyModeOptions(hide: !verboseHelp); addEnableExperimentation(hide: !verboseHelp); diff --git a/packages/flutter_tools/lib/src/commands/run.dart b/packages/flutter_tools/lib/src/commands/run.dart index 85688ce40e..fe4d414163 100644 --- a/packages/flutter_tools/lib/src/commands/run.dart +++ b/packages/flutter_tools/lib/src/commands/run.dart @@ -205,7 +205,7 @@ class RunCommand extends RunCommandBase { RunCommand({ bool verboseHelp = false }) : super(verboseHelp: verboseHelp) { requiresPubspecYaml(); usesFilesystemOptions(hide: !verboseHelp); - usesExtraFrontendOptions(); + usesExtraDartFlagOptions(); addEnableExperimentation(hide: !verboseHelp); // By default, the app should to publish the VM service port over mDNS. diff --git a/packages/flutter_tools/lib/src/runner/flutter_command.dart b/packages/flutter_tools/lib/src/runner/flutter_command.dart index 1430d67159..7d7d76fad8 100644 --- a/packages/flutter_tools/lib/src/runner/flutter_command.dart +++ b/packages/flutter_tools/lib/src/runner/flutter_command.dart @@ -596,11 +596,17 @@ abstract class FlutterCommand extends Command { ); } - void usesExtraFrontendOptions() { + /// Enables support for the hidden options --extra-front-end-options and + /// --extra-gen-snapshot-options. + void usesExtraDartFlagOptions() { argParser.addMultiOption(FlutterOptions.kExtraFrontEndOptions, splitCommas: true, hide: true, ); + argParser.addMultiOption(FlutterOptions.kExtraGenSnapshotOptions, + splitCommas: true, + hide: true, + ); } void usesFuchsiaOptions({ bool hide = false }) { @@ -664,7 +670,7 @@ abstract class FlutterCommand extends Command { addTreeShakeIconsFlag(); usesAnalyzeSizeFlag(); usesDartDefineOption(); - usesExtraFrontendOptions(); + usesExtraDartFlagOptions(); usesPubOption(); usesTargetOption(); usesTrackWidgetCreation(verboseHelp: verboseHelp);