Set Cache.flutterRoot after replay environment is set up. (#8614)

Fixes #8562
This commit is contained in:
Todd Volkert 2017-03-07 11:19:56 -08:00 committed by GitHub
parent 582df7b643
commit 902ffa1262

View file

@ -83,8 +83,7 @@ class FlutterCommandRunner extends CommandRunner<Null> {
hide: !verboseHelp,
help: 'Path to your ".packages" file.$packagesHelp');
argParser.addOption('flutter-root',
help: 'The root directory of the Flutter repository (uses \$$kFlutterRootEnvironmentVariableName if set).',
defaultsTo: _defaultFlutterRoot);
help: 'The root directory of the Flutter repository (uses \$$kFlutterRootEnvironmentVariableName if set).');
if (verboseHelp)
argParser.addSeparator('Local build selection options (not normally required):');
@ -226,8 +225,9 @@ class FlutterCommandRunner extends CommandRunner<Null> {
logger.supportsColor = globalResults['color'];
// We must set Cache.flutterRoot early because other features use it (e.g.
// enginePath's initialiser uses it).
Cache.flutterRoot = fs.path.normalize(fs.path.absolute(globalResults['flutter-root']));
// enginePath's initializer uses it).
final String flutterRoot = globalResults['flutter-root'] ?? _defaultFlutterRoot;
Cache.flutterRoot = fs.path.normalize(fs.path.absolute(flutterRoot));
if (platform.environment['FLUTTER_ALREADY_LOCKED'] != 'true')
await Cache.lock();