Workaround for existing packages check failure when the `generic`

product is used with ART prebuilts.

The prebuilt packages in packages/modules/ArtPrebuilt don't get
Android.mk entries in the `generic` product (as opposed to e.g.
`aosp_arm`), so the enforce-product-packages-exist check fails there.

Exclude the ART APEX modules from the check as a workaround. It's also
necessary to remove the check for superfluous allow list entries, since
which modules are actually missing depends on many other variables (see
runtime_libart.mk).

Test: m nothing TARGET_PRODUCT=generic \
      SOONG_CONFIG_art_module_source_build=false
Bug: 172480615
Bug: 182105280
Change-Id: Id67278615f3e7c64c7658bbf1b2aa71ed6b381da
This commit is contained in:
Martin Stjernholm 2021-03-06 23:25:54 +00:00
parent d534e22d10
commit e564ec3502
2 changed files with 10 additions and 2 deletions

View File

@ -1258,8 +1258,10 @@ ifdef FULL_BUILD
$(if $(or $(ALL_MODULES.$(m).PATH),$(call get-modules-for-2nd-arch,TARGET,$(m))),,$(m)))
$(call maybe-print-list-and-error,$(filter-out $(_allow_list),$(_nonexistent_modules)),\
$(INTERNAL_PRODUCT) includes non-existent modules in PRODUCT_PACKAGES)
$(call maybe-print-list-and-error,$(filter-out $(_nonexistent_modules),$(_allow_list)),\
$(INTERNAL_PRODUCT) includes redundant allow list entries for non-existent PRODUCT_PACKAGES)
# TODO(b/182105280): Consider re-enabling this check when the ART modules
# have been cleaned up from the allowed_list in target/product/generic.mk.
#$(call maybe-print-list-and-error,$(filter-out $(_nonexistent_modules),$(_allow_list)),\
# $(INTERNAL_PRODUCT) includes redundant allow list entries for non-existent PRODUCT_PACKAGES)
endif
# Check to ensure that all modules in PRODUCT_HOST_PACKAGES exist

View File

@ -29,4 +29,10 @@ PRODUCT_DEVICE := generic
PRODUCT_NAME := generic
allowed_list := product_manifest.xml
# TODO(b/182105280): When ART prebuilts are used in this product, Soong doesn't
# produce any Android.mk entries for them. Exclude them until that problem is
# fixed.
allowed_list += com.android.art com.android.art.debug
$(call enforce-product-packages-exist,$(allowed_list))