Chromium Code Reviews| Index: tools/gn/setup.cc |
| diff --git a/tools/gn/setup.cc b/tools/gn/setup.cc |
| index 8a433bcdbb1cacf67fd0e96bdbaf5f5bee9dc360..436f82e09ac233304f2809baccd59620aac2791b 100644 |
| --- a/tools/gn/setup.cc |
| +++ b/tools/gn/setup.cc |
| @@ -106,6 +106,10 @@ Variables |
| The secondary source root must be inside the main source tree. |
| + arg_file_template [optional] |
|
brettw
2016/11/22 16:14:32
These parameters are alphabetical. Can you put thi
Dirk Pranke
2016/11/22 18:41:52
Done. I thought I checked for that but clearly mis
|
| + Label of a file that contains the text that should be used as the |
|
brettw
2016/11/22 16:14:32
Label -> File name (labels are used for targets no
Dirk Pranke
2016/11/22 18:41:52
Changed "Label" to "Path to", instead, and fixed b
|
| + default args.gn file when you run `gn args`. |
| + |
| Example .gn file contents |
| buildconfig = "//build/config/BUILDCONFIG.gn" |
| @@ -738,5 +742,22 @@ bool Setup::FillOtherConfig(const base::CommandLine& cmdline) { |
| build_settings_.set_exec_script_whitelist(std::move(whitelist)); |
| } |
| + const Value* arg_file_template_value = |
| + dotfile_scope_.GetValue("arg_file_template", true); |
|
brettw
2016/11/22 16:14:32
Indent more.
Dirk Pranke
2016/11/22 18:41:52
Done.
|
| + if (arg_file_template_value) { |
| + if (!arg_file_template_value->VerifyTypeIs(Value::STRING, &err)) { |
| + err.PrintToStdout(); |
| + return false; |
| + } |
| + SourceFile path(arg_file_template_value->string_value()); |
| + if (!base::PathExists(path.Resolve(build_settings_.root_path()))) { |
|
brettw
2016/11/22 16:14:32
I don't think we should be doing filesystem operat
Dirk Pranke
2016/11/22 18:41:52
Okay. I moved the error handling code.
|
| + err = Err(Location(), arg_file_template_value->string_value() + |
| + std::string(" does not exist.")); |
| + err.PrintToStdout(); |
| + return false; |
| + } |
| + build_settings_.set_arg_file_template_path(path); |
| + } |
| + |
| return true; |
| } |