mirror of
https://github.com/flutter/flutter
synced 2024-10-13 11:42:54 +00:00
Improve the error message when a target is specified but not found.
https://github.com/flutter/flutter/issues/2368
This commit is contained in:
parent
8cc5312054
commit
913315bc87
|
@ -21,7 +21,7 @@ abstract class FlutterCommand extends Command {
|
|||
FlutterCommandRunner get runner => super.runner;
|
||||
|
||||
/// Whether this command needs to be run from the root of a project.
|
||||
bool get requiresProjectRoot => !_targetSpecified;
|
||||
bool get requiresProjectRoot => true;
|
||||
|
||||
/// Whether this command requires a (single) Flutter target device to be connected.
|
||||
bool get requiresDevice => false;
|
||||
|
@ -29,6 +29,10 @@ abstract class FlutterCommand extends Command {
|
|||
/// Whether this command only applies to Android devices.
|
||||
bool get androidOnly => false;
|
||||
|
||||
/// Whether this command allows usage of the 'target' option.
|
||||
bool get allowsTarget => _targetOptionSpecified;
|
||||
bool _targetOptionSpecified = false;
|
||||
|
||||
List<BuildConfiguration> get buildConfigurations => runner.buildConfigurations;
|
||||
|
||||
Future downloadToolchain() async {
|
||||
|
@ -59,7 +63,8 @@ abstract class FlutterCommand extends Command {
|
|||
}
|
||||
|
||||
Future<int> _run() async {
|
||||
if (requiresProjectRoot && !projectRootValidator())
|
||||
bool _checkRoot = requiresProjectRoot && allowsTarget && !_targetSpecified;
|
||||
if (_checkRoot && !projectRootValidator())
|
||||
return 1;
|
||||
|
||||
// Ensure at least one toolchain is installed.
|
||||
|
@ -152,5 +157,6 @@ abstract class FlutterCommand extends Command {
|
|||
callback: (val) => _targetSpecified = true,
|
||||
defaultsTo: flx.defaultMainPath,
|
||||
help: 'Target app path / main entry-point file.');
|
||||
_targetOptionSpecified = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ main() => defineTests();
|
|||
|
||||
defineTests() {
|
||||
group('run', () {
|
||||
testUsingContext('fail when target not found', () {
|
||||
testUsingContext('fails when target not found', () {
|
||||
RunCommand command = new RunCommand();
|
||||
applyMocksToCommand(command);
|
||||
return createTestCommandRunner(command).run(<String>['run', '-t', 'abc123']).then((int code) {
|
||||
|
|
Loading…
Reference in a new issue