Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1924)

Unified Diff: sky/tools/shelldb

Issue 1064983003: Fix sky_tool's calling of adb, and shelldb's analyze and stop (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/sdk/packages/sky/lib/sky_tool ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/tools/shelldb
diff --git a/sky/tools/shelldb b/sky/tools/shelldb
index ba5b1d1bd95a63849018719d9100a7f5e5c596c8..e63c176e4f27dad16187beaa60333d447dd60f37 100755
--- a/sky/tools/shelldb
+++ b/sky/tools/shelldb
@@ -9,6 +9,7 @@ import json
import logging
import os
import re
+import signal
import subprocess
import sys
import time
@@ -23,7 +24,7 @@ DEFAULT_URL = "sky://domokit.github.io/home"
APK_NAME = 'SkyDemo.apk'
ADB_PATH = os.path.join(SRC_ROOT,
'third_party/android_tools/sdk/platform-tools/adb')
-
+ANDROID_PACKAGE = "org.domokit.sky.demo"
PID_FILE_PATH = "/tmp/skydemo.pids"
PID_FILE_KEYS = frozenset([
@@ -69,6 +70,10 @@ class Pids(object):
def clear(self):
self._dict = {}
+ def pop(self, key, default=None):
+ assert key in self._known_keys, '%s not in allowed_keys' % key
+ return self._dict.pop(key, default)
+
@classmethod
def read_from(cls, path, known_keys):
contents = {}
@@ -106,6 +111,13 @@ def _url_from_args(args, pids):
return _convert_to_sky_url(url)
+def dev_sdk_root(build_dir):
+ return os.path.join(build_dir, 'gen', 'sky_sdk')
+
+def dev_packages_root(build_dir):
+ return os.path.join(dev_sdk_root(build_dir), 'packages_root')
+
+
class StartSky(object):
def add_subparser(self, subparsers):
start_parser = subparsers.add_parser('start',
@@ -143,8 +155,8 @@ class StartSky(object):
print "'%s' does not exist?" % apk_path
return 2
- sdk_root = os.path.join(args.build_dir, 'gen', 'sky_sdk')
- packages_root = os.path.join(sdk_root, 'packages_root')
+ sdk_root = dev_sdk_root(args.build_dir)
+ packages_root = dev_packages_root(args.build_dir)
sky_tools_directory = os.path.join(SRC_ROOT, 'sky/tools')
subprocess.check_call([
os.path.join(sky_tools_directory, 'deploy_sdk.py'),
@@ -197,8 +209,8 @@ class StopSky(object):
def run(self, args, pids):
self._kill_if_exists(pids, 'sky_server_pid', 'sky_server')
- if 'remote_sky_server_port' in self.pids:
- port_string = 'tcp:%s' % self.pids['remote_sky_server_port']
+ if 'remote_sky_server_port' in pids:
+ port_string = 'tcp:%s' % pids['remote_sky_server_port']
subprocess.call([ADB_PATH, 'reverse', '--remove', port_string])
subprocess.call([
@@ -215,9 +227,12 @@ class Analyze(object):
analyze_parser.set_defaults(func=self.run)
def run(self, args, pids):
+ build_dir = pids.get('build_dir')
+ if not build_dir:
+ logging.fatal("pids file missing build_dir. Try 'start' first.")
+ return 2
ANALYZER_PATH = 'third_party/dart-sdk/dart-sdk/bin/dartanalyzer'
- build_dir = os.path.abspath(pids['build_dir'])
bindings_path = os.path.join(build_dir, 'gen/sky/bindings')
sky_builtin_path = \
os.path.join(SRC_ROOT, 'sky/engine/bindings/builtin.dart')
@@ -225,9 +240,10 @@ class Analyze(object):
analyzer_args = [ANALYZER_PATH,
"--url-mapping=dart:sky,%s" % dart_sky_path,
"--url-mapping=dart:sky_builtin,%s" % sky_builtin_path,
+ "--package-root", dev_packages_root(build_dir),
args.app_path
]
- subprocess.call(analyzer_args)
+ return subprocess.call(analyzer_args)
class StartTracing(object):
def add_subparser(self, subparsers):
« no previous file with comments | « sky/sdk/packages/sky/lib/sky_tool ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698