Commit be0b3e61 authored by James Robinson's avatar James Robinson

Merge pull request #52 from nlacasse/release-debug

run_mojo: Add --mojo-release and --mojo-debug flags.
parents c35c06e6 f600beeb
...@@ -22,6 +22,9 @@ class RunMojoCommand extends Command { ...@@ -22,6 +22,9 @@ class RunMojoCommand extends Command {
final description = 'Run a Flutter app in mojo.'; final description = 'Run a Flutter app in mojo.';
RunMojoCommand() { RunMojoCommand() {
argParser.addFlag('android', negatable: false, help: 'Run on an Android device'); argParser.addFlag('android', negatable: false, help: 'Run on an Android device');
argParser.addFlag('mojo-debug', negatable: false, help: 'Use Debug build of mojo');
argParser.addFlag('mojo-release', negatable: false, help: 'Use Release build of mojo (default)');
argParser.addOption('app', defaultsTo: 'app.flx'); 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');
argParser.addOption('package-root', defaultsTo: 'packages'); argParser.addOption('package-root', defaultsTo: 'packages');
...@@ -40,9 +43,10 @@ class RunMojoCommand extends Command { ...@@ -40,9 +43,10 @@ class RunMojoCommand extends Command {
String command = await _makePathAbsolute(path.join(results['mojo-path'], 'mojo', 'devtools', 'common', 'mojo_run')); String command = await _makePathAbsolute(path.join(results['mojo-path'], 'mojo', 'devtools', 'common', 'mojo_run'));
String appName = path.basename(appPath); String appName = path.basename(appPath);
String appDir = path.dirname(appPath); String appDir = path.dirname(appPath);
String buildFlag = argResults['mojo-debug'] ? '--debug' : '--release';
List<String> args = [ List<String> args = [
'--android', '--android',
'--release', buildFlag,
'http://app/$appName', 'http://app/$appName',
'--map-origin=http://app/=$appDir', '--map-origin=http://app/=$appDir',
'--map-origin=http://sky_viewer/=$skyViewerUrl', '--map-origin=http://sky_viewer/=$skyViewerUrl',
...@@ -60,7 +64,8 @@ class RunMojoCommand extends Command { ...@@ -60,7 +64,8 @@ class RunMojoCommand extends Command {
Future<int> _runLinux(ArgResults results, String appPath, ArtifactStore artifacts) async { Future<int> _runLinux(ArgResults results, String appPath, ArtifactStore artifacts) async {
String viewerPath = await _makePathAbsolute(await artifacts.getPath(Artifact.SkyViewerMojo)); String viewerPath = await _makePathAbsolute(await artifacts.getPath(Artifact.SkyViewerMojo));
String mojoShellPath = await _makePathAbsolute(path.join(results['mojo-path'], 'out', 'Release', 'mojo_shell')); String mojoBuildType = argResults['mojo-debug'] ? 'Debug' : 'Release';
String mojoShellPath = await _makePathAbsolute(path.join(results['mojo-path'], 'out', mojoBuildType, 'mojo_shell'));
List<String> args = [ List<String> args = [
'file://${appPath}', 'file://${appPath}',
'--url-mappings=mojo:sky_viewer=file://${viewerPath}' '--url-mappings=mojo:sky_viewer=file://${viewerPath}'
...@@ -75,6 +80,10 @@ class RunMojoCommand extends Command { ...@@ -75,6 +80,10 @@ class RunMojoCommand extends Command {
_logging.severe('Must specify --mojo-path to mojo_run'); _logging.severe('Must specify --mojo-path to mojo_run');
return 1; return 1;
} }
if (argResults['mojo-debug'] && argResults['mojo-release']) {
_logging.severe('Cannot specify both --mojo-debug and --mojo-release');
return 1;
}
String packageRoot = argResults['package-root']; String packageRoot = argResults['package-root'];
ArtifactStore artifacts = new ArtifactStore(packageRoot); ArtifactStore artifacts = new ArtifactStore(packageRoot);
String appPath = await _makePathAbsolute(argResults['app']); String appPath = await _makePathAbsolute(argResults['app']);
......
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