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

Side by Side Diff: tools/gn/function_process_file_template.cc

Issue 2481423002: Convert gn docstrings to C++11 raw strings. (Closed)
Patch Set: Fixes Created 4 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « tools/gn/function_get_target_outputs.cc ('k') | tools/gn/function_read_file.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "tools/gn/functions.h" 5 #include "tools/gn/functions.h"
6 #include "tools/gn/parse_tree.h" 6 #include "tools/gn/parse_tree.h"
7 #include "tools/gn/scope.h" 7 #include "tools/gn/scope.h"
8 #include "tools/gn/settings.h" 8 #include "tools/gn/settings.h"
9 #include "tools/gn/substitution_list.h" 9 #include "tools/gn/substitution_list.h"
10 #include "tools/gn/substitution_writer.h" 10 #include "tools/gn/substitution_writer.h"
11 #include "tools/gn/target.h" 11 #include "tools/gn/target.h"
12 #include "tools/gn/value_extractors.h" 12 #include "tools/gn/value_extractors.h"
13 13
14 namespace functions { 14 namespace functions {
15 15
16 const char kProcessFileTemplate[] = "process_file_template"; 16 const char kProcessFileTemplate[] = "process_file_template";
17 const char kProcessFileTemplate_HelpShort[] = 17 const char kProcessFileTemplate_HelpShort[] =
18 "process_file_template: Do template expansion over a list of files."; 18 "process_file_template: Do template expansion over a list of files.";
19 const char kProcessFileTemplate_Help[] = 19 const char kProcessFileTemplate_Help[] =
20 "process_file_template: Do template expansion over a list of files.\n" 20 R"(process_file_template: Do template expansion over a list of files.
21 "\n" 21
22 " process_file_template(source_list, template)\n" 22 process_file_template(source_list, template)
23 "\n" 23
24 " process_file_template applies a template list to a source file list,\n" 24 process_file_template applies a template list to a source file list,
25 " returning the result of applying each template to each source. This is\n" 25 returning the result of applying each template to each source. This is
26 " typically used for computing output file names from input files.\n" 26 typically used for computing output file names from input files.
27 "\n" 27
28 " In most cases, get_target_outputs() will give the same result with\n" 28 In most cases, get_target_outputs() will give the same result with shorter,
29 " shorter, more maintainable code. This function should only be used\n" 29 more maintainable code. This function should only be used when that function
30 " when that function can't be used (like there's no target or the target\n" 30 can't be used (like there's no target or the target is defined in another
31 " is defined in another build file).\n" 31 build file).
32 "\n" 32
33 "Arguments:\n" 33 Arguments
34 "\n" 34
35 " The source_list is a list of file names.\n" 35 The source_list is a list of file names.
36 "\n" 36
37 " The template can be a string or a list. If it is a list, multiple\n" 37 The template can be a string or a list. If it is a list, multiple output
38 " output strings are generated for each input.\n" 38 strings are generated for each input.
39 "\n" 39
40 " The template should contain source expansions to which each name in\n" 40 The template should contain source expansions to which each name in the
41 " the source list is applied. See \"gn help source_expansion\".\n" 41 source list is applied. See "gn help source_expansion".
42 "\n" 42
43 "Example:\n" 43 Example
44 "\n" 44
45 " sources = [\n" 45 sources = [
46 " \"foo.idl\",\n" 46 "foo.idl",
47 " \"bar.idl\",\n" 47 "bar.idl",
48 " ]\n" 48 ]
49 " myoutputs = process_file_template(\n" 49 myoutputs = process_file_template(
50 " sources,\n" 50 sources,
51 " [ \"$target_gen_dir/{{source_name_part}}.cc\",\n" 51 [ "$target_gen_dir/{{source_name_part}}.cc",
52 " \"$target_gen_dir/{{source_name_part}}.h\" ])\n" 52 "$target_gen_dir/{{source_name_part}}.h" ])
53 "\n" 53
54 " The result in this case will be:\n" 54 The result in this case will be:
55 " [ \"//out/Debug/foo.cc\"\n" 55 [ "//out/Debug/foo.cc"
56 " \"//out/Debug/foo.h\"\n" 56 "//out/Debug/foo.h"
57 " \"//out/Debug/bar.cc\"\n" 57 "//out/Debug/bar.cc"
58 " \"//out/Debug/bar.h\" ]\n"; 58 "//out/Debug/bar.h" ]
59 )";
59 60
60 Value RunProcessFileTemplate(Scope* scope, 61 Value RunProcessFileTemplate(Scope* scope,
61 const FunctionCallNode* function, 62 const FunctionCallNode* function,
62 const std::vector<Value>& args, 63 const std::vector<Value>& args,
63 Err* err) { 64 Err* err) {
64 if (args.size() != 2) { 65 if (args.size() != 2) {
65 *err = Err(function->function(), "Expected two arguments"); 66 *err = Err(function->function(), "Expected two arguments");
66 return Value(); 67 return Value();
67 } 68 }
68 69
(...skipping 29 matching lines...) Expand all
98 // Convert the list of strings to the return Value. 99 // Convert the list of strings to the return Value.
99 Value ret(function, Value::LIST); 100 Value ret(function, Value::LIST);
100 ret.list_value().reserve(result_files.size()); 101 ret.list_value().reserve(result_files.size());
101 for (const auto& file : result_files) 102 for (const auto& file : result_files)
102 ret.list_value().push_back(Value(function, file)); 103 ret.list_value().push_back(Value(function, file));
103 104
104 return ret; 105 return ret;
105 } 106 }
106 107
107 } // namespace functions 108 } // namespace functions
OLDNEW
« no previous file with comments | « tools/gn/function_get_target_outputs.cc ('k') | tools/gn/function_read_file.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698