[Binary Size] Add multi-.mapping file support to binary_size recipe module.

This CL updates the binary_size recipe module so multiple .mapping files
can be specified and passed to generate_commit_size_analysis.py.
Details:
* Add new repeated |mapping_names| field to binary_size recipe module
  properties .proto (in addition to |mapping_name|, now deprecated).
* Change BinarySizeApi to store a list of .mapping names, and pass the
  list as repeated arguments to generate_commit_size_analysis.py.
* Add BinarySizeApi.get_size_analysis_command() to render command for
  generate_commit_size_analysis.py, to remove duplicate code found in
  binary_size_generator_tot.py.
  * This allows BinarySizeApi to hide |_apk_name| and |_mapping_names|.

Bug: 1040645
Change-Id: Ic98e78fc4e8b8eab75d989f51fdc4eafd438f1aa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/build/+/2411127
Reviewed-by: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Samuel Huang <huangs@chromium.org>
4 files changed
tree: 82d4d0ed9791ab8e06541d33aa3d663614052c94
  1. infra/
  2. recipes/
  3. scripts/
  4. site_config/
  5. third_party/
  6. .gitattributes
  7. .gitignore
  8. .style.yapf
  9. .vpython
  10. .yapfignore
  11. codereview.settings
  12. CROS_OWNERS
  13. DEPS
  14. environment.cfg.py
  15. LICENSE
  16. OWNERS
  17. PRESUBMIT.py
  18. README.md
  19. WATCHLISTS
README.md

Recipes

If you're here to make a change to ‘recipes’ (the code located in scripts/slave/recipes*), please take a look at the README for more information pertaining to recipes.

Style

The preferred style is PEP8 with two-space indent; that is, the Chromium Python style. Functions use lowercase_with_underscores, with the exception of the special functions RunSteps and RunTests in recipes. Use yapf (git cl format --no-clang-format) to autoformat new code.