| Index: recipes.py
|
| diff --git a/recipes.py b/recipes.py
|
| index 0dae267a3d85b49f77cd888e0ff1d3fafbfaaecc..0e34712c8e061fa463cac62149352ce29a9d3e36 100755
|
| --- a/recipes.py
|
| +++ b/recipes.py
|
| @@ -33,7 +33,7 @@ from recipe_engine import util as recipe_util
|
| from google.protobuf import json_format as jsonpb
|
|
|
|
|
| -def test(config_file, package_deps, args, op_args):
|
| +def test(config_file, package_deps, args):
|
| try:
|
| from recipe_engine import test
|
| except ImportError:
|
| @@ -55,7 +55,7 @@ def test(config_file, package_deps, args, op_args):
|
|
|
| return test.main(
|
| universe_view, raw_args=args.args,
|
| - engine_flags=op_args.engine_flags)
|
| + engine_flags=args.operational_args.engine_flags)
|
|
|
|
|
| def lint(config_file, package_deps, args):
|
| @@ -148,7 +148,7 @@ def new_handle_recipe_return(result, result_filename, stream_engine):
|
| return 0
|
|
|
|
|
| -def run(config_file, package_deps, args, op_args):
|
| +def run(config_file, package_deps, args):
|
| from recipe_engine import run as recipe_run
|
| from recipe_engine import loader
|
| from recipe_engine import step_runner
|
| @@ -164,6 +164,7 @@ def run(config_file, package_deps, args, op_args):
|
| return None
|
| return _op_properties_to_dict(op_args.properties.property)
|
|
|
| + op_args = args.operational_args
|
| op_properties = get_properties_from_operational_args(op_args)
|
| if args.properties and op_properties:
|
| raise ValueError(
|
| @@ -383,9 +384,17 @@ def add_common_args(parser):
|
| parser.add_argument(
|
| '--disable-bootstrap', action='store_false', dest='use_bootstrap',
|
| help='Disables bootstrap (see --use-bootstrap)')
|
| +
|
| + def operational_args_type(value):
|
| + with open(value) as fd:
|
| + return jsonpb.ParseDict(json.load(fd), arguments_pb2.Arguments())
|
| +
|
| + parser.set_defaults(operational_args=arguments_pb2.Arguments())
|
| +
|
| parser.add_argument(
|
| - '--operational-args-path', action='store',
|
| - type=os.path.abspath,
|
| + '--operational-args-path',
|
| + dest='operational_args',
|
| + type=operational_args_type,
|
| help='The path to an operational Arguments file. If provided, this file '
|
| 'must contain a JSONPB-encoded Arguments protobuf message, and will '
|
| 'be integrated into the runtime parameters.')
|
| @@ -596,13 +605,6 @@ def main():
|
| args = parser.parse_args()
|
| post_process_common_args(parser, args)
|
|
|
| - # Load/parse operational arguments.
|
| - op_args = arguments_pb2.Arguments()
|
| - if args.operational_args_path is not None:
|
| - with open(args.operational_args_path) as fd:
|
| - data = fd.read()
|
| - jsonpb.Parse(data, op_args)
|
| -
|
| # TODO(iannucci): We should always do logging.basicConfig() (probably with
|
| # logging.WARNING), even if no verbose is passed. However we need to be
|
| # careful as this could cause issues with spurious/unexpected output. I think
|
| @@ -675,7 +677,7 @@ def main():
|
| ] + sys.argv[1:])
|
|
|
| # Standard recipe engine operation.
|
| - return _real_main(args, op_args)
|
| + return _real_main(args)
|
|
|
| finally:
|
| # If we're using a temporary deps directory, clean it up here.
|
| @@ -690,8 +692,8 @@ def main():
|
| shutil.rmtree(temp_deps_dir, onerror=on_error)
|
|
|
|
|
| -def _real_main(args, op_args):
|
| - from recipe_engine import package, package_io
|
| +def _real_main(args):
|
| + from recipe_engine import package
|
|
|
| # Commands which do not require config_file, package_deps, and other objects
|
| # initialized later.
|
| @@ -720,13 +722,13 @@ def _real_main(args, op_args):
|
| assert not args.no_fetch, 'Fetch? No-fetch? Make up your mind!'
|
| return 0
|
| elif args.command == 'test':
|
| - return test(config_file, package_deps, args, op_args)
|
| + return test(config_file, package_deps, args)
|
| elif args.command == 'bundle':
|
| return bundle(config_file, package_deps, args)
|
| elif args.command == 'lint':
|
| return lint(config_file, package_deps, args)
|
| elif args.command == 'run':
|
| - return run(config_file, package_deps, args, op_args)
|
| + return run(config_file, package_deps, args)
|
| elif args.command == 'autoroll':
|
| return autoroll(repo_root, config_file, args)
|
| elif args.command == 'depgraph':
|
|
|