| Index: mojo/devtools/common/devtoolslib/shell_arguments.py
|
| diff --git a/mojo/devtools/common/devtoolslib/shell_arguments.py b/mojo/devtools/common/devtoolslib/shell_arguments.py
|
| index 1f2a97f6d9156cea71483a05de9baa49d5c7d7da..bd818e8caf74f3fea727d6336300977015d916bc 100644
|
| --- a/mojo/devtools/common/devtoolslib/shell_arguments.py
|
| +++ b/mojo/devtools/common/devtoolslib/shell_arguments.py
|
| @@ -100,45 +100,25 @@ def _apply_mappings(shell, original_arguments, map_urls, map_origins):
|
| return args
|
|
|
|
|
| -def _configure_sky(shell, root_path, sky_packages_path, sky_target):
|
| - """Configures additional mappings and a server needed to run the given Sky
|
| +def _configure_sky(shell_args):
|
| + """Maps mojo:sky_viewer as a content handler for dart applications.
|
| app.
|
|
|
| Args:
|
| - root_path: Local path to the root from which Sky apps will be served.
|
| - sky_packages_path: Local path to the root from which Sky packages will be
|
| - served.
|
| - sky_target: Path to the Sky app to be run, relative to |root_path|.
|
| + shell_args: Current list of shell arguments.
|
|
|
| Returns:
|
| - Arguments that need to be appended to the shell argument list.
|
| + Updated list of shell arguments.
|
| """
|
| - # Configure a server to serve the checkout root at / (so that Sky examples
|
| - # are accessible using a root-relative path) and Sky packages at /packages.
|
| - # This is independent from the server that potentially serves the origin
|
| - # directory containing the mojo: apps.
|
| - additional_mappings = [
|
| - ('packages/', sky_packages_path),
|
| - ]
|
| - server_url = shell.ServeLocalDirectory(root_path, port=_SKY_SERVER_PORT,
|
| - additional_mappings=additional_mappings)
|
| -
|
| - args = []
|
| # Configure the content type mappings for the sky_viewer. This is needed
|
| - # only for the Sky apps that do not declare mojo:sky_viewer in a shebang,
|
| - # and it is unfortunate as it configures the shell to map all items of the
|
| - # application/dart content-type as Sky apps.
|
| + # only for the Sky apps that do not declare mojo:sky_viewer in a shebang.
|
| # TODO(ppi): drop this part once we can rely on the Sky files declaring
|
| # correct shebang.
|
| - args = append_to_argument(args, '--content-handlers=',
|
| + shell_args = append_to_argument(shell_args, '--content-handlers=',
|
| 'text/sky,mojo:sky_viewer')
|
| - args = append_to_argument(args, '--content-handlers=',
|
| + shell_args = append_to_argument(shell_args, '--content-handlers=',
|
| 'application/dart,mojo:sky_viewer')
|
| -
|
| - # Configure the window manager to embed the sky_viewer.
|
| - sky_url = server_url + sky_target
|
| - args.append('mojo:window_manager %s' % sky_url)
|
| - return args
|
| + return shell_args
|
|
|
|
|
| def configure_local_origin(shell, local_dir, fixed_port=True):
|
| @@ -200,6 +180,9 @@ def add_shell_arguments(parser):
|
| parser.add_argument('--map-origin', action='append',
|
| help='Define a mapping for a url origin in the format '
|
| '<origin>=<url-or-local-file-path>')
|
| + parser.add_argument('--sky', action='store_true',
|
| + help='Maps mojo:sky_viewer as the content handler for '
|
| + 'dart apps.')
|
| parser.add_argument('-v', '--verbose', action="store_true",
|
| help="Increase output verbosity")
|
|
|
| @@ -269,4 +252,7 @@ def configure_shell(config_args, shell_args):
|
| shell_args.extend(configure_local_origin(shell, config_args.origin,
|
| fixed_port=True))
|
|
|
| + if config_args.sky:
|
| + shell_args = _configure_sky(shell_args)
|
| +
|
| return shell, shell_args
|
|
|