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

Side by Side Diff: sky/sdk/lib/sky_tool

Issue 1200993002: Update README.md and HACKING.md and resulting yak shave. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 6 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 unified diff | Download patch
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2015 The Chromium Authors. All rights reserved. 2 # Copyright 2015 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 import argparse 6 import argparse
7 import json 7 import json
8 import logging 8 import logging
9 import os 9 import os
10 import re 10 import re
(...skipping 22 matching lines...) Expand all
33 'sky_server_root', 33 'sky_server_root',
34 'build_dir', 34 'build_dir',
35 ]) 35 ])
36 36
37 37
38 def _port_in_use(port): 38 def _port_in_use(port):
39 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 39 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
40 return sock.connect_ex(('localhost', port)) == 0 40 return sock.connect_ex(('localhost', port)) == 0
41 41
42 42
43 # We need something to serve sky files, python's httpserver is sufficient. 43 # We need something to serve dart files, python's httpserver is sufficient.
44 def _start_http_server(port, root): 44 def _start_http_server(port, root):
45 server_command = [ 45 server_command = [
46 'python', '-m', 'SimpleHTTPServer', str(port), 46 'python', '-m', 'SimpleHTTPServer', str(port),
47 ] 47 ]
48 return subprocess.Popen(server_command, cwd=root).pid 48 return subprocess.Popen(server_command, cwd=root).pid
49 49
50 50
51 # This 'strict dictionary' approach is useful for catching typos. 51 # This 'strict dictionary' approach is useful for catching typos.
52 class Pids(object): 52 class Pids(object):
53 def __init__(self, known_keys, contents=None): 53 def __init__(self, known_keys, contents=None):
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 relative_path = os.path.relpath(path, root) 110 relative_path = os.path.relpath(path, root)
111 return 'sky://localhost:%s/%s' % (port, relative_path) 111 return 'sky://localhost:%s/%s' % (port, relative_path)
112 112
113 113
114 class StartSky(object): 114 class StartSky(object):
115 def add_subparser(self, subparsers): 115 def add_subparser(self, subparsers):
116 start_parser = subparsers.add_parser('start', 116 start_parser = subparsers.add_parser('start',
117 help='launch %s on the device' % APK_NAME) 117 help='launch %s on the device' % APK_NAME)
118 start_parser.add_argument('--install', action='store_true') 118 start_parser.add_argument('--install', action='store_true')
119 start_parser.add_argument('project_or_path', nargs='?', type=str, 119 start_parser.add_argument('project_or_path', nargs='?', type=str,
120 default='main.sky') 120 default='main.dart')
121 start_parser.set_defaults(func=self.run) 121 start_parser.set_defaults(func=self.run)
122 122
123 def _is_package_installed(self, package_name): 123 def _is_package_installed(self, package_name):
124 pm_path_cmd = [ADB_PATH, 'shell', 'pm', 'path', package_name] 124 pm_path_cmd = [ADB_PATH, 'shell', 'pm', 'path', package_name]
125 return subprocess.check_output(pm_path_cmd).strip() != '' 125 return subprocess.check_output(pm_path_cmd).strip() != ''
126 126
127 def run(self, args, pids): 127 def run(self, args, pids):
128 StopSky().run(args, pids) 128 StopSky().run(args, pids)
129 129
130 if not self._is_package_installed(ANDROID_PACKAGE): 130 if not self._is_package_installed(ANDROID_PACKAGE):
131 print '%s is not installed, installing.' % APK_NAME 131 print '%s is not installed, installing.' % APK_NAME
132 args.install = True 132 args.install = True
133 133
134 if args.install: 134 if args.install:
135 apk_path = os.path.join(SKY_PACKAGE_ROOT, 'apks', APK_NAME) 135 apk_path = os.path.join(SKY_PACKAGE_ROOT, 'apks', APK_NAME)
136 if not os.path.exists(apk_path): 136 if not os.path.exists(apk_path):
137 print "'%s' does not exist?" % apk_path 137 print "'%s' does not exist?" % apk_path
138 return 2 138 return 2
139 139
140 subprocess.check_call([ADB_PATH, 'install', '-r', apk_path]) 140 subprocess.check_call([ADB_PATH, 'install', '-r', apk_path])
141 141
142 project_or_path = os.path.abspath(args.project_or_path) 142 project_or_path = os.path.abspath(args.project_or_path)
143 143
144 if os.path.isdir(project_or_path): 144 if os.path.isdir(project_or_path):
145 sky_server_root = project_or_path 145 sky_server_root = project_or_path
146 main_sky = os.path.join(project_or_path, 'main.sky') 146 main_sky = os.path.join(project_or_path, 'main.dart')
147 missing_msg = "Missing main.sky in project: %s" % sky_server_root 147 missing_msg = "Missing main.dart in project: %s" % sky_server_root
148 else: 148 else:
149 sky_server_root = os.path.dirname(project_or_path) 149 sky_server_root = os.path.dirname(project_or_path)
150 main_sky = project_or_path 150 main_sky = project_or_path
151 missing_msg = "%s does not exist." % main_sky 151 missing_msg = "%s does not exist." % main_sky
152 152
153 if not os.path.isfile(main_sky): 153 if not os.path.isfile(main_sky):
154 print missing_msg 154 print missing_msg
155 return 2 155 return 2
156 156
157 sky_server_port = SKY_SERVER_PORT 157 sky_server_port = SKY_SERVER_PORT
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 args = parser.parse_args() 278 args = parser.parse_args()
279 pids = Pids.read_from(PID_FILE_PATH, PID_FILE_KEYS) 279 pids = Pids.read_from(PID_FILE_PATH, PID_FILE_KEYS)
280 exit_code = args.func(args, pids) 280 exit_code = args.func(args, pids)
281 # We could do this with an at-exit handler instead? 281 # We could do this with an at-exit handler instead?
282 pids.write_to(PID_FILE_PATH) 282 pids.write_to(PID_FILE_PATH)
283 sys.exit(exit_code) 283 sys.exit(exit_code)
284 284
285 285
286 if __name__ == '__main__': 286 if __name__ == '__main__':
287 SkyShellRunner().main() 287 SkyShellRunner().main()
OLDNEW
« no previous file with comments | « sky/README.md ('k') | sky/tests/services/iframe-embed-vmc.sky » ('j') | sky/tools/skygo/README » ('J')

Powered by Google App Engine
This is Rietveld 408576698