Allows skipping building the super images for partial builds.
Previously, setting PRODUCT_BUILD_SUPER_PARTITION to false for a partial
build (with PRODUCT_USE_DYNAMIC_PARTITIONS == true) would fail to
include necessary keys in misc_info.txt that are required when merging
two partial builds to create a dynamic-partition-enabled mixed build.
This change ensures these necessary keys are included even when
PRODUCT_BUILD_SUPER_PARTITION is false. Setting
PRODUCT_BUILD_SUPER_PARTITION to false causes partial builds to skip
building super.img and super_empty.img, instead relying on these images
to come from the final merged build.
Bug: 134764140
Test: Building & booting a dynamic-partition-enabled mixed build, and
inspecting partial builds' logs / out folder to ensure that
super.img/super_empty.img were not created.
Change-Id: I99431a9a342e9b0617510e250597f3024ef39322
diff --git a/tools/releasetools/merge_target_files.py b/tools/releasetools/merge_target_files.py
index f37c0ee..f0ae217 100755
--- a/tools/releasetools/merge_target_files.py
+++ b/tools/releasetools/merge_target_files.py
@@ -530,6 +530,10 @@
list_prefix='super_',
list_suffix='_partition_list')
merged_dict.update(merged_dynamic_partitions_dict)
+ # Ensure that add_img_to_target_files rebuilds super_empty.img. This flag
+ # may have been set to false in the partial builds to prevent duplicate
+ # building of super.img and super_empty.img.
+ merged_dict['build_super_partition'] = 'true'
# Replace <image>_selinux_fc values with framework or vendor file_contexts.bin
# depending on which dictionary the key came from.