Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdio.h> | 6 #include <stdio.h> |
| 7 #include <stdlib.h> | 7 #include <stdlib.h> |
| 8 #include <string.h> | 8 #include <string.h> |
| 9 | 9 |
| 10 #include <map> | 10 #include <map> |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 111 GetContextForValue(value, &location, &comment); | 111 GetContextForValue(value, &location, &comment); |
| 112 OutputString(" " + location + "\n" + comment); | 112 OutputString(" " + location + "\n" + comment); |
| 113 } else { | 113 } else { |
| 114 OutputString(" (Internally set; try `gn help " + name.as_string() + | 114 OutputString(" (Internally set; try `gn help " + name.as_string() + |
| 115 "`.)\n"); | 115 "`.)\n"); |
| 116 } | 116 } |
| 117 } | 117 } |
| 118 | 118 |
| 119 int ListArgs(const std::string& build_dir) { | 119 int ListArgs(const std::string& build_dir) { |
| 120 Setup* setup = new Setup; | 120 Setup* setup = new Setup; |
| 121 setup->build_settings().set_check_for_bad_items(false); | |
| 122 if (!setup->DoSetup(build_dir, false) || !setup->Run()) | 121 if (!setup->DoSetup(build_dir, false) || !setup->Run()) |
| 123 return 1; | 122 return 1; |
| 124 | 123 |
| 125 Scope::KeyValueMap build_args; | 124 Scope::KeyValueMap build_args; |
| 126 setup->build_settings().build_args().MergeDeclaredArguments(&build_args); | 125 setup->build_settings().build_args().MergeDeclaredArguments(&build_args); |
| 127 | 126 |
| 128 // Find all of the arguments we care about. Use a regular map so they're | 127 // Find all of the arguments we care about. Use a regular map so they're |
| 129 // sorted nicely when we write them out. | 128 // sorted nicely when we write them out. |
| 130 std::map<base::StringPiece, Value> sorted_args; | 129 std::map<base::StringPiece, Value> sorted_args; |
| 131 std::string list_value = | 130 std::string list_value = |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 224 return system(cmd.c_str()) == 0; | 223 return system(cmd.c_str()) == 0; |
| 225 } | 224 } |
| 226 | 225 |
| 227 #endif | 226 #endif |
| 228 | 227 |
| 229 int EditArgsFile(const std::string& build_dir) { | 228 int EditArgsFile(const std::string& build_dir) { |
| 230 { | 229 { |
| 231 // Scope the setup. We only use it for some basic state. We'll do the | 230 // Scope the setup. We only use it for some basic state. We'll do the |
| 232 // "real" build below in the gen command. | 231 // "real" build below in the gen command. |
| 233 Setup setup; | 232 Setup setup; |
| 234 setup.build_settings().set_check_for_bad_items(false); | |
|
brettw
2016/11/11 18:21:49
This is the only non-introspection disabling of th
| |
| 235 // Don't fill build arguments. We're about to edit the file which supplies | 233 // Don't fill build arguments. We're about to edit the file which supplies |
| 236 // these in the first place. | 234 // these in the first place. |
| 237 setup.set_fill_arguments(false); | 235 setup.set_fill_arguments(false); |
| 238 if (!setup.DoSetup(build_dir, true)) | 236 if (!setup.DoSetup(build_dir, true)) |
| 239 return 1; | 237 return 1; |
| 240 | 238 |
| 241 // Ensure the file exists. Need to normalize path separators since on | 239 // Ensure the file exists. Need to normalize path separators since on |
| 242 // Windows they can come out as forward slashes here, and that confuses some | 240 // Windows they can come out as forward slashes here, and that confuses some |
| 243 // of the commands. | 241 // of the commands. |
| 244 base::FilePath arg_file = | 242 base::FilePath arg_file = |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 345 "Or see \"gn help args\" for more variants.").PrintToStdout(); | 343 "Or see \"gn help args\" for more variants.").PrintToStdout(); |
| 346 return 1; | 344 return 1; |
| 347 } | 345 } |
| 348 | 346 |
| 349 if (base::CommandLine::ForCurrentProcess()->HasSwitch(kSwitchList)) | 347 if (base::CommandLine::ForCurrentProcess()->HasSwitch(kSwitchList)) |
| 350 return ListArgs(args[0]); | 348 return ListArgs(args[0]); |
| 351 return EditArgsFile(args[0]); | 349 return EditArgsFile(args[0]); |
| 352 } | 350 } |
| 353 | 351 |
| 354 } // namespace commands | 352 } // namespace commands |
| OLD | NEW |