mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Fix sky_tool's calling of adb, and shelldb's analyze and stop
Just silly fixes needed for our 4 copies of our python run script. R=ianh@google.com Review URL: https://codereview.chromium.org/1064983003
This commit is contained in:
parent
97ed9fdd7d
commit
9d26851ecb
@ -209,8 +209,19 @@ class StopSky(object):
|
||||
|
||||
|
||||
class SkyShellRunner(object):
|
||||
def _check_for_adb(self):
|
||||
try:
|
||||
subprocess.call([ADB_PATH, '--help'])
|
||||
except OSError:
|
||||
print "'adb' (from the Android SDK) not in $PATH, can't continue."
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
def main(self):
|
||||
logging.basicConfig(level=logging.WARNING)
|
||||
if not self._check_for_adb()
|
||||
sys.exit(2)
|
||||
|
||||
parser = argparse.ArgumentParser(description='Sky Demo Runner')
|
||||
subparsers = parser.add_subparsers(help='sub-command help')
|
||||
|
||||
@ -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):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user