Index: mojo/devtools/common/devtoolslib/shell_config.py |
diff --git a/mojo/devtools/common/devtoolslib/shell_config.py b/mojo/devtools/common/devtoolslib/shell_config.py |
index 702be64d76da173cb3cba15049fbdda1c86e7f1a..b3ccad83a01cf4a3bd4592e466218901db177961 100644 |
--- a/mojo/devtools/common/devtoolslib/shell_config.py |
+++ b/mojo/devtools/common/devtoolslib/shell_config.py |
@@ -90,6 +90,9 @@ def add_shell_arguments(parser): |
'file.') |
config_file_group.add_argument('--config-file', type=file, |
help='Path of the configuration file to use.') |
+ config_file_group.add_argument('--no-config-file', action='store_true', |
+ help='Pass to skip automatic discovery of the ' |
+ 'mojoconfig file.') |
# Arguments allowing to indicate the build directory we are targeting when |
# running within a Chromium-like checkout (e.g. Mojo checkout). These will go |
@@ -109,6 +112,13 @@ def add_shell_arguments(parser): |
choices=['x64', 'x86', 'arm']) |
+def _discover_config_file(): |
+ config_file_path = paths.find_within_ancestors('mojoconfig') |
+ if not config_file_path: |
+ return None |
+ return open(config_file_path) |
+ |
+ |
def _read_config_file(config_file, aliases): |
spec = config_file.read() |
for alias_pattern, alias_value in aliases: |
@@ -151,22 +161,28 @@ def get_shell_config(script_args): |
shell_config.origin = inferred_paths['build_dir_path'] |
# Read the mojoconfig file. |
- if script_args.config_file: |
+ config_file = script_args.config_file |
+ if not script_args.no_config_file: |
+ config_file = config_file or _discover_config_file() |
+ |
+ if config_file: |
qsr
2015/08/05 11:50:59
Can you use:
with config_file:
inside the if (to n
ppi
2015/08/05 11:55:44
Seems to be working fine, done.
|
config_file_aliases = [] |
if inferred_paths['build_dir_path']: |
config_file_aliases.append(('@{BUILD_DIR}', |
inferred_paths['build_dir_path'])) |
- mojoconfig = None |
+ config = None |
try: |
- mojoconfig = _read_config_file(script_args.config_file, |
- config_file_aliases) |
+ if script_args.verbose: |
+ print 'Reading config file from: ' + config_file.name |
+ config = _read_config_file(config_file, config_file_aliases) |
+ config_file.close() |
except SyntaxError: |
raise ShellConfigurationException('Failed to parse the mojoconfig file.') |
- if 'dev_servers' in mojoconfig: |
+ if 'dev_servers' in config: |
try: |
- for dev_server_spec in mojoconfig['dev_servers']: |
+ for dev_server_spec in config['dev_servers']: |
dev_server_config = DevServerConfig() |
dev_server_config.host = dev_server_spec['host'] |
dev_server_config.mappings = [] |