Chromium Code Reviews| Index: mojo/devtools/common/mojo_shell |
| diff --git a/mojo/devtools/common/mojo_shell b/mojo/devtools/common/mojo_shell |
| index 3b4d77bef4eecdef657dab5154f4d34a7e76e9f4..5b0c0a96151494763acda0cbe90d369990327275 100755 |
| --- a/mojo/devtools/common/mojo_shell |
| +++ b/mojo/devtools/common/mojo_shell |
| @@ -74,30 +74,49 @@ def main(): |
| 'for off-screen rendering.') |
| launcher_args, args = parser.parse_known_args() |
| - paths, error_msg = default_paths.infer_default_paths(launcher_args.android, |
| - launcher_args.debug, |
| - launcher_args.target_cpu) |
| - if not paths: |
| - print error_msg |
| - return -1 |
| + mojo_paths, _ = default_paths.infer_default_paths(launcher_args.android, |
| + launcher_args.debug, |
| + launcher_args.target_cpu) |
| + if mojo_paths: |
| + adb_path = mojo_paths['adb'] |
| + shell_binary_path = mojo_paths['shell'] |
| + local_origin_path = mojo_paths['build'] |
| + if launcher_args.verbose: |
| + print 'Running within a Mojo checkout:' |
| + print ' - using the locally built shell at ' + shell_binary_path |
| + print ' - using the default origin of ' + local_origin_path |
| + else: |
| + if launcher_args.android: |
| + adb_path = 'adb' |
| + shell_binary_path = None |
| + local_origin_path = '.' |
| + if launcher_args.verbose: |
| + print 'Running outside a Mojo checkout:' |
| + print ' - using the shell already installed on the device' |
| + print ' - using the current working directory as default origin' |
| + else: |
| + print 'Running outside a Mojo checkout is not supported on Linux yet.' |
| + return 1 |
| if launcher_args.android: |
| verbose_pipe = sys.stdout if launcher_args.verbose else None |
| - shell = AndroidShell(paths['adb'], launcher_args.target_device, |
| + shell = AndroidShell(adb_path, launcher_args.target_device, |
| logcat_tags=launcher_args.logcat_tags, |
| verbose_pipe=verbose_pipe) |
| device_status, error = shell.CheckDevice() |
| if not device_status: |
| print 'Device check failed: ' + error |
| return 1 |
| - shell.InstallApk(paths['shell']) |
| + if shell_binary_path: |
| + shell.InstallApk(shell_binary_path) |
| args = shell_arguments.RewriteMapOriginParameters(shell, args) |
| if not launcher_args.origin: |
| - args.extend(shell_arguments.ConfigureLocalOrigin(shell, paths['build'])) |
| + args.extend(shell_arguments.ConfigureLocalOrigin(shell, |
| + local_origin_path)) |
| else: |
| - shell = LinuxShell(paths['shell']) |
| + shell = LinuxShell(shell_binary_path) |
| if launcher_args.use_osmesa: |
| args.append('--args-for=mojo:native_viewport_service --use-osmesa') |
| @@ -110,8 +129,11 @@ def main(): |
| args.extend(shell_arguments.ConfigureDebugger(shell)) |
| if launcher_args.sky: |
| - args.extend(shell_arguments.ConfigureSky(shell, paths['root'], |
| - paths['sky_packages'], |
| + if not mojo_paths: |
| + print 'Running with --sky is not supported outside of the Mojo checkout.' |
|
tonyg
2015/07/20 22:38:30
Mind adding a bug or todo explaining what is neede
ppi
2015/07/20 23:36:22
Done.
|
| + return 1 |
| + args.extend(shell_arguments.ConfigureSky(shell, mojo_paths['root'], |
| + mojo_paths['sky_packages'], |
| launcher_args.sky)) |
| if launcher_args.verbose: |