Fix META/care_map.pb generation.

In https://r.android.com/1991151 we removed an extra call to
AddCareMapForAbOta() from generate_care_map(), since
AddCareMapForAbOta() is already called by add_img_to_target_files.

However, when add_img_to_target_files generated care_map.pb it
didn't have the proper partition *_image_size values set for
images copied directly from the input target files packages.
This was because the generate_care_map() function, which sets
those *_image_size values, was executed after add_img_to_target_files.

At best this meant that care_map.pb was missing some information.
At worst, care_map.pb is missing entirely (when all images are
copied instead of regenerated).

This change:
- Renames generate_care_map() to set_copied_image_size_props()
  and simplifies the logic a bit.
- Calls set_copied_image_size_props() before calling
  add_img_to_target_files. Now, add_img_to_target_files will
  have all necessary *_image_size values to perform the
  META/care_map.pb generation step.

Bug: 187432243
Bug: 221858722
Bug: 223198503
Test: Use to create a merged build that does not regenerate any images.
      Observe that META/care_map.pb is now generated as expected.
Change-Id: I1b3c8636be8cbe203222e60b1272a5e11f68589b
1 file changed
tree: eb932bb818adf24b576ea6ca18a3333dc8152b58
  1. common/
  2. core/
  3. packaging/
  4. target/
  5. tests/
  6. tools/
  7. .gitignore
  8. banchanHelp.sh
  9. buildspec.mk.default
  10. Changes.md
  11. CleanSpec.mk
  12. Deprecation.md
  13. envsetup.sh
  14. help.sh
  15. METADATA
  16. navbar.md
  17. OWNERS
  18. PREUPLOAD.cfg
  19. rbesetup.sh
  20. README.md
  21. tapasHelp.sh
  22. Usage.txt
README.md

Android Make Build System

This is the Makefile-based portion of the Android Build System.

For documentation on how to run a build, see Usage.txt

For a list of behavioral changes useful for Android.mk writers see Changes.md

For an outdated reference on Android.mk files, see build-system.html. Our Android.mk files look similar, but are entirely different from the Android.mk files used by the NDK build system. When searching for documentation elsewhere, ensure that it is for the platform build system -- most are not.

This Makefile-based system is in the process of being replaced with Soong, a new build system written in Go. During the transition, all of these makefiles are read by Kati, and generate a ninja file instead of being executed directly. That's combined with a ninja file read by Soong so that the build graph of the two systems can be combined and run as one.