Commit b172dd5a authored by Devon Carew's avatar Devon Carew

run pub for analyze and test (#3310)

* run pub for analyze and test

* don't run pub when doing repo analysis

* move logic for when to run pub into the commands

* re-write ternary expression
parent ec85af59
......@@ -112,6 +112,7 @@ class AnalyzeCommand extends FlutterCommand {
argParser.addFlag('preamble', help: 'Display the number of files that will be analyzed.', defaultsTo: true);
argParser.addFlag('congratulate', help: 'Show output even when there are no errors, warnings, hints, or lints.', defaultsTo: true);
argParser.addFlag('watch', help: 'Run analysis continuously, watching the filesystem for changes.', negatable: false);
usesPubOption();
}
@override
......@@ -120,6 +121,19 @@ class AnalyzeCommand extends FlutterCommand {
@override
String get description => 'Analyze the project\'s Dart code.';
@override
bool get shouldRunPub {
// If they're not analyzing the current project.
if (!argResults['current-package'])
return false;
// Or we're not in a project directory.
if (!new File('pubspec.yaml').existsSync())
return false;
return super.shouldRunPub;
}
@override
bool get requiresProjectRoot => false;
......
......@@ -22,6 +22,7 @@ class TestCommand extends FlutterCommand {
help: 'Run tests from the \'flutter\' package in the Flutter repository instead of the current directory.',
defaultsTo: false
);
usesPubOption();
}
@override
......@@ -30,6 +31,9 @@ class TestCommand extends FlutterCommand {
@override
String get description => 'Run Flutter unit tests for the current project (Linux only).';
@override
bool get shouldRunPub => !argResults['flutter-repo'] && super.shouldRunPub;
@override
bool get requiresProjectRoot => false;
......
......@@ -41,6 +41,8 @@ abstract class FlutterCommand extends Command {
bool _usesPubOption = false;
bool get shouldRunPub => _usesPubOption && argResults['pub'];
List<BuildConfiguration> get buildConfigurations => runner.buildConfigurations;
void usesTargetOption() {
......@@ -120,7 +122,7 @@ abstract class FlutterCommand extends Command {
}
}
if (_usesPubOption && argResults['pub']) {
if (shouldRunPub) {
int exitCode = await pubGet();
if (exitCode != 0)
return exitCode;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment