| Index: tools/resources/generate_resource_whitelist.py
|
| diff --git a/tools/resources/generate_resource_whitelist.py b/tools/resources/generate_resource_whitelist.py
|
| index 527ceb484158c9fcf32cb5d9dc34e7561d7471d9..c4431d687aed957532463d6d680488bc7128cc2e 100755
|
| --- a/tools/resources/generate_resource_whitelist.py
|
| +++ b/tools/resources/generate_resource_whitelist.py
|
| @@ -55,6 +55,22 @@ def _FindResourceIds(header, resource_names):
|
| return set(res_ids)
|
|
|
|
|
| +# TODO(estevenson): Remove this after updating official build scripts.
|
| +def _GetResourceIdsInPragmaWarnings(input):
|
| + """Returns set of resource ids that are inside unknown pragma warnings
|
| + for the given input.
|
| + """
|
| + used_resources = set()
|
| + unknown_pragma_warning_pattern = re.compile(
|
| + 'whitelisted_resource_(?P<resource_id>[0-9]+)')
|
| + for ln in input:
|
| + match = unknown_pragma_warning_pattern.search(ln)
|
| + if match:
|
| + resource_id = int(match.group('resource_id'))
|
| + used_resources.add(resource_id)
|
| + return used_resources
|
| +
|
| +
|
| def main():
|
| parser = argparse.ArgumentParser(usage=USAGE)
|
| parser.add_argument(
|
| @@ -66,11 +82,18 @@ def main():
|
| parser.add_argument(
|
| '--out-dir', required=True,
|
| help='The out target directory, for example out/Release')
|
| + parser.add_argument(
|
| + '--use-existing-resource-ids', action='store_true', default=False,
|
| + help='Specifies that the input file already contains resource ids')
|
|
|
| args = parser.parse_args()
|
|
|
| used_resources = set()
|
| - used_resources.update([int(resource_id) for resource_id in args.input])
|
| + if args.use_existing_resource_ids:
|
| + used_resources.update([int(resource_id) for resource_id in args.input])
|
| + else:
|
| + used_resources.update(_GetResourceIdsInPragmaWarnings(args.input))
|
| +
|
| used_resources |= _FindResourceIds(
|
| os.path.join(args.out_dir, COMPONENTS_STRINGS_HEADER),
|
| ARCH_SPECIFIC_RESOURCES)
|
|
|