From 386c351884f8b2122950c3f90df9992ee916c70d Mon Sep 17 00:00:00 2001 From: Devon Carew Date: Tue, 19 Jan 2016 09:37:45 -0800 Subject: [PATCH] improve the failure mode when run from a non-flutter project fix an issue where errors were printed twice --- packages/.gitignore | 1 + packages/flutter_tools/lib/src/artifacts.dart | 9 +++++++++ packages/flutter_tools/lib/src/commands/start.dart | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/.gitignore b/packages/.gitignore index 5dfbd5b4b55..00154e92d30 100644 --- a/packages/.gitignore +++ b/packages/.gitignore @@ -6,3 +6,4 @@ build/ packages pubspec.lock +.atom/ diff --git a/packages/flutter_tools/lib/src/artifacts.dart b/packages/flutter_tools/lib/src/artifacts.dart index 803e9569927..cac7af50ec6 100644 --- a/packages/flutter_tools/lib/src/artifacts.dart +++ b/packages/flutter_tools/lib/src/artifacts.dart @@ -192,6 +192,14 @@ class ArtifactStore { } } + static void ensureHasSkyEnginePackage() { + Directory skyEnginePackage = new Directory(path.join(packageRoot, 'sky_engine')); + if (!skyEnginePackage.existsSync()) { + stderr.writeln("Cannot locate the sky_engine package; did you include 'flutter' in your pubspec.yaml file?"); + throw new ProcessExit(2); + } + } + static String _engineRevision; static String get engineRevision { @@ -274,6 +282,7 @@ class ArtifactStore { } static Directory _getCacheDirForPlatform(String platform) { + ensureHasSkyEnginePackage(); Directory baseDir = _getBaseCacheDir(); // TODO(jamesr): Add support for more configurations. String config = 'Release'; diff --git a/packages/flutter_tools/lib/src/commands/start.dart b/packages/flutter_tools/lib/src/commands/start.dart index 030a95e05b8..86f6b55bfb7 100644 --- a/packages/flutter_tools/lib/src/commands/start.dart +++ b/packages/flutter_tools/lib/src/commands/start.dart @@ -144,7 +144,7 @@ class StartCommand extends StartCommandBase { await Future.wait([ downloadToolchain(), downloadApplicationPackagesAndConnectToDevices(), - ]); + ], eagerError: true); bool poke = argResults['poke']; bool clearLogs = argResults['clear-logs'];