Skip to content

Commit

Permalink
Revert "WebUI: Add support for producing/consuming grdp files in gene…
Browse files Browse the repository at this point in the history
…rate_grd.py"

This reverts commit 448e1b3.

Reason for revert: Breaks translation, crbug.com/1141934

Original change's description:
> WebUI: Add support for producing/consuming grdp files in generate_grd.py
>
> This will be leveraged in follow up CLs, to auto-generate parts of
> webui_resources.grd.
>
> Bug: 1132403
> Change-Id: I5bd5f8a411c2cbc1f023220a779d74be209e902c
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2489920
> Reviewed-by: Rebekah Potter <rbpotter@chromium.org>
> Commit-Queue: dpapad <dpapad@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#820148}

TBR=dpapad@chromium.org,rbpotter@chromium.org

Change-Id: Ie0e71ef0d9a7dd8bbe5c0da452692b3e9c3f96db
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1132403
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2495518
Reviewed-by: Krishna Govind <govind@chromium.org>
Commit-Queue: Krishna Govind <govind@chromium.org>
Cr-Commit-Position: refs/heads/master@{#820344}
  • Loading branch information
Krishna Govind authored and Commit Bot committed Oct 23, 2020
1 parent fe9fa99 commit 7c24564
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 117 deletions.
29 changes: 9 additions & 20 deletions ui/webui/resources/tools/generate_grd.gni
Original file line number Diff line number Diff line change
Expand Up @@ -10,29 +10,18 @@ template("generate_grd") {
deps = invoker.deps
}

inputs = []
inputs = invoker.manifest_files
outputs = [ invoker.out_grd ]

args = [
"--out-grd",
rebase_path(invoker.out_grd, root_build_dir),
"--grd-prefix",
invoker.grd_prefix,
"--root-gen-dir",
rebase_path(root_gen_dir, root_build_dir),
]

if (defined(invoker.manifest_files)) {
inputs += invoker.manifest_files
args += [ "--manifest-files" ] +
rebase_path(invoker.manifest_files, root_build_dir)
}

if (defined(invoker.grdp_files)) {
inputs += invoker.grdp_files
args +=
[ "--grdp-files" ] + rebase_path(invoker.grdp_files, root_build_dir)
}
"--out-grd",
rebase_path(invoker.out_grd, root_build_dir),
"--grd-prefix",
invoker.grd_prefix,
"--root-gen-dir",
rebase_path(root_gen_dir, root_build_dir),
"--manifest-files",
] + rebase_path(invoker.manifest_files, root_build_dir)

if (defined(invoker.input_files)) {
args += [
Expand Down
48 changes: 15 additions & 33 deletions ui/webui/resources/tools/generate_grd.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,6 @@
' </release>\n'\
'</grit>\n'

GRDP_BEGIN_TEMPLATE = '<?xml version="1.0" encoding="UTF-8"?>\n'\
'<grit-part>\n'
GRDP_END_TEMPLATE = '</grit-part>\n'

# Generates an <include .... /> row for the given file.
def _generate_include_row(grd_prefix, filename, pathname, \
Expand All @@ -93,31 +90,19 @@ def _generate_include_row(grd_prefix, filename, pathname, \
type=type)


def _generate_part_row(filename):
return ' <part file="%s" />\n' % filename


def main(argv):
parser = argparse.ArgumentParser()
parser.add_argument('--manifest-files', nargs="*")
parser.add_argument('--manifest-files', required=True, nargs="*")
parser.add_argument('--out-grd', required=True)
parser.add_argument('--grd-prefix', required=True)
parser.add_argument('--root-gen-dir', required=True)
parser.add_argument('--input-files', nargs="*")
parser.add_argument('--input-files-base-dir')
parser.add_argument('--grdp-files', nargs="*")
parser.add_argument('--resource-path-rewrites', nargs="*")
args = parser.parse_args(argv)

grd_file = open(os.path.normpath(os.path.join(_CWD, args.out_grd)), 'w')
begin_template = GRDP_BEGIN_TEMPLATE if args.out_grd.endswith('.grdp') else \
GRD_BEGIN_TEMPLATE
grd_file.write(begin_template.format(prefix=args.grd_prefix))

if args.grdp_files != None:
for grdp_file in args.grdp_files:
grdp_path = os.path.relpath(grdp_file, os.path.dirname(args.out_grd))
grd_file.write(_generate_part_row(grdp_path))
grd_file.write(GRD_BEGIN_TEMPLATE.format(prefix=args.grd_prefix))

resource_path_rewrites = {}
if args.resource_path_rewrites != None:
Expand All @@ -134,22 +119,19 @@ def main(argv):
args.grd_prefix, filename, '${root_src_dir}/' + filepath,
resource_path_rewrites))

if args.manifest_files != None:
for manifest_file in args.manifest_files:
manifest_path = os.path.normpath(os.path.join(_CWD, manifest_file))
with open(manifest_path, 'r') as f:
data = json.load(f)
base_dir= os.path.normpath(os.path.join(_CWD, data['base_dir']))
for filename in data['files']:
filepath = os.path.join(base_dir, filename).replace('\\', '/')
rebased_path = os.path.relpath(filepath, args.root_gen_dir)
grd_file.write(_generate_include_row(
args.grd_prefix, filename, '${root_gen_dir}/' + rebased_path,
resource_path_rewrites))

end_template = GRDP_END_TEMPLATE if args.out_grd.endswith('.grdp') else \
GRD_END_TEMPLATE
grd_file.write(end_template)
for manifest_file in args.manifest_files:
manifest_path = os.path.normpath(os.path.join(_CWD, manifest_file))
with open(manifest_path, 'r') as f:
data = json.load(f)
base_dir= os.path.normpath(os.path.join(_CWD, data['base_dir']))
for filename in data['files']:
filepath = os.path.join(base_dir, filename).replace('\\', '/')
rebased_path = os.path.relpath(filepath, args.root_gen_dir)
grd_file.write(_generate_include_row(
args.grd_prefix, filename, '${root_gen_dir}/' + rebased_path,
resource_path_rewrites))

grd_file.write(GRD_END_TEMPLATE)
return


Expand Down
57 changes: 17 additions & 40 deletions ui/webui/resources/tools/generate_grd_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

class GenerateGrdTest(unittest.TestCase):
def setUp(self):
self._out_folder = tempfile.mkdtemp(dir=_HERE_DIR)
self._out_folder = None

def tearDown(self):
shutil.rmtree(self._out_folder)
Expand All @@ -26,84 +26,61 @@ def _read_out_file(self, file_name):
assert self._out_folder
return open(os.path.join(self._out_folder, file_name), 'rb').read()

def _run_test_(self, grd_expected,
out_grd='test_resources.grd',
manifest_files=None, input_files=None,
input_files_base_dir=None, grdp_files=None,
resource_path_rewrites=None):
def _run_test_(self, grd_expected, manifest_files, input_files=None,
input_files_base_dir=None, resource_path_rewrites=None):
assert not self._out_folder
self._out_folder = tempfile.mkdtemp(dir=_HERE_DIR)
args = [
'--out-grd', os.path.join(self._out_folder, out_grd),
'--out-grd', os.path.join(self._out_folder, 'test_resources.grd'),
'--grd-prefix', 'test',
'--root-gen-dir', os.path.join(_CWD, pathToHere, 'tests'),
]

if manifest_files != None:
args += [
'--manifest-files',
] + manifest_files

if grdp_files != None:
args += [
'--grdp-files',
] + grdp_files
'--manifest-files',
] + manifest_files

if (input_files_base_dir):
args += [
'--input-files-base-dir',
input_files_base_dir,
'--input-files',
] + input_files
]
args += input_files

if (resource_path_rewrites):
args += [ '--resource-path-rewrites' ] + resource_path_rewrites

generate_grd.main(args)

actual_grd = self._read_out_file(out_grd)
actual_grd = self._read_out_file('test_resources.grd')
expected_grd = open(
os.path.join(_HERE_DIR, 'tests', grd_expected), 'rb').read()
self.assertEquals(expected_grd, actual_grd)

def testSuccess(self):
self._run_test_(
'expected_grd.grd',
manifest_files = [
[
os.path.join(pathToHere, 'tests', 'test_manifest_1.json'),
os.path.join(pathToHere, 'tests', 'test_manifest_2.json'),
])

def testSuccessWithInputFiles(self):
self._run_test_(
'expected_grd_with_input_files.grd',
manifest_files = [
[
os.path.join(pathToHere, 'tests', 'test_manifest_1.json'),
os.path.join(pathToHere, 'tests', 'test_manifest_2.json'),
],
input_files = [ 'images/test_svg.svg', 'test_html_in_src.html' ],
input_files_base_dir = 'test_src_dir')

def testSuccessWithGrdpFiles(self):
self._run_test_(
'expected_grd_with_grdp_files.grd',
grdp_files = [
os.path.join(self._out_folder, 'foo_resources.grdp'),
os.path.join(self._out_folder, 'foo', 'bar_resources.grdp'),
])

def testSuccessGrdpWithInputFiles(self):
self._run_test_(
'expected_grdp_with_input_files.grdp',
out_grd = 'test_resources.grdp',
input_files = [ 'images/test_svg.svg', 'test_html_in_src.html' ],
input_files_base_dir = 'test_src_dir')
[ 'images/test_svg.svg', 'test_html_in_src.html' ],
'test_src_dir')

def testSuccessWithRewrites(self):
self._run_test_(
'expected_grd_with_rewrites.grd',
manifest_files = [
[
os.path.join(pathToHere, 'tests', 'test_manifest_1.json'),
os.path.join(pathToHere, 'tests', 'test_manifest_2.json'),
],
input_files=None, input_files_base_dir=None,
resource_path_rewrites=[
'test.rollup.js|test.js',
'dir/another_element_in_dir.js|dir2/another_element_in_dir_renamed.js',
Expand Down
19 changes: 0 additions & 19 deletions ui/webui/resources/tools/tests/expected_grd_with_grdp_files.grd

This file was deleted.

This file was deleted.

0 comments on commit 7c24564

Please sign in to comment.