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

Unified Diff: sky/sdk/packages/sky/lib/sky_tool

Issue 1022193002: Make the Sky pub package include our APK and teach sky_tool to install it (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Add missing file Created 5 years, 9 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/bin/sky ('k') | sky/tools/deploy_sdk.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/sdk/packages/sky/lib/sky_tool
diff --git a/sky/sdk/packages/sky/bin/sky b/sky/sdk/packages/sky/lib/sky_tool
similarity index 90%
rename from sky/sdk/packages/sky/bin/sky
rename to sky/sdk/packages/sky/lib/sky_tool
index 7224bcb4f32564700ef612c259232801db88a4db..7d0747083bdc6d980f8a600397f30e78dd1074b9 100755
--- a/sky/sdk/packages/sky/bin/sky
+++ b/sky/sdk/packages/sky/lib/sky_tool
@@ -13,17 +13,17 @@ import subprocess
import sys
import urlparse
-SDK_TOOLS_DIR = os.path.dirname(os.path.abspath(__file__))
-SDK_ROOT = os.path.dirname(SDK_TOOLS_DIR)
+# TODO(eseidel): This should be BIN_DIR.
+LIB_DIR = os.path.realpath(os.path.dirname(os.path.abspath(__file__)))
+SKY_PACKAGE_ROOT = os.path.realpath(os.path.dirname(LIB_DIR))
SKY_SERVER_PORT = 9888
-DEFAULT_URL = os.path.join(SDK_ROOT, "examples/index.sky")
APK_NAME = 'SkyDemo.apk'
ANDROID_PACKAGE = "org.domokit.sky.demo"
# FIXME: This assumes adb is in $PATH, we could look for ANDROID_HOME, etc?
ADB_PATH = 'adb'
-PID_FILE_PATH = "/tmp/skydemo.pids"
+PID_FILE_PATH = "/tmp/sky_tool.pids"
PID_FILE_KEYS = frozenset([
'remote_sky_server_port',
'sky_server_pid',
@@ -112,16 +112,25 @@ def _url_for_path(port, root, path):
class StartSky(object):
def add_subparser(self, subparsers):
start_parser = subparsers.add_parser('start',
- help='launch SKyShell.apk on the device')
+ help='launch %s on the device' % APK_NAME)
start_parser.add_argument('--install', action='store_true')
start_parser.add_argument('project_or_path', nargs='?', type=str,
default='main.sky')
start_parser.set_defaults(func=self.run)
+ def _is_package_installed(self, package_name):
+ pm_path_cmd = [ADB_PATH, 'shell', 'pm', 'path', package_name]
+ return subprocess.check_output(pm_path_cmd).strip() != ''
+
def run(self, args, pids):
StopSky().run(args, pids)
+
+ if not self._is_package_installed(ANDROID_PACKAGE):
+ print '%s is not installed, installing.' % APK_NAME
+ args.install = True
+
if args.install:
- apk_path = os.path.join(SDK_ROOT, 'apks', APK_NAME)
+ apk_path = os.path.join(SKY_PACKAGE_ROOT, 'apks', APK_NAME)
if not os.path.exists(apk_path):
print "'%s' does not exist?" % apk_path
return 2
« no previous file with comments | « sky/sdk/packages/sky/bin/sky ('k') | sky/tools/deploy_sdk.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698