Exempt some RROs from building against SDK

If an RRO is depending on the source module to import its resources,
this trips up the link check because the source module may not be
building against the SDK. Exempt these RROs from the rule.

Bug: 123510624
Test: m
Change-Id: Ie0e05ce6d31dd3a0eafb14ace426da2bc15fb740
This commit is contained in:
Anton Hansson
2019-01-29 15:01:06 +00:00
parent ad9ee4b504
commit 038177ba55
2 changed files with 9 additions and 6 deletions

View File

@@ -27,7 +27,11 @@ LOCAL_CERTIFICATE := platform
LOCAL_AAPT_FLAGS += --auto-add-overlay LOCAL_AAPT_FLAGS += --auto-add-overlay
LOCAL_RESOURCE_DIR := $(enforce_rro_source_overlays) LOCAL_RESOURCE_DIR := $(enforce_rro_source_overlays)
ifeq (framework-res__auto_generated_rro,$(enforce_rro_module)) ifneq (,$(LOCAL_RES_LIBRARIES))
# Technically we are linking against the app (if only to grab its resources),
# and because it's potentially not building against the SDK, we can't either.
LOCAL_PRIVATE_PLATFORM_APIS := true
else ifeq (framework-res__auto_generated_rro,$(enforce_rro_module))
LOCAL_PRIVATE_PLATFORM_APIS := true LOCAL_PRIVATE_PLATFORM_APIS := true
else else
LOCAL_SDK_VERSION := current LOCAL_SDK_VERSION := current

View File

@@ -25,9 +25,8 @@ ifdef BOARD_SYSTEMSDK_VERSIONS
ifneq (,$(filter JAVA_LIBRARIES APPS,$(LOCAL_MODULE_CLASS))) ifneq (,$(filter JAVA_LIBRARIES APPS,$(LOCAL_MODULE_CLASS)))
ifndef LOCAL_SDK_VERSION ifndef LOCAL_SDK_VERSION
ifeq ($(_is_vendor_app),true) ifeq ($(_is_vendor_app),true)
ifeq (,$(filter framework-res__auto_generated_rro,$(LOCAL_MODULE))) ifeq (,$(filter %__auto_generated_rro,$(LOCAL_MODULE)))
# Runtime resource overlay for framework-res is exempted from building # Runtime resource overlays are exempted from building against System SDK.
# against System SDK.
# TODO(b/35859726): remove this exception # TODO(b/35859726): remove this exception
LOCAL_SDK_VERSION := system_current LOCAL_SDK_VERSION := system_current
endif endif