Files
build/core/tasks/dex_preopt_check.mk
Jiakai Zhang 500671f61c Add a doc about dex_preopt_check.
The doc lists some possible causes of a `dex_preopt_check` error, which
can be useful for developers to understand how to debug the error.

Bug: 232542678
Test: m nothing
Change-Id: I2e9868a6a470e41e8c3743c045e0cf4cf7367efa
2022-05-20 16:21:46 +01:00

20 lines
979 B
Makefile

# Checks that some critical dexpreopt output files are installed.
# Inputs:
# DISABLE_DEXPREOPT_CHECK: True if the check should be disabled.
# PRODUCT_PACKAGES: The list of packages to be installed for the product.
# ALL_DEFAULT_INSTALLED_MODULES: The full list of modules going to be installed.
# DEXPREOPT_SYSTEMSERVER_ARTIFACTS: The list of compilation artifacts of system server jars, which
# is generated by Soong in dexpreopt_check.go.
ifneq (true,$(DISABLE_DEXPREOPT_CHECK))
# Skip the check if the system server is not installed for the product.
ifneq (,$(filter services,$(PRODUCT_PACKAGES)))
$(call maybe-print-list-and-error,\
$(filter-out $(ALL_DEFAULT_INSTALLED_MODULES),$(DEXPREOPT_SYSTEMSERVER_ARTIFACTS)),\
Missing compilation artifacts. Dexpreopting is not working for some system server jars. See \
https://cs.android.com/android/platform/superproject/+/master:build/make/core/tasks/README.dex_preopt_check.md \
)
endif
endif