summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjoi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-22 19:14:28 +0000
committerjoi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-22 19:14:28 +0000
commit13165805e647e8132beaeb87de5fe1e953b53a34 (patch)
treebb2a71d1a675dd500c135d6d5a5efc77b5ed22c6
parentb0871db910449db1f30d3b8f032fa972f18a7a78 (diff)
downloadchromium_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
-rw-r--r--tools/grit/grit/grd_reader_unittest.py7
-rw-r--r--tools/grit/grit/node/misc.py4
-rw-r--r--tools/grit/grit/node/misc_unittest.py4
-rw-r--r--tools/grit/grit/testdata/resource_ids2
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],
},