Merge "Build rules to derive greylists from annotations."
am: 48a7929962
Change-Id: I029776a9e31923b87e125ab0054b398d9c935bce
This commit is contained in:
commit
50f59655ba
|
@ -725,6 +725,7 @@ BRILLO_UPDATE_PAYLOAD := $(HOST_OUT_EXECUTABLES)/brillo_update_payload
|
||||||
DEXDUMP := $(HOST_OUT_EXECUTABLES)/dexdump2$(BUILD_EXECUTABLE_SUFFIX)
|
DEXDUMP := $(HOST_OUT_EXECUTABLES)/dexdump2$(BUILD_EXECUTABLE_SUFFIX)
|
||||||
PROFMAN := $(HOST_OUT_EXECUTABLES)/profman
|
PROFMAN := $(HOST_OUT_EXECUTABLES)/profman
|
||||||
HIDDENAPI := $(HOST_OUT_EXECUTABLES)/hiddenapi
|
HIDDENAPI := $(HOST_OUT_EXECUTABLES)/hiddenapi
|
||||||
|
CLASS2GREYLIST := $(HOST_OUT_EXECUTABLES)/class2greylist
|
||||||
|
|
||||||
FINDBUGS_DIR := external/owasp/sanitizer/tools/findbugs/bin
|
FINDBUGS_DIR := external/owasp/sanitizer/tools/findbugs/bin
|
||||||
FINDBUGS := $(FINDBUGS_DIR)/findbugs
|
FINDBUGS := $(FINDBUGS_DIR)/findbugs
|
||||||
|
|
|
@ -2866,6 +2866,16 @@ $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST): \
|
||||||
PRIVATE_DEX_INPUTS := $$(PRIVATE_DEX_INPUTS) $(1)
|
PRIVATE_DEX_INPUTS := $$(PRIVATE_DEX_INPUTS) $(1)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
# Generate a greylist.txt from a classes.jar
|
||||||
|
define hiddenapi-generate-greylist-txt
|
||||||
|
$(2): $(1) $(CLASS2GREYLIST)
|
||||||
|
$(CLASS2GREYLIST) $(1) > $(2)
|
||||||
|
|
||||||
|
$(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST): $(2)
|
||||||
|
$(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST): \
|
||||||
|
PRIVATE_GREYLIST_INPUTS := $$(PRIVATE_GREYLIST_INPUTS) $(2)
|
||||||
|
endef
|
||||||
|
|
||||||
# File names for intermediate dex files of `hiddenapi-copy-soong-jar`.
|
# File names for intermediate dex files of `hiddenapi-copy-soong-jar`.
|
||||||
hiddenapi-soong-input-dex = $(dir $(1))/hiddenapi/dex-input/classes.dex
|
hiddenapi-soong-input-dex = $(dir $(1))/hiddenapi/dex-input/classes.dex
|
||||||
hiddenapi-soong-output-dex = $(dir $(1))/hiddenapi/dex-output/classes.dex
|
hiddenapi-soong-output-dex = $(dir $(1))/hiddenapi/dex-output/classes.dex
|
||||||
|
|
|
@ -79,6 +79,7 @@ built_dex_intermediate := $(intermediates.COMMON)/dex/classes.dex
|
||||||
built_dex_hiddenapi := $(intermediates.COMMON)/dex-hiddenapi/classes.dex
|
built_dex_hiddenapi := $(intermediates.COMMON)/dex-hiddenapi/classes.dex
|
||||||
full_classes_stubs_jar := $(intermediates.COMMON)/stubs.jar
|
full_classes_stubs_jar := $(intermediates.COMMON)/stubs.jar
|
||||||
java_source_list_file := $(intermediates.COMMON)/java-source-list
|
java_source_list_file := $(intermediates.COMMON)/java-source-list
|
||||||
|
greylist_txt := $(intermediates.COMMON)/greylist.txt
|
||||||
|
|
||||||
|
|
||||||
ifeq ($(LOCAL_MODULE_CLASS)$(LOCAL_SRC_FILES)$(LOCAL_STATIC_JAVA_LIBRARIES)$(LOCAL_SOURCE_FILES_ALL_GENERATED),APPS)
|
ifeq ($(LOCAL_MODULE_CLASS)$(LOCAL_SRC_FILES)$(LOCAL_STATIC_JAVA_LIBRARIES)$(LOCAL_SOURCE_FILES_ALL_GENERATED),APPS)
|
||||||
|
@ -535,6 +536,13 @@ $(built_dex_intermediate): $(full_classes_proguard_jar) $(DX) $(ZIP2ZIP)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(filter $(LOCAL_MODULE),$(PRODUCT_BOOT_JARS)),) # is_boot_jar
|
ifneq ($(filter $(LOCAL_MODULE),$(PRODUCT_BOOT_JARS)),) # is_boot_jar
|
||||||
|
# Derive API greylist from the classes jar.
|
||||||
|
# We use full_classes_proguard_jar here, as that is what is converted to dex
|
||||||
|
# later on. The difference is academic currently, as we don't proguard any
|
||||||
|
# bootclasspath code at the moment. If we were to do that, we should add keep
|
||||||
|
# rules for all members with the @UnsupportedAppUsage annotation.
|
||||||
|
$(eval $(call hiddenapi-generate-greylist-txt,$(full_classes_proguard_jar),$(greylist_txt)))
|
||||||
|
LOCAL_INTERMEDIATE_TARGETS += $(greylist_txt)
|
||||||
$(eval $(call hiddenapi-copy-dex-files,$(built_dex_intermediate),$(built_dex_hiddenapi)))
|
$(eval $(call hiddenapi-copy-dex-files,$(built_dex_intermediate),$(built_dex_hiddenapi)))
|
||||||
built_dex_copy_from := $(built_dex_hiddenapi)
|
built_dex_copy_from := $(built_dex_hiddenapi)
|
||||||
else # !is_boot_jar
|
else # !is_boot_jar
|
||||||
|
|
|
@ -19,6 +19,7 @@ full_classes_jar := $(intermediates.COMMON)/classes.jar
|
||||||
full_classes_pre_proguard_jar := $(intermediates.COMMON)/classes-pre-proguard.jar
|
full_classes_pre_proguard_jar := $(intermediates.COMMON)/classes-pre-proguard.jar
|
||||||
full_classes_header_jar := $(intermediates.COMMON)/classes-header.jar
|
full_classes_header_jar := $(intermediates.COMMON)/classes-header.jar
|
||||||
common_javalib.jar := $(intermediates.COMMON)/javalib.jar
|
common_javalib.jar := $(intermediates.COMMON)/javalib.jar
|
||||||
|
greylist_txt := $(intermediates.COMMON)/greylist.txt
|
||||||
|
|
||||||
$(eval $(call copy-one-file,$(LOCAL_PREBUILT_MODULE_FILE),$(full_classes_jar)))
|
$(eval $(call copy-one-file,$(LOCAL_PREBUILT_MODULE_FILE),$(full_classes_jar)))
|
||||||
$(eval $(call copy-one-file,$(LOCAL_PREBUILT_MODULE_FILE),$(full_classes_pre_proguard_jar)))
|
$(eval $(call copy-one-file,$(LOCAL_PREBUILT_MODULE_FILE),$(full_classes_pre_proguard_jar)))
|
||||||
|
@ -86,6 +87,11 @@ ifdef LOCAL_SOONG_DEX_JAR
|
||||||
ifneq ($(LOCAL_UNINSTALLABLE_MODULE),true)
|
ifneq ($(LOCAL_UNINSTALLABLE_MODULE),true)
|
||||||
ifndef LOCAL_IS_HOST_MODULE
|
ifndef LOCAL_IS_HOST_MODULE
|
||||||
ifneq ($(filter $(LOCAL_MODULE),$(PRODUCT_BOOT_JARS)),) # is_boot_jar
|
ifneq ($(filter $(LOCAL_MODULE),$(PRODUCT_BOOT_JARS)),) # is_boot_jar
|
||||||
|
# Derive greylist from classes.jar.
|
||||||
|
# We use full_classes_jar here, which is the post-proguard jar (on the basis that we also
|
||||||
|
# have a full_classes_pre_proguard_jar). This is consistent with the equivalent code in
|
||||||
|
# java.mk.
|
||||||
|
$(eval $(call hiddenapi-generate-greylist-txt,$(full_classes_jar),$(greylist_txt)))
|
||||||
$(eval $(call hiddenapi-copy-soong-jar,$(LOCAL_SOONG_DEX_JAR),$(common_javalib.jar)))
|
$(eval $(call hiddenapi-copy-soong-jar,$(LOCAL_SOONG_DEX_JAR),$(common_javalib.jar)))
|
||||||
else # !is_boot_jar
|
else # !is_boot_jar
|
||||||
$(eval $(call copy-one-file,$(LOCAL_SOONG_DEX_JAR),$(common_javalib.jar)))
|
$(eval $(call copy-one-file,$(LOCAL_SOONG_DEX_JAR),$(common_javalib.jar)))
|
||||||
|
|
Loading…
Reference in New Issue