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

Side by Side Diff: sky/tools/shelldb

Issue 1131373005: Have shelldb and skydb automatically download assets for you (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 7 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
« no previous file with comments | « no previous file | sky/tools/skydb » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 from skypy.skyserver import SkyServer 6 from skypy.skyserver import SkyServer
7 import argparse 7 import argparse
8 import json 8 import json
9 import logging 9 import logging
10 import os 10 import os
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 pids['sky_server_port']) 125 pids['sky_server_port'])
126 url = SkyServer.url_for_path(remote_sky_server_port, 126 url = SkyServer.url_for_path(remote_sky_server_port,
127 pids['sky_server_root'], args.url_or_path) 127 pids['sky_server_root'], args.url_or_path)
128 return _convert_to_sky_url(url) 128 return _convert_to_sky_url(url)
129 129
130 130
131 def dev_packages_root(build_dir): 131 def dev_packages_root(build_dir):
132 return os.path.join(build_dir, 'gen', 'dart-pkg', 'packages') 132 return os.path.join(build_dir, 'gen', 'dart-pkg', 'packages')
133 133
134 134
135 def ensure_assets_are_downloaded(build_dir):
136 sky_pkg_dir = os.path.join(build_dir, 'gen', 'dart-pkg', 'sky')
137 sky_pkg_lib_dir = os.path.join(sky_pkg_dir, 'lib')
138 sky_icons_dir = \
139 os.path.join(sky_pkg_lib_dir, 'assets', 'material-design-icons')
140 if not os.path.isdir(sky_icons_dir):
141 print('NOTE: Running `download_material_design_icons` for you.')
eseidel 2015/05/19 21:17:13 logging.info('sky/assets/material-design-icons mis
Cutch 2015/05/19 21:21:52 Done.
142 subprocess.check_call(
143 [os.path.join(sky_pkg_lib_dir, 'download_material_design_icons')])
144
145
135 class StartSky(object): 146 class StartSky(object):
136 def add_subparser(self, subparsers): 147 def add_subparser(self, subparsers):
137 start_parser = subparsers.add_parser('start', 148 start_parser = subparsers.add_parser('start',
138 help='launch SKyShell.apk on the device') 149 help='launch SkyShell.apk on the device')
139 start_parser.add_argument('build_dir', type=str) 150 start_parser.add_argument('build_dir', type=str)
140 start_parser.add_argument('url_or_path', nargs='?', type=str, 151 start_parser.add_argument('url_or_path', nargs='?', type=str,
141 default=DEFAULT_URL) 152 default=DEFAULT_URL)
142 start_parser.add_argument('--no_install', action="store_false", 153 start_parser.add_argument('--no_install', action="store_false",
143 default=True, dest="install", 154 default=True, dest="install",
144 help="Don't install SkyDemo.apk before starting") 155 help="Don't install SkyDemo.apk before starting")
145 start_parser.set_defaults(func=self.run) 156 start_parser.set_defaults(func=self.run)
146 157
147 def _server_root_for_url(self, url_or_path): 158 def _server_root_for_url(self, url_or_path):
148 path = os.path.abspath(url_or_path) 159 path = os.path.abspath(url_or_path)
(...skipping 13 matching lines...) Expand all
162 server_root = self._server_root_for_url(args.url_or_path) 173 server_root = self._server_root_for_url(args.url_or_path)
163 sky_server = SkyServer(SKY_SERVER_PORT, configuration, server_root, pack ages_root) 174 sky_server = SkyServer(SKY_SERVER_PORT, configuration, server_root, pack ages_root)
164 return sky_server 175 return sky_server
165 176
166 def run(self, args, pids): 177 def run(self, args, pids):
167 apk_path = os.path.join(args.build_dir, 'apks', APK_NAME) 178 apk_path = os.path.join(args.build_dir, 'apks', APK_NAME)
168 if not os.path.exists(apk_path): 179 if not os.path.exists(apk_path):
169 print "'%s' does not exist?" % apk_path 180 print "'%s' does not exist?" % apk_path
170 return 2 181 return 2
171 182
183 ensure_assets_are_downloaded(args.build_dir)
184
172 packages_root = dev_packages_root(args.build_dir) 185 packages_root = dev_packages_root(args.build_dir)
173 sky_server = self._sky_server_for_args(args, packages_root) 186 sky_server = self._sky_server_for_args(args, packages_root)
174 pids['sky_server_pid'] = sky_server.start() 187 pids['sky_server_pid'] = sky_server.start()
175 pids['sky_server_port'] = sky_server.port 188 pids['sky_server_port'] = sky_server.port
176 pids['sky_server_root'] = sky_server.root 189 pids['sky_server_root'] = sky_server.root
177 190
178 pids['build_dir'] = os.path.abspath(args.build_dir) 191 pids['build_dir'] = os.path.abspath(args.build_dir)
179 192
180 if args.install: 193 if args.install:
181 # -r to replace an existing apk, -d to allow version downgrade. 194 # -r to replace an existing apk, -d to allow version downgrade.
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 args = parser.parse_args() 347 args = parser.parse_args()
335 pids = Pids.read_from(PID_FILE_PATH, PID_FILE_KEYS) 348 pids = Pids.read_from(PID_FILE_PATH, PID_FILE_KEYS)
336 exit_code = args.func(args, pids) 349 exit_code = args.func(args, pids)
337 # We could do this with an at-exit handler instead? 350 # We could do this with an at-exit handler instead?
338 pids.write_to(PID_FILE_PATH) 351 pids.write_to(PID_FILE_PATH)
339 sys.exit(exit_code) 352 sys.exit(exit_code)
340 353
341 354
342 if __name__ == '__main__': 355 if __name__ == '__main__':
343 SkyShellRunner().main() 356 SkyShellRunner().main()
OLDNEW
« no previous file with comments | « no previous file | sky/tools/skydb » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698