Commit eaac9a29 authored by Samuel Huang's avatar Samuel Huang Committed by Commit Bot

[Binary Size] Have generate_commit_size_analysis.py to take multiple .mapping files.

Building Trichrome results in multiple .mapping files. This CL changes
generate_commit_size_analysis.py to take multiple .mapping file inputs
using repeated --mapping-name arguments.

Bug: 1040645
Change-Id: If40081b50ac630504a85d3593de9631cb0977b18
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2401949Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Commit-Queue: Samuel Huang <huangs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#805560}
parent aacbc378
...@@ -21,15 +21,15 @@ _CLANG_UPDATE_PATH = os.path.join(_SRC_ROOT, 'tools', 'clang', 'scripts', ...@@ -21,15 +21,15 @@ _CLANG_UPDATE_PATH = os.path.join(_SRC_ROOT, 'tools', 'clang', 'scripts',
'update.py') 'update.py')
def extract_proguard_mapping(apk_name, mapping_name, staging_dir, def _extract_proguard_mapping(apk_name, mapping_name_list, staging_dir,
chromium_output_directory): chromium_output_directory):
"""Copies proguard mapping file to staging_dir""" """Copies proguard mapping files to staging_dir"""
for mapping_name in mapping_name_list:
mapping_path = os.path.join(chromium_output_directory, 'apks', mapping_name) mapping_path = os.path.join(chromium_output_directory, 'apks', mapping_name)
shutil.copy(mapping_path, os.path.join(staging_dir, apk_name + '.mapping')) shutil.copy(mapping_path, os.path.join(staging_dir, apk_name + '.mapping'))
def generate_resource_sizes(apk_name, staging_dir, chromium_output_directory): def _generate_resource_sizes(apk_name, staging_dir, chromium_output_directory):
"""Creates results-chart.json file in staging_dir""" """Creates results-chart.json file in staging_dir"""
apk_path = os.path.join(chromium_output_directory, 'apks', apk_name) apk_path = os.path.join(chromium_output_directory, 'apks', apk_name)
...@@ -47,7 +47,7 @@ def generate_resource_sizes(apk_name, staging_dir, chromium_output_directory): ...@@ -47,7 +47,7 @@ def generate_resource_sizes(apk_name, staging_dir, chromium_output_directory):
) )
def generate_supersize_archive(apk_name, staging_dir, def _generate_supersize_archive(apk_name, staging_dir,
chromium_output_directory): chromium_output_directory):
"""Creates a .size file for the given .apk or .minimal.apks""" """Creates a .size file for the given .apk or .minimal.apks"""
subprocess.run([_CLANG_UPDATE_PATH, '--package=objdump'], check=True) subprocess.run([_CLANG_UPDATE_PATH, '--package=objdump'], check=True)
...@@ -84,6 +84,7 @@ def main(): ...@@ -84,6 +84,7 @@ def main():
parser.add_argument( parser.add_argument(
'--mapping-name', '--mapping-name',
required=True, required=True,
action='append',
help='Filename of the proguard mapping file.', help='Filename of the proguard mapping file.',
) )
parser.add_argument( parser.add_argument(
...@@ -94,18 +95,18 @@ def main(): ...@@ -94,18 +95,18 @@ def main():
args = parser.parse_args() args = parser.parse_args()
extract_proguard_mapping( _extract_proguard_mapping(
args.apk_name, args.apk_name,
args.mapping_name, args.mapping_name,
args.staging_dir, args.staging_dir,
args.chromium_output_directory, args.chromium_output_directory,
) )
generate_resource_sizes( _generate_resource_sizes(
args.apk_name, args.apk_name,
args.staging_dir, args.staging_dir,
args.chromium_output_directory, args.chromium_output_directory,
) )
generate_supersize_archive( _generate_supersize_archive(
args.apk_name, args.apk_name,
args.staging_dir, args.staging_dir,
args.chromium_output_directory, args.chromium_output_directory,
......
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