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

Unified Diff: tools/gn/command_desc.cc

Issue 537013002: Add outputs to GN's header checker. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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/action_values.cc ('k') | tools/gn/function_get_target_outputs.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 f17928a3239e2254927478da234f6d14fb9a3bf8..4ff3b20f7fc385d7b22f7ae6947247292a7e5fc2 100644
--- a/tools/gn/command_desc.cc
+++ b/tools/gn/command_desc.cc
@@ -17,6 +17,7 @@
#include "tools/gn/standard_out.h"
#include "tools/gn/substitution_writer.h"
#include "tools/gn/target.h"
+#include "tools/gn/variables.h"
namespace commands {
@@ -225,6 +226,27 @@ void PrintPublic(const Target* target, bool display_header) {
OutputString(" " + public_headers[i].value() + "\n");
}
+void PrintCheckIncludes(const Target* target, bool display_header) {
+ if (display_header)
+ OutputString("\ncheck_includes:\n");
+
+ if (target->check_includes())
+ OutputString(" true\n");
+ else
+ OutputString(" false\n");
+}
+
+void PrintAllowCircularIncludesFrom(const Target* target, bool display_header) {
+ if (display_header)
+ OutputString("\nallow_circular_includes_from:\n");
+
+ Label toolchain_label = target->label().GetToolchainLabel();
+ const std::set<Label>& allow = target->allow_circular_includes_from();
+ for (std::set<Label>::const_iterator iter = allow.begin();
+ iter != allow.end(); ++iter)
+ OutputString(" " + iter->GetUserVisibleName(toolchain_label) + "\n");
+}
+
void PrintVisibility(const Target* target, bool display_header) {
if (display_header)
OutputString("\nvisibility:\n");
@@ -232,6 +254,16 @@ void PrintVisibility(const Target* target, bool display_header) {
OutputString(target->visibility().Describe(2, false));
}
+void PrintTestonly(const Target* target, bool display_header) {
+ if (display_header)
+ OutputString("\ntestonly:\n");
+
+ if (target->testonly())
+ OutputString(" true\n");
+ else
+ OutputString(" false\n");
+}
+
void PrintConfigsVector(const Target* target,
const LabelConfigVector& configs,
const std::string& heading,
@@ -454,9 +486,18 @@ const char kDesc_Help[] =
" public\n"
" Public header files.\n"
"\n"
+ " check_includes\n"
+ " Whether \"gn check\" checks this target for include usage.\n"
+ "\n"
+ " allow_circular_includes_from\n"
+ " Permit includes from these targets.\n"
+ "\n"
" visibility\n"
" Prints which targets can depend on this one.\n"
"\n"
+ " testonly\n"
+ " Whether this target may only be used in tests.\n"
+ "\n"
" configs\n"
" Shows configs applied to the given target, sorted in the order\n"
" they're specified. This includes both configs specified in the\n"
@@ -553,35 +594,41 @@ int RunDesc(const std::vector<std::string>& args) {
if (args.size() == 3) {
// User specified one thing to display.
const std::string& what = args[2];
- if (what == "configs") {
+ if (what == variables::kConfigs) {
PrintConfigs(target, false);
- } else if (what == "direct_dependent_configs") {
+ } else if (what == variables::kDirectDependentConfigs) {
PrintDirectDependentConfigs(target, false);
- } else if (what == "all_dependent_configs") {
+ } else if (what == variables::kAllDependentConfigs) {
PrintAllDependentConfigs(target, false);
- } else if (what == "forward_dependent_configs_from") {
+ } else if (what == variables::kForwardDependentConfigsFrom) {
PrintForwardDependentConfigsFrom(target, false);
- } else if (what == "sources") {
+ } else if (what == variables::kSources) {
PrintSources(target, false);
- } else if (what == "public") {
+ } else if (what == variables::kPublic) {
PrintPublic(target, false);
- } else if (what == "visibility") {
+ } else if (what == variables::kCheckIncludes) {
+ PrintCheckIncludes(target, false);
+ } else if (what == variables::kAllowCircularIncludesFrom) {
+ PrintAllowCircularIncludesFrom(target, false);
+ } else if (what == variables::kVisibility) {
PrintVisibility(target, false);
- } else if (what == "inputs") {
+ } else if (what == variables::kTestonly) {
+ PrintTestonly(target, false);
+ } else if (what == variables::kInputs) {
PrintInputs(target, false);
- } else if (what == "script") {
+ } else if (what == variables::kScript) {
PrintScript(target, false);
- } else if (what == "args") {
+ } else if (what == variables::kArgs) {
PrintArgs(target, false);
- } else if (what == "depfile") {
+ } else if (what == variables::kDepfile) {
PrintDepfile(target, false);
- } else if (what == "outputs") {
+ } else if (what == variables::kOutputs) {
PrintOutputs(target, false);
- } else if (what == "deps") {
+ } else if (what == variables::kDeps) {
PrintDeps(target, false);
- } else if (what == "lib_dirs") {
+ } else if (what == variables::kLibDirs) {
PrintLibDirs(target, false);
- } else if (what == "libs") {
+ } else if (what == variables::kLibs) {
PrintLibs(target, false);
CONFIG_VALUE_HANDLER(defines, std::string)
@@ -626,11 +673,16 @@ int RunDesc(const std::vector<std::string>& args) {
OutputString(target_toolchain.GetUserVisibleName(false) + "\n");
PrintSources(target, true);
- if (is_binary_output)
+ if (is_binary_output) {
PrintPublic(target, true);
+ PrintCheckIncludes(target, true);
+ PrintAllowCircularIncludesFrom(target, true);
+ }
PrintVisibility(target, true);
- if (is_binary_output)
+ if (is_binary_output) {
+ PrintTestonly(target, true);
PrintConfigs(target, true);
+ }
PrintDirectDependentConfigs(target, true);
PrintAllDependentConfigs(target, true);
« no previous file with comments | « tools/gn/action_values.cc ('k') | tools/gn/function_get_target_outputs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698