diff options
author | joi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-22 19:14:28 +0000 |
---|---|---|
committer | joi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-22 19:14:28 +0000 |
commit | 13165805e647e8132beaeb87de5fe1e953b53a34 (patch) | |
tree | bb2a71d1a675dd500c135d6d5a5efc77b5ed22c6 /tools | |
parent | b0871db910449db1f30d3b8f032fa972f18a7a78 (diff) | |
download | chromium_src-13165805e647e8132beaeb87de5fe1e953b53a34.zip chromium_src-13165805e647e8132beaeb87de5fe1e953b53a34.tar.gz chromium_src-13165805e647e8132beaeb87de5fe1e953b53a34.tar.bz2 |
Allow non-absolute path for variables. This fixes grit to do variable
substitution in the resource_ids file correctly when it is invoked by
ninja (which uses a relative path for this, whereas our gyp-generated
make files use an absolute path).
BUG=97420
TEST=this builds: ninja -C out/Debug chrome_extra_resources
Review URL: http://codereview.chromium.org/7995013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102327 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools')
-rw-r--r-- | tools/grit/grit/grd_reader_unittest.py | 7 | ||||
-rw-r--r-- | tools/grit/grit/node/misc.py | 4 | ||||
-rw-r--r-- | tools/grit/grit/node/misc_unittest.py | 4 | ||||
-rw-r--r-- | tools/grit/grit/testdata/resource_ids | 2 |
4 files changed, 10 insertions, 7 deletions
diff --git a/tools/grit/grit/grd_reader_unittest.py b/tools/grit/grit/grd_reader_unittest.py index 050f877c..f922a97 100644 --- a/tools/grit/grit/grd_reader_unittest.py +++ b/tools/grit/grit/grd_reader_unittest.py @@ -146,9 +146,10 @@ class GrdReaderUnittest(unittest.TestCase): grit_root_dir = os.path.join(os.path.abspath(os.path.dirname(__file__)), '..') root.AssignFirstIds( - # This file does not actually exist, but the path must match - # the path of the resource_ids file as it has SRCDIR set to "." - os.path.join(grit_root_dir, "grit/testdata/test.grd"), + # This file does not actually exist, but must use absolute + # path as resource_ids has '' for SRCDIR (see special handling + # in grit.node.misc). + os.path.join(grit_root_dir, "/test.grd"), os.path.join(grit_root_dir, "grit/testdata/resource_ids"), {}) messages_node = root.children[0].children[0] diff --git a/tools/grit/grit/node/misc.py b/tools/grit/grit/node/misc.py index 46eae17..5bc34b4 100644 --- a/tools/grit/grit/node/misc.py +++ b/tools/grit/grit/node/misc.py @@ -34,11 +34,13 @@ def _ReadFirstIdsFromFile(filename, defines): # parameter of the .grd file rather than of the resource_ids file. src_root_dir = os.path.abspath(os.path.join(os.path.dirname(filename), first_ids_dict['SRCDIR'])) + # Special case for testing. + if first_ids_dict['SRCDIR'] == '': + src_root_dir = '' def ReplaceVariable(matchobj): for key, value in defines.iteritems(): if matchobj.group(1) == key: - value = os.path.join(src_root_dir, value) value = os.path.abspath(value)[len(src_root_dir) + 1:] return value return '' diff --git a/tools/grit/grit/node/misc_unittest.py b/tools/grit/grit/node/misc_unittest.py index 6e89465..855ff5b 100644 --- a/tools/grit/grit/node/misc_unittest.py +++ b/tools/grit/grit/node/misc_unittest.py @@ -35,8 +35,8 @@ class GritNodeUnittest(unittest.TestCase): src_dir, id_dict = misc._ReadFirstIdsFromFile( test_resource_ids, { - 'FOO': 'bar', - 'SHARED_INTERMEDIATE_DIR': 'out/Release/obj/gen', + 'FOO': '/bar', + 'SHARED_INTERMEDIATE_DIR': '/out/Release/obj/gen', }) self.assertEqual({}, id_dict.get('bar/file.grd', None)) self.assertEqual({}, diff --git a/tools/grit/grit/testdata/resource_ids b/tools/grit/grit/testdata/resource_ids index b230695..bd2db38 100644 --- a/tools/grit/grit/testdata/resource_ids +++ b/tools/grit/grit/testdata/resource_ids @@ -1,5 +1,5 @@ { - "SRCDIR": ".", + "SRCDIR": "", "test.grd": { "messages": [100, 10000], }, |