Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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() |
| OLD | NEW |