Commit 7188b036 authored by dpapad's avatar dpapad Committed by Commit Bot

WebUI: Allow passing generated files as |input_files| to generate_grd().

Before this CL, the only way to include generated files
in a generated grd file was to use |manifest_files| as input to
generated_grd(), forcing us to use preprocess_grit() even when not
necessary. With this CL, |input_files| can hold generated files
directly.

Bug: 1132403
Change-Id: I6f71458387b3c3cb2284019787f8836326c31b7e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2537595
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Auto-Submit: dpapad <dpapad@chromium.org>
Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#827408}
parent 817e4890
......@@ -147,11 +147,19 @@ def main(argv):
if args.input_files != None:
assert(args.input_files_base_dir)
args.input_files_base_dir = args.input_files_base_dir.replace('\\', '/')
args.root_gen_dir = args.root_gen_dir.replace('\\', '/')
# Detect whether the input files reside under $root_src_dir or
# $root_gen_dir.
base_dir = os.path.join('${root_src_dir}', args.input_files_base_dir)
if args.input_files_base_dir.startswith(args.root_gen_dir + '/'):
base_dir = args.input_files_base_dir.replace(args.root_gen_dir + '/', '${root_gen_dir}/')
for filename in args.input_files:
filepath = os.path.join(
args.input_files_base_dir, filename).replace('\\', '/')
filepath = os.path.join(base_dir, filename).replace('\\', '/')
grd_file.write(_generate_include_row(
args.grd_prefix, filename, '${root_src_dir}/' + filepath,
args.grd_prefix, filename, filepath,
resource_path_rewrites, args.resource_path_prefix))
if args.manifest_files != None:
......
......@@ -111,6 +111,15 @@ class GenerateGrdTest(unittest.TestCase):
input_files = [ 'images/test_svg.svg', 'test_html_in_src.html' ],
input_files_base_dir = 'test_src_dir')
def testSuccessWithGeneratedInputFiles(self):
# For generated |input_files|, |input_files_base_dir| must be a
# sub-directory of |root_gen_dir|.
base_dir = os.path.join(_CWD, pathToHere, 'tests', 'foo', 'bar')
self._run_test_(
'expected_grd_with_generated_input_files.grd',
input_files = [ 'baz/a.svg', 'b.svg' ],
input_files_base_dir = base_dir)
def testSuccessWithGrdpFiles(self):
self._run_test_(
EXPECTED_GRD_WITH_GRDP_FILES,
......
<?xml version="1.0" encoding="UTF-8"?>
<grit latest_public_release="0" current_release="1" output_all_resource_defines="false">
<outputs>
<output filename="grit/test_resources.h" type="rc_header">
<emit emit_type='prepend'></emit>
</output>
<output filename="grit/test_resources_map.cc"
type="resource_file_map_source" />
<output filename="grit/test_resources_map.h"
type="resource_map_header" />
<output filename="test_resources.pak" type="data_package" />
</outputs>
<release seq="1">
<includes>
<include name="IDR_TEST_BAZ_A_SVG" file="${root_gen_dir}/foo/bar/baz/a.svg" resource_path="baz/a.svg" use_base_dir="false" type="BINDATA" />
<include name="IDR_TEST_B_SVG" file="${root_gen_dir}/foo/bar/b.svg" resource_path="b.svg" use_base_dir="false" type="BINDATA" />
</includes>
</release>
</grit>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment