| Index: tools/gn/command_desc.cc
|
| diff --git a/tools/gn/command_desc.cc b/tools/gn/command_desc.cc
|
| index 27117c53be2b62b772ae366d356f8f096b1494bf..2257221aaecd4502637b16570cda9ec16dd8ddc0 100644
|
| --- a/tools/gn/command_desc.cc
|
| +++ b/tools/gn/command_desc.cc
|
| @@ -291,134 +291,133 @@ const char kDesc[] = "desc";
|
| const char kDesc_HelpShort[] =
|
| "desc: Show lots of insightful information about a target or config.";
|
| const char kDesc_Help[] =
|
| - "gn desc <out_dir> <label or pattern> [<what to show>] [--blame] "
|
| - "[--format=json]\n"
|
| - "\n"
|
| - " Displays information about a given target or config. The build\n"
|
| - " build parameters will be taken for the build in the given <out_dir>.\n"
|
| - "\n"
|
| - " The <label or pattern> can be a target label, a config label, or a\n"
|
| - " label pattern (see \"gn help label_pattern\"). A label pattern will\n"
|
| - " only match targets.\n"
|
| - "\n"
|
| - "Possibilities for <what to show>\n"
|
| - "\n"
|
| - " (If unspecified an overall summary will be displayed.)\n"
|
| - "\n"
|
| - " all_dependent_configs\n"
|
| - " allow_circular_includes_from\n"
|
| - " arflags [--blame]\n"
|
| - " args\n"
|
| - " cflags [--blame]\n"
|
| - " cflags_cc [--blame]\n"
|
| - " cflags_cxx [--blame]\n"
|
| - " check_includes\n"
|
| - " configs [--tree] (see below)\n"
|
| - " defines [--blame]\n"
|
| - " depfile\n"
|
| - " deps [--all] [--tree] (see below)\n"
|
| - " include_dirs [--blame]\n"
|
| - " inputs\n"
|
| - " ldflags [--blame]\n"
|
| - " lib_dirs\n"
|
| - " libs\n"
|
| - " outputs\n"
|
| - " public_configs\n"
|
| - " public\n"
|
| - " script\n"
|
| - " sources\n"
|
| - " testonly\n"
|
| - " visibility\n"
|
| - "\n"
|
| - " runtime_deps\n"
|
| - " Compute all runtime deps for the given target. This is a\n"
|
| - " computed list and does not correspond to any GN variable, unlike\n"
|
| - " most other values here.\n"
|
| - "\n"
|
| - " The output is a list of file names relative to the build\n"
|
| - " directory. See \"gn help runtime_deps\" for how this is computed.\n"
|
| - " This also works with \"--blame\" to see the source of the\n"
|
| - " dependency.\n"
|
| - "\n"
|
| - "Shared flags\n"
|
| - "\n"
|
| - ALL_TOOLCHAINS_SWITCH_HELP
|
| - "\n"
|
| - " --format=json\n"
|
| - " Format the output as JSON instead of text.\n"
|
| - "\n"
|
| - "Target flags\n"
|
| - "\n"
|
| - " --blame\n"
|
| - " Used with any value specified on a config, this will name\n"
|
| - " the config that cause that target to get the flag. This doesn't\n"
|
| - " currently work for libs and lib_dirs because those are inherited\n"
|
| - " and are more complicated to figure out the blame (patches\n"
|
| - " welcome).\n"
|
| - "\n"
|
| - "Configs\n"
|
| - "\n"
|
| - " The \"configs\" section will list all configs that apply. For targets\n"
|
| - " this will include configs specified in the \"configs\" variable of\n"
|
| - " the target, and also configs pushed onto this target via public\n"
|
| - " or \"all dependent\" configs.\n"
|
| - "\n"
|
| - " Configs can have child configs. Specifying --tree will show the\n"
|
| - " hierarchy.\n"
|
| - "\n"
|
| - "Printing outputs\n"
|
| - "\n"
|
| - " The \"outputs\" section will list all outputs that apply, including\n"
|
| - " the outputs computed from the tool definition (eg for \"executable\",\n"
|
| - " \"static_library\", ... targets).\n"
|
| - "\n"
|
| - "Printing deps\n"
|
| - "\n"
|
| - " Deps will include all public, private, and data deps (TODO this could\n"
|
| - " be clarified and enhanced) sorted in order applying. The following\n"
|
| - " may be used:\n"
|
| - "\n"
|
| - " --all\n"
|
| - " Collects all recursive dependencies and prints a sorted flat list.\n"
|
| - " Also usable with --tree (see below).\n"
|
| - "\n"
|
| + R"(gn desc <out_dir> <label or pattern> [<what to show>] [--blame] "
|
| +[--format=json]
|
| +
|
| + Displays information about a given target or config. The build build
|
| + parameters will be taken for the build in the given <out_dir>.
|
| +
|
| + The <label or pattern> can be a target label, a config label, or a label
|
| + pattern (see "gn help label_pattern"). A label pattern will only match
|
| + targets.
|
| +
|
| +Possibilities for <what to show>
|
| +
|
| + (If unspecified an overall summary will be displayed.)
|
| +
|
| + all_dependent_configs
|
| + allow_circular_includes_from
|
| + arflags [--blame]
|
| + args
|
| + cflags [--blame]
|
| + cflags_cc [--blame]
|
| + cflags_cxx [--blame]
|
| + check_includes
|
| + configs [--tree] (see below)
|
| + defines [--blame]
|
| + depfile
|
| + deps [--all] [--tree] (see below)
|
| + include_dirs [--blame]
|
| + inputs
|
| + ldflags [--blame]
|
| + lib_dirs
|
| + libs
|
| + outputs
|
| + public_configs
|
| + public
|
| + script
|
| + sources
|
| + testonly
|
| + visibility
|
| +
|
| + runtime_deps
|
| + Compute all runtime deps for the given target. This is a computed list
|
| + and does not correspond to any GN variable, unlike most other values
|
| + here.
|
| +
|
| + The output is a list of file names relative to the build directory. See
|
| + "gn help runtime_deps" for how this is computed. This also works with
|
| + "--blame" to see the source of the dependency.
|
| +
|
| +Shared flags
|
| +)"
|
| +
|
| +ALL_TOOLCHAINS_SWITCH_HELP
|
| +
|
| +R"(
|
| + --format=json
|
| + Format the output as JSON instead of text.
|
| +
|
| +Target flags
|
| +
|
| + --blame
|
| + Used with any value specified on a config, this will name the config that
|
| + cause that target to get the flag. This doesn't currently work for libs
|
| + and lib_dirs because those are inherited and are more complicated to
|
| + figure out the blame (patches welcome).
|
| +
|
| +Configs
|
| +
|
| + The "configs" section will list all configs that apply. For targets this will
|
| + include configs specified in the "configs" variable of the target, and also
|
| + configs pushed onto this target via public or "all dependent" configs.
|
| +
|
| + Configs can have child configs. Specifying --tree will show the hierarchy.
|
| +
|
| +Printing outputs
|
| +
|
| + The "outputs" section will list all outputs that apply, including the outputs
|
| + computed from the tool definition (eg for "executable", "static_library", ...
|
| + targets).
|
| +
|
| +Printing deps
|
| +
|
| + Deps will include all public, private, and data deps (TODO this could be
|
| + clarified and enhanced) sorted in order applying. The following may be used:
|
| +
|
| + --all
|
| + Collects all recursive dependencies and prints a sorted flat list. Also
|
| + usable with --tree (see below).
|
| +)"
|
| +
|
| TARGET_PRINTING_MODE_COMMAND_LINE_HELP
|
| - "\n"
|
| +"\n"
|
| TARGET_TESTONLY_FILTER_COMMAND_LINE_HELP
|
| - "\n"
|
| - " --tree\n"
|
| - " Print a dependency tree. By default, duplicates will be elided\n"
|
| - " with \"...\" but when --all and -tree are used together, no\n"
|
| - " eliding will be performed.\n"
|
| - "\n"
|
| - " The \"deps\", \"public_deps\", and \"data_deps\" will all be\n"
|
| - " included in the tree.\n"
|
| - "\n"
|
| - " Tree output can not be used with the filtering or output flags:\n"
|
| - " --as, --type, --testonly.\n"
|
| - "\n"
|
| - TARGET_TYPE_FILTER_COMMAND_LINE_HELP
|
| - "\n"
|
| - "Note\n"
|
| - "\n"
|
| - " This command will show the full name of directories and source files,\n"
|
| - " but when directories and source paths are written to the build file,\n"
|
| - " they will be adjusted to be relative to the build directory. So the\n"
|
| - " values for paths displayed by this command won't match (but should\n"
|
| - " mean the same thing).\n"
|
| - "\n"
|
| - "Examples\n"
|
| - "\n"
|
| - " gn desc out/Debug //base:base\n"
|
| - " Summarizes the given target.\n"
|
| - "\n"
|
| - " gn desc out/Foo :base_unittests deps --tree\n"
|
| - " Shows a dependency tree of the \"base_unittests\" project in\n"
|
| - " the current directory.\n"
|
| - "\n"
|
| - " gn desc out/Debug //base defines --blame\n"
|
| - " Shows defines set for the //base:base target, annotated by where\n"
|
| - " each one was set from.\n";
|
| +
|
| +R"(
|
| + --tree
|
| + Print a dependency tree. By default, duplicates will be elided with "..."
|
| + but when --all and -tree are used together, no eliding will be performed.
|
| +
|
| + The "deps", "public_deps", and "data_deps" will all be included in the
|
| + tree.
|
| +
|
| + Tree output can not be used with the filtering or output flags: --as,
|
| + --type, --testonly.
|
| +)"
|
| +
|
| +TARGET_TYPE_FILTER_COMMAND_LINE_HELP
|
| +
|
| +R"(Note
|
| +
|
| + This command will show the full name of directories and source files, but
|
| + when directories and source paths are written to the build file, they will be
|
| + adjusted to be relative to the build directory. So the values for paths
|
| + displayed by this command won't match (but should mean the same thing).
|
| +
|
| +Examples
|
| +
|
| + gn desc out/Debug //base:base
|
| + Summarizes the given target.
|
| +
|
| + gn desc out/Foo :base_unittests deps --tree
|
| + Shows a dependency tree of the "base_unittests" project in
|
| + the current directory.
|
| +
|
| + gn desc out/Debug //base defines --blame
|
| + Shows defines set for the //base:base target, annotated by where
|
| + each one was set from.
|
| +)";
|
|
|
| int RunDesc(const std::vector<std::string>& args) {
|
| if (args.size() != 2 && args.size() != 3) {
|
|
|