diff options
author | Zeno Albisser <zeno.albisser@digia.com> | 2013-07-24 15:54:50 +0200 |
---|---|---|
committer | Andras Becsi <andras.becsi@digia.com> | 2014-06-04 18:20:22 +0200 |
commit | b56f41fca47b4276ce56495469657128958d2f55 (patch) | |
tree | 8953a70ec347421ab1810d37b519374c1f224f92 | |
parent | 43923809b83f3b6919f346cdaffd37c608971252 (diff) |
<tools/grit> GRIT: Allow grd files outside of chromium source dir.
When replacing substrings with values from a dictionary,
the replacements should not be truncated to the length of src_root_dir.
If the basename does not exist as a key in the resource_ids file,
then fall back to an absolute path.
The precedence is like:
file in chromium > file basename > absolute file name.
THIS SHOULD BE UPSTREAMABLE.
Change-Id: I7d1da8c04515807000742aac4a6fa4db7616fd13
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
-rwxr-xr-x | chromium/tools/grit/grit/node/misc.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/chromium/tools/grit/grit/node/misc.py b/chromium/tools/grit/grit/node/misc.py index 345081f5a26..3daf89cfbae 100755 --- a/chromium/tools/grit/grit/node/misc.py +++ b/chromium/tools/grit/grit/node/misc.py @@ -49,6 +49,7 @@ def _ReadFirstIdsFromFile(filename, defines): def ReplaceVariable(matchobj): for key, value in defines.iteritems(): if matchobj.group(1) == key: + value = os.path.abspath(value) return value return '' @@ -431,6 +432,11 @@ class GritNode(base.Node): abs_filename = os.path.abspath(filename_or_stream) if abs_filename[:len(src_root_dir)] != src_root_dir: filename = os.path.basename(filename_or_stream) + # If the file is not within src_root_dir and the basename is not + # found as a key, fall back to using the absolute file name. + if not filename in first_ids: + filename = abs_filename + filename = filename.replace('\\', '/') else: filename = abs_filename[len(src_root_dir) + 1:] filename = filename.replace('\\', '/') |