Commit 4c1e90f6 authored by Mohamed Heikal's avatar Mohamed Heikal Committed by Commit Bot

Add dex classes to dex methods diff by android-binary-size trybot

This cl adds a new diff of class symbols in dex to the current diff of
method symbols.

Bug: 1012371
Change-Id: Ief062e055ad2eb96d22a4534fa4cfdfd8cbf8b3f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1869835
Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Auto-Submit: Mohamed Heikal <mheikal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#709640}
parent 809938a2
...@@ -114,12 +114,25 @@ Refer to Mutable Constants Diff for list of symbols. ...@@ -114,12 +114,25 @@ Refer to Mutable Constants Diff for list of symbols.
def _CreateMethodCountDelta(symbols): def _CreateMethodCountDelta(symbols):
symbols = symbols.WhereInSection(models.SECTION_DEX_METHOD) method_symbols = symbols.WhereInSection(models.SECTION_DEX_METHOD)
lines, net_added = _SymbolDiffHelper(symbols) method_lines, net_method_added = _SymbolDiffHelper(method_symbols)
details = 'Refer to Dex Method Diff for list of added/removed methods.' class_symbols = symbols.WhereInSection(
models.SECTION_DEX).WhereNameMatches('#').Inverted()
class_lines, _ = _SymbolDiffHelper(class_symbols)
details = (
'Refer to Dex Class and Method Diff for list of added/removed methods.')
lines = []
if class_lines:
lines.append('===== Classes Added & Removed =====')
lines.extend(class_lines)
lines.extend(['', '']) # empty lines added for clarity
if method_lines:
lines.append('===== Methods Added & Removed =====')
lines.extend(method_lines)
return lines, _SizeDelta('Dex Methods Count', 'methods', return lines, _SizeDelta('Dex Methods Count', 'methods',
_MAX_DEX_METHOD_COUNT_INCREASE, net_added, details) _MAX_DEX_METHOD_COUNT_INCREASE, net_method_added,
details)
def _CreateResourceSizesDelta(apk_name, before_dir, after_dir): def _CreateResourceSizesDelta(apk_name, before_dir, after_dir):
...@@ -291,7 +304,7 @@ PASSING: ...@@ -291,7 +304,7 @@ PASSING:
'lines': testing_symbols_lines, 'lines': testing_symbols_lines,
}, },
{ {
'name': '>>> Dex Method Diff <<<', 'name': '>>> Dex Class and Method Diff <<<',
'lines': dex_delta_lines, 'lines': dex_delta_lines,
}, },
{ {
...@@ -303,7 +316,7 @@ PASSING: ...@@ -303,7 +316,7 @@ PASSING:
'url': _HTML_REPORT_BASE_URL + '{{' + _NDJSON_FILENAME + '}}', 'url': _HTML_REPORT_BASE_URL + '{{' + _NDJSON_FILENAME + '}}',
}, },
] ]
# Remove empty diffs (Mutable Constants or Dex Method). # Remove empty diffs (Mutable Constants, Dex Method, ...).
links_json = [o for o in links_json if o.get('lines') or o.get('url')] links_json = [o for o in links_json if o.get('lines') or o.get('url')]
binary_size_listings = [] binary_size_listings = []
......
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