diff --git a/packages/flutter_tools/lib/src/commands/build.dart b/packages/flutter_tools/lib/src/commands/build.dart index 7cad348f51..04d80ce8d8 100644 --- a/packages/flutter_tools/lib/src/commands/build.dart +++ b/packages/flutter_tools/lib/src/commands/build.dart @@ -5,6 +5,7 @@ import 'dart:async'; import '../flx.dart'; +import '../dart/pub.dart'; import '../globals.dart'; import '../runner/flutter_command.dart'; import '../toolchain.dart'; @@ -25,9 +26,22 @@ class BuildCommand extends FlutterCommand { argParser.addOption('snapshot', defaultsTo: defaultSnapshotPath); argParser.addOption('depfile', defaultsTo: defaultDepfilePath); argParser.addOption('working-dir', defaultsTo: defaultWorkingDirPath); + argParser.addFlag('pub', + defaultsTo: true, + help: 'Whether to run "pub get" before building the app.'); addTargetOption(); } + @override + Future run() async { + if (argResults['pub']) { + int exitCode = await pubGet(); + if (exitCode != 0) + return exitCode; + } + return await super.run(); + } + Future runInProject() async { String compilerPath = argResults['compiler'];