From 587f6e27feafe8d4d81f74dda8ab3b74418ea62d Mon Sep 17 00:00:00 2001 From: Alhaad Gokhale Date: Thu, 29 Oct 2015 14:36:25 -0700 Subject: [PATCH 1/2] Modify run_mojo command to take path to devtools. Made changes as discussed. R=@jamesr --- .../lib/src/commands/run_mojo.dart | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/flutter_tools/lib/src/commands/run_mojo.dart b/packages/flutter_tools/lib/src/commands/run_mojo.dart index 4080782f02..79bd8ccffd 100644 --- a/packages/flutter_tools/lib/src/commands/run_mojo.dart +++ b/packages/flutter_tools/lib/src/commands/run_mojo.dart @@ -27,7 +27,8 @@ class RunMojoCommand extends Command { argParser.addFlag('mojo-release', negatable: false, help: 'Use Release build of mojo (default)'); argParser.addOption('app', defaultsTo: 'app.flx'); - argParser.addOption('mojo-path', help: 'Path to directory containing mojo_shell and services'); + argParser.addOption('mojo-path', help: 'Path to directory containing mojo_shell and services. This is required for a Linux build.'); + argParser.addOption('devtools-path', help: 'Path to the mojo_run script in mojo devtools. This is required for an Android build.'); } // TODO(abarth): Why not use path.absolute? @@ -39,9 +40,9 @@ class RunMojoCommand extends Command { return file.absolute.path; } - Future _runAndroid(String mojoPath, _MojoConfig mojoConfig, String appPath, List additionalArgs) { + Future _runAndroid(String devtoolsPath, _MojoConfig mojoConfig, String appPath, List additionalArgs) { String skyViewerUrl = ArtifactStore.googleStorageUrl('viewer', 'android-arm'); - String command = _makePathAbsolute(path.join(mojoPath, 'mojo', 'devtools', 'common', 'mojo_run')); + String command = _makePathAbsolute(devtoolsPath); String appName = path.basename(appPath); String appDir = path.dirname(appPath); String buildFlag = mojoConfig == _MojoConfig.Debug ? '--debug' : '--release'; @@ -79,8 +80,13 @@ class RunMojoCommand extends Command { @override Future run() async { - if (argResults['mojo-path'] == null) { - _logging.severe('Must specify --mojo-path to mojo_run'); + if (argResults['mojo-path'] == null && !argResults['android']) { + _logging.severe('Must specify --mojo-path for Linux.'); + return 1; + } + + if (argResults['devtools-path'] == null && argResults['android']) { + _logging.severe('Must specify --devtools-path for Android.'); return 1; } if (argResults['mojo-debug'] && argResults['mojo-release']) { @@ -97,7 +103,7 @@ class RunMojoCommand extends Command { args.addAll(argResults.rest); if (argResults['android']) { - return _runAndroid(mojoPath, mojoConfig, appPath, args); + return _runAndroid(argResults['devtools-path'], mojoConfig, appPath, args); } else { return _runLinux(mojoPath, mojoConfig, appPath, args); } From dde6bd20340de3c1bb8f81f5836fcf2fc9965778 Mon Sep 17 00:00:00 2001 From: Alhaad Gokhale Date: Thu, 29 Oct 2015 15:29:44 -0700 Subject: [PATCH 2/2] Use a common flag for both android and linux. --- .../flutter_tools/lib/src/commands/run_mojo.dart | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/packages/flutter_tools/lib/src/commands/run_mojo.dart b/packages/flutter_tools/lib/src/commands/run_mojo.dart index 79bd8ccffd..bbab6ac43f 100644 --- a/packages/flutter_tools/lib/src/commands/run_mojo.dart +++ b/packages/flutter_tools/lib/src/commands/run_mojo.dart @@ -27,8 +27,7 @@ class RunMojoCommand extends Command { argParser.addFlag('mojo-release', negatable: false, help: 'Use Release build of mojo (default)'); argParser.addOption('app', defaultsTo: 'app.flx'); - argParser.addOption('mojo-path', help: 'Path to directory containing mojo_shell and services. This is required for a Linux build.'); - argParser.addOption('devtools-path', help: 'Path to the mojo_run script in mojo devtools. This is required for an Android build.'); + argParser.addOption('mojo-path', help: 'Path to directory containing mojo_shell and services for Linux and to mojo devtools from Android.'); } // TODO(abarth): Why not use path.absolute? @@ -80,15 +79,11 @@ class RunMojoCommand extends Command { @override Future run() async { - if (argResults['mojo-path'] == null && !argResults['android']) { - _logging.severe('Must specify --mojo-path for Linux.'); + if (argResults['mojo-path'] == null) { + _logging.severe('Must specify --mojo-path.'); return 1; } - if (argResults['devtools-path'] == null && argResults['android']) { - _logging.severe('Must specify --devtools-path for Android.'); - return 1; - } if (argResults['mojo-debug'] && argResults['mojo-release']) { _logging.severe('Cannot specify both --mojo-debug and --mojo-release'); return 1; @@ -103,7 +98,7 @@ class RunMojoCommand extends Command { args.addAll(argResults.rest); if (argResults['android']) { - return _runAndroid(argResults['devtools-path'], mojoConfig, appPath, args); + return _runAndroid(mojoPath, mojoConfig, appPath, args); } else { return _runLinux(mojoPath, mojoConfig, appPath, args); }