Deprecate system server jars defined in Android.mk.

Add PRODUCT_BROKEN_DEPRECATED_MK_SYSTEM_SERVER_JARS variable that is
undefined by default. Setting that variable to true enables support for
system server jars defined in Android.mk. It should be enabled on a
per-product basis in product makefiles.

Bug: 203618671
Test: m nothing
Change-Id: If90d7131d37f308c468e395c236d5aa5ad053bad
This commit is contained in:
Ulya Trafimovich
2021-10-26 12:50:27 +01:00
parent 09f68abca7
commit 7693ec7e03
2 changed files with 11 additions and 0 deletions

View File

@@ -423,6 +423,15 @@ $(eval $(call copy-one-file,$(my_dexpreopt_config),$(my_dexpreopt_config_for_pos
$(LOCAL_INSTALLED_MODULE): $(my_dexpreopt_config_for_postprocessing)
# System server jars defined in Android.mk are deprecated.
ifneq (true, $(PRODUCT_BROKEN_DEPRECATED_MK_SYSTEM_SERVER_JARS))
ifneq (,$(filter %:$(LOCAL_MODULE), $(PRODUCT_SYSTEM_SERVER_JARS) $(PRODUCT_APEX_SYSTEM_SERVER_JARS)))
$(error System server jars defined in Android.mk are deprecated. \
Convert $(LOCAL_MODULE) to Android.bp or temporarily disable the error \
with 'PRODUCT_BROKEN_DEPRECATED_MK_SYSTEM_SERVER_JARS := true')
endif
endif
ifdef LOCAL_DEX_PREOPT
# System server jars must be copied into predefined locations expected by
# dexpreopt. Copy rule must be exposed to Ninja (as it uses these files as

View File

@@ -237,6 +237,8 @@ _product_list_vars += PRODUCT_SYSTEM_SERVER_JARS
_product_list_vars += PRODUCT_APEX_SYSTEM_SERVER_JARS
# If true, then suboptimal order of system server jars does not cause an error.
_product_single_value_vars += PRODUCT_BROKEN_SUBOPTIMAL_ORDER_OF_SYSTEM_SERVER_JARS
# If true, then system server jars defined in Android.mk are supported.
_product_single_value_vars += PRODUCT_BROKEN_DEPRECATED_MK_SYSTEM_SERVER_JARS
# Additional system server jars to be appended at the end of the common list.
# This is necessary to avoid jars reordering due to makefile inheritance order.