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

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

Issue 1563543002: Clarify docs on GN rebase_path. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | 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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include "tools/gn/build_settings.h" 7 #include "tools/gn/build_settings.h"
8 #include "tools/gn/filesystem_utils.h" 8 #include "tools/gn/filesystem_utils.h"
9 #include "tools/gn/functions.h" 9 #include "tools/gn/functions.h"
10 #include "tools/gn/parse_tree.h" 10 #include "tools/gn/parse_tree.h"
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 " current directory to be relative to the build directory (which will\n" 137 " current directory to be relative to the build directory (which will\n"
138 " be the current directory when executing scripts).\n" 138 " be the current directory when executing scripts).\n"
139 "\n" 139 "\n"
140 " If you want to convert a file path to be source-absolute (that is,\n" 140 " If you want to convert a file path to be source-absolute (that is,\n"
141 " beginning with a double slash like \"//foo/bar\"), you should use\n" 141 " beginning with a double slash like \"//foo/bar\"), you should use\n"
142 " the get_path_info() function. This function won't work because it will\n" 142 " the get_path_info() function. This function won't work because it will\n"
143 " always make relative paths, and it needs to support making paths\n" 143 " always make relative paths, and it needs to support making paths\n"
144 " relative to the source root, so can't also generate source-absolute\n" 144 " relative to the source root, so can't also generate source-absolute\n"
145 " paths without more special-cases.\n" 145 " paths without more special-cases.\n"
146 "\n" 146 "\n"
147 "Arguments:\n" 147 "Arguments\n"
148 "\n" 148 "\n"
149 " input\n" 149 " input\n"
150 " A string or list of strings representing file or directory names\n" 150 " A string or list of strings representing file or directory names\n"
151 " These can be relative paths (\"foo/bar.txt\"), system absolute\n" 151 " These can be relative paths (\"foo/bar.txt\"), system absolute\n"
152 " paths (\"/foo/bar.txt\"), or source absolute paths\n" 152 " paths (\"/foo/bar.txt\"), or source absolute paths\n"
153 " (\"//foo/bar.txt\").\n" 153 " (\"//foo/bar.txt\").\n"
154 "\n" 154 "\n"
155 " new_base\n" 155 " new_base\n"
156 " The directory to convert the paths to be relative to. This can be\n" 156 " The directory to convert the paths to be relative to. This can be\n"
157 " an absolute path or a relative path (which will be treated\n" 157 " an absolute path or a relative path (which will be treated\n"
(...skipping 10 matching lines...) Expand all
168 " relative to the current build file. Use \".\" (the default) to\n" 168 " relative to the current build file. Use \".\" (the default) to\n"
169 " convert paths from the current BUILD-file's directory.\n" 169 " convert paths from the current BUILD-file's directory.\n"
170 "\n" 170 "\n"
171 "Return value\n" 171 "Return value\n"
172 "\n" 172 "\n"
173 " The return value will be the same type as the input value (either a\n" 173 " The return value will be the same type as the input value (either a\n"
174 " string or a list of strings). All relative and source-absolute file\n" 174 " string or a list of strings). All relative and source-absolute file\n"
175 " names will be converted to be relative to the requested output\n" 175 " names will be converted to be relative to the requested output\n"
176 " System-absolute paths will be unchanged.\n" 176 " System-absolute paths will be unchanged.\n"
177 "\n" 177 "\n"
178 " Whether an output path will end in a slash will match whether the\n"
179 " corresponding input path ends in a slash. It will return \".\" or\n"
180 " \"./\" (depending on whether the input ends in a slash) to avoid\n"
181 " returning empty strings. This means if you want a root path\n"
182 " (\"//\" or \"/\") not ending in a slash, you can add a dot (\"//.\").\n"
183 "\n"
178 "Example\n" 184 "Example\n"
179 "\n" 185 "\n"
180 " # Convert a file in the current directory to be relative to the build\n" 186 " # Convert a file in the current directory to be relative to the build\n"
181 " # directory (the current dir when executing compilers and scripts).\n" 187 " # directory (the current dir when executing compilers and scripts).\n"
182 " foo = rebase_path(\"myfile.txt\", root_build_dir)\n" 188 " foo = rebase_path(\"myfile.txt\", root_build_dir)\n"
183 " # might produce \"../../project/myfile.txt\".\n" 189 " # might produce \"../../project/myfile.txt\".\n"
184 "\n" 190 "\n"
185 " # Convert a file to be system absolute:\n" 191 " # Convert a file to be system absolute:\n"
186 " foo = rebase_path(\"myfile.txt\")\n" 192 " foo = rebase_path(\"myfile.txt\")\n"
187 " # Might produce \"D:\\source\\project\\myfile.txt\" on Windows or\n" 193 " # Might produce \"D:\\source\\project\\myfile.txt\" on Windows or\n"
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 } 280 }
275 return result; 281 return result;
276 } 282 }
277 283
278 *err = Err(function->function(), 284 *err = Err(function->function(),
279 "rebase_path requires a list or a string."); 285 "rebase_path requires a list or a string.");
280 return result; 286 return result;
281 } 287 }
282 288
283 } // namespace functions 289 } // namespace functions
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698