| Index: recipes.py
|
| diff --git a/recipes.py b/recipes.py
|
| index d5955f89cc27ac6458038fb937dbc9d06cbc4ef9..79dd237c85c9371e3cf7acb2457c2f172712e3d9 100755
|
| --- a/recipes.py
|
| +++ b/recipes.py
|
| @@ -147,6 +147,12 @@ def run(package_deps, args):
|
| return handle_recipe_return(ret, args.output_result_json, stream_engine)
|
|
|
|
|
| +def remote_run(args):
|
| + from recipe_engine import remote_run
|
| +
|
| + return remote_run.main(args)
|
| +
|
| +
|
| def autoroll(args):
|
| from recipe_engine import autoroll
|
|
|
| @@ -287,6 +293,23 @@ def main():
|
| help='A list of property pairs; e.g. mastername=chromium.linux '
|
| 'issue=12345')
|
|
|
| + remote_run_p = subp.add_parser(
|
| + 'remote_run',
|
| + description='Run a recipe from specified repo and revision')
|
| + remote_run_p.set_defaults(command='remote_run')
|
| + remote_run_p.add_argument(
|
| + '--repository', required=True,
|
| + help='URL of a git repository to fetch')
|
| + remote_run_p.add_argument(
|
| + '--revision', default='FETCH_HEAD',
|
| + help='Git commit hash to check out')
|
| + remote_run_p.add_argument(
|
| + '--workdir',
|
| + help='The working directory of repo checkout')
|
| + remote_run_p.add_argument(
|
| + 'run_args', nargs='*',
|
| + help='Arguments to pass to fetched repo\'s recipes.py run')
|
| +
|
| autoroll_p = subp.add_parser(
|
| 'autoroll',
|
| help='Roll dependencies of a recipe package forward (implies fetch)')
|
| @@ -335,6 +358,11 @@ def main():
|
| if args.verbose:
|
| logging.getLogger().setLevel(logging.INFO)
|
|
|
| + # Commands which do not require config_file, package_deps, and other objects
|
| + # initialized later.
|
| + if args.command == 'remote_run':
|
| + return remote_run(args)
|
| +
|
| repo_root, config_file = get_package_config(args)
|
|
|
| try:
|
|
|