OLD | NEW |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """Functions that configure the shell before it is run manipulating its argument | 5 """Functions that configure the shell before it is run manipulating its argument |
6 list. | 6 list. |
7 """ | 7 """ |
8 | 8 |
9 import os.path | 9 import os.path |
10 import sys | 10 import sys |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 else: | 181 else: |
182 arguments.append(key + value) | 182 arguments.append(key + value) |
183 | 183 |
184 return arguments | 184 return arguments |
185 | 185 |
186 | 186 |
187 def add_shell_arguments(parser): | 187 def add_shell_arguments(parser): |
188 """Adds argparse arguments allowing to configure shell abstraction using | 188 """Adds argparse arguments allowing to configure shell abstraction using |
189 configure_shell() below. | 189 configure_shell() below. |
190 """ | 190 """ |
191 # Arguments indicating paths to binaries and tools. | 191 # Arguments configuring the shell run. |
192 parser.add_argument('--adb-path', help='Path of the adb binary.') | |
193 parser.add_argument('--shell-path', help='Path of the Mojo shell binary.') | 192 parser.add_argument('--shell-path', help='Path of the Mojo shell binary.') |
194 | |
195 # Arguments configuring the shell run. | |
196 parser.add_argument('--android', help='Run on Android', | 193 parser.add_argument('--android', help='Run on Android', |
197 action='store_true') | 194 action='store_true') |
198 parser.add_argument('--origin', help='Origin for mojo: URLs. This can be a ' | 195 parser.add_argument('--origin', help='Origin for mojo: URLs. This can be a ' |
199 'web url or a local directory path.') | 196 'web url or a local directory path.') |
200 parser.add_argument('--map-url', action='append', | 197 parser.add_argument('--map-url', action='append', |
201 help='Define a mapping for a url in the format ' | 198 help='Define a mapping for a url in the format ' |
202 '<url>=<url-or-local-file-path>') | 199 '<url>=<url-or-local-file-path>') |
203 parser.add_argument('--map-origin', action='append', | 200 parser.add_argument('--map-origin', action='append', |
204 help='Define a mapping for a url origin in the format ' | 201 help='Define a mapping for a url origin in the format ' |
205 '<origin>=<url-or-local-file-path>') | 202 '<origin>=<url-or-local-file-path>') |
206 | |
207 # Android-only arguments. | |
208 parser.add_argument('--target-device', | |
209 help='(android-only) Device to run on.') | |
210 parser.add_argument('--logcat-tags', | |
211 help='(android-only) Comma-separated list of additional ' | |
212 'logcat tags to display on the console.') | |
213 | |
214 # Desktop-only arguments. | |
215 parser.add_argument('--use-osmesa', action='store_true', | |
216 help='(linux-only) Configure the native viewport service ' | |
217 'for off-screen rendering.') | |
218 | |
219 # Other configuration. | |
220 parser.add_argument('-v', '--verbose', action="store_true", | 203 parser.add_argument('-v', '--verbose', action="store_true", |
221 help="Increase output verbosity") | 204 help="Increase output verbosity") |
222 | 205 |
| 206 android_group = parser.add_argument_group('Android-only', |
| 207 'These arguments apply only when --android is passed.') |
| 208 android_group.add_argument('--adb-path', help='Path of the adb binary.') |
| 209 android_group.add_argument('--target-device', help='Device to run on.') |
| 210 android_group.add_argument('--logcat-tags', help='Comma-separated list of ' |
| 211 'additional logcat tags to display.') |
| 212 |
| 213 desktop_group = parser.add_argument_group('Desktop-only', |
| 214 'These arguments apply only when running on desktop.') |
| 215 desktop_group.add_argument('--use-osmesa', action='store_true', |
| 216 help='Configure the native viewport service ' |
| 217 'for off-screen rendering.') |
| 218 |
223 | 219 |
224 class ShellConfigurationException(Exception): | 220 class ShellConfigurationException(Exception): |
225 """Represents an error preventing creating a functional shell abstraction.""" | 221 """Represents an error preventing creating a functional shell abstraction.""" |
226 pass | 222 pass |
227 | 223 |
228 | 224 |
229 def configure_shell(config_args, shell_args): | 225 def configure_shell(config_args, shell_args): |
230 """ | 226 """ |
231 Produces a shell abstraction configured using the parsed arguments defined in | 227 Produces a shell abstraction configured using the parsed arguments defined in |
232 add_shell_arguments(). | 228 add_shell_arguments(). |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 config_args.map_origin) | 263 config_args.map_origin) |
268 | 264 |
269 if config_args.origin: | 265 if config_args.origin: |
270 if _is_web_url(config_args.origin): | 266 if _is_web_url(config_args.origin): |
271 shell_args.append('--origin=' + config_args.origin) | 267 shell_args.append('--origin=' + config_args.origin) |
272 else: | 268 else: |
273 shell_args.extend(configure_local_origin(shell, config_args.origin, | 269 shell_args.extend(configure_local_origin(shell, config_args.origin, |
274 fixed_port=True)) | 270 fixed_port=True)) |
275 | 271 |
276 return shell, shell_args | 272 return shell, shell_args |
OLD | NEW |