From 5a16b3c804c5eca331a1c08a7ce31a54909af105 Mon Sep 17 00:00:00 2001 From: Chang Rebecca Swee Fun Date: Wed, 28 Jun 2017 09:59:19 +0800 Subject: devtool: find-recipe: enable new subcommand for devtool devtool find-recipe will prints out the path to the recipe in a workspace. This subcommand can also help to find recipe outside of current workspace using "-a" or "--any-recipe" option. This enhancement helps developer to get the recipe path when working with devtool. [YOCTO #11434] Signed-off-by: Chang Rebecca Swee Fun Signed-off-by: Ross Burton --- scripts/lib/devtool/utilcmds.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/scripts/lib/devtool/utilcmds.py b/scripts/lib/devtool/utilcmds.py index 938d88afc0..c8cb760e4b 100644 --- a/scripts/lib/devtool/utilcmds.py +++ b/scripts/lib/devtool/utilcmds.py @@ -30,9 +30,8 @@ from devtool import parse_recipe logger = logging.getLogger('devtool') - -def edit_recipe(args, config, basepath, workspace): - """Entry point for the devtool 'edit-recipe' subcommand""" +def find_recipe(args, config, basepath, workspace): + """Entry point for the devtool 'find-recipe' subcommand""" if args.any_recipe: tinfoil = setup_tinfoil(config_only=False, basepath=basepath) try: @@ -49,7 +48,10 @@ def edit_recipe(args, config, basepath, workspace): raise DevtoolError("Recipe file for %s is not under the workspace" % args.recipename) - return scriptutils.run_editor(recipefile, logger) + +def edit_recipe(args, config, basepath, workspace): + """Entry point for the devtool 'edit-recipe' subcommand""" + return scriptutils.run_editor(find_recipe(args, config, basepath, workspace), logger) def configure_help(args, config, basepath, workspace): @@ -220,6 +222,14 @@ def register_commands(subparsers, context): parser_edit_recipe.add_argument('--any-recipe', '-a', action="store_true", help='Edit any recipe, not just where the recipe file itself is in the workspace') parser_edit_recipe.set_defaults(func=edit_recipe) + # Find-recipe + parser_find_recipe = subparsers.add_parser('find-recipe', help='Find a recipe file in your workspace', + description='By default, this will find a recipe file in your workspace; you can override this with the -a/--any-recipe option.', + group='working') + parser_find_recipe.add_argument('recipename', help='Recipe to find') + parser_find_recipe.add_argument('--any-recipe', '-a', action="store_true", help='Find any recipe, not just where the recipe file itself is in the workspace') + parser_find_recipe.set_defaults(func=find_recipe) + # NOTE: Needed to override the usage string here since the default # gets the order wrong - recipename must come before --arg parser_configure_help = subparsers.add_parser('configure-help', help='Get help on configure script options', -- cgit 1.2.3-korg