Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Unified Diff: tools/gn/command_desc.cc

Issue 500423003: Enhance GN diagnostic tools (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: use patterns for gn check Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/gn/command_check.cc ('k') | tools/gn/command_help.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/gn/command_desc.cc
diff --git a/tools/gn/command_desc.cc b/tools/gn/command_desc.cc
index f89ea414b9f79ce76ec30cf02858e33939b8ede4..f17928a3239e2254927478da234f6d14fb9a3bf8 100644
--- a/tools/gn/command_desc.cc
+++ b/tools/gn/command_desc.cc
@@ -435,8 +435,12 @@ const char kDesc[] = "desc";
const char kDesc_HelpShort[] =
"desc: Show lots of insightful information about a target.";
const char kDesc_Help[] =
- "gn desc <target label> [<what to show>] [--blame] [--all | --tree]\n"
- " Displays information about a given labeled target.\n"
+ "gn desc <out_dir> <target label> [<what to show>]\n"
+ " [--blame] [--all | --tree]\n"
+ "\n"
+ " Displays information about a given labeled target for the given build.\n"
+ " The build parameters will be taken for the build in the given\n"
+ " <out_dir>.\n"
"\n"
"Possibilities for <what to show>:\n"
" (If unspecified an overall summary will be displayed.)\n"
@@ -510,14 +514,14 @@ const char kDesc_Help[] =
" mean the same thing).\n"
"\n"
"Examples:\n"
- " gn desc //base:base\n"
+ " gn desc out/Debug //base:base\n"
" Summarizes the given target.\n"
"\n"
- " gn desc :base_unittests deps --tree\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 //base defines --blame\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";
@@ -525,22 +529,30 @@ const char kDesc_Help[] =
OutputRecursiveTargetConfig<type>(target, #name, &ConfigValues::name);
int RunDesc(const std::vector<std::string>& args) {
- if (args.size() != 1 && args.size() != 2) {
+ if (args.size() != 2 && args.size() != 3) {
Err(Location(), "You're holding it wrong.",
- "Usage: \"gn desc <target_name> <what to display>\"").PrintToStdout();
+ "Usage: \"gn desc <out_dir> <target_name> [<what to display>]\"")
+ .PrintToStdout();
return 1;
}
- const Target* target = GetTargetForDesc(args);
+ // Deliberately leaked to avoid expensive process teardown.
+ Setup* setup = new Setup;
+ if (!setup->DoSetup(args[0]))
+ return 1;
+ if (!setup->Run())
+ return 1;
+
+ const Target* target = ResolveTargetFromCommandLineString(setup, args[1]);
if (!target)
return 1;
#define CONFIG_VALUE_HANDLER(name, type) \
} else if (what == #name) { OUTPUT_CONFIG_VALUE(name, type)
- if (args.size() == 2) {
+ if (args.size() == 3) {
// User specified one thing to display.
- const std::string& what = args[1];
+ const std::string& what = args[2];
if (what == "configs") {
PrintConfigs(target, false);
} else if (what == "direct_dependent_configs") {
« no previous file with comments | « tools/gn/command_check.cc ('k') | tools/gn/command_help.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698