Merge "Write greylist annotation metadata to a csv file."
This commit is contained in:
commit
c948d1a101
4 changed files with 14 additions and 3 deletions
|
@ -1168,6 +1168,7 @@ INTERNAL_PLATFORM_HIDDENAPI_WHITELIST := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACK
|
||||||
INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/hiddenapi-light-greylist.txt
|
INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/hiddenapi-light-greylist.txt
|
||||||
INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/hiddenapi-dark-greylist.txt
|
INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/hiddenapi-dark-greylist.txt
|
||||||
INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/hiddenapi-blacklist.txt
|
INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/hiddenapi-blacklist.txt
|
||||||
|
INTERNAL_PLATFORM_HIDDENAPI_GREYLIST_METADATA := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/hiddenapi-greylist.csv
|
||||||
|
|
||||||
# Missing optional uses-libraries so that the platform doesn't create build rules that depend on
|
# Missing optional uses-libraries so that the platform doesn't create build rules that depend on
|
||||||
# them. See setup_one_odex.mk.
|
# them. See setup_one_odex.mk.
|
||||||
|
|
|
@ -2708,12 +2708,20 @@ $(3): $(1) $(CLASS2GREYLIST) $(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST)
|
||||||
--write-greylist $(3) \
|
--write-greylist $(3) \
|
||||||
--write-greylist 26,28:$(4)
|
--write-greylist 26,28:$(4)
|
||||||
|
|
||||||
|
$(5): $(1) $(CLASS2GREYLIST) $(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST)
|
||||||
|
$(CLASS2GREYLIST) --public-api-list $(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST) $(1) \
|
||||||
|
--write-metadata-csv $(5)
|
||||||
|
|
||||||
$(INTERNAL_PLATFORM_HIDDENAPI_WHITELIST): $(2) $(3) $(4)
|
$(INTERNAL_PLATFORM_HIDDENAPI_WHITELIST): $(2) $(3) $(4)
|
||||||
$(INTERNAL_PLATFORM_HIDDENAPI_WHITELIST): \
|
$(INTERNAL_PLATFORM_HIDDENAPI_WHITELIST): \
|
||||||
PRIVATE_WHITELIST_INPUTS := $$(PRIVATE_WHITELIST_INPUTS) $(2)
|
PRIVATE_WHITELIST_INPUTS := $$(PRIVATE_WHITELIST_INPUTS) $(2)
|
||||||
$(INTERNAL_PLATFORM_HIDDENAPI_WHITELIST): \
|
$(INTERNAL_PLATFORM_HIDDENAPI_WHITELIST): \
|
||||||
PRIVATE_GREYLIST_INPUTS := $$(PRIVATE_GREYLIST_INPUTS) $(3)
|
PRIVATE_GREYLIST_INPUTS := $$(PRIVATE_GREYLIST_INPUTS) $(3)
|
||||||
PRIVATE_DARKGREYLIST_INPUTS := $$(PRIVATE_DARKGREYLIST_INPUTS) $(4)
|
PRIVATE_DARKGREYLIST_INPUTS := $$(PRIVATE_DARKGREYLIST_INPUTS) $(4)
|
||||||
|
$(INTERNAL_PLATFORM_HIDDENAPI_GREYLIST_METADATA): $(5)
|
||||||
|
$(INTERNAL_PLATFORM_HIDDENAPI_GREYLIST_METADATA): \
|
||||||
|
PRIVATE_METADATA_INPUTS := $$(PRIVATE_METADATA_INPUTS) $(5)
|
||||||
|
|
||||||
endif
|
endif
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
|
@ -77,6 +77,7 @@ java_source_list_file := $(intermediates.COMMON)/java-source-list
|
||||||
hiddenapi_whitelist_txt := $(intermediates.COMMON)/hiddenapi/whitelist.txt
|
hiddenapi_whitelist_txt := $(intermediates.COMMON)/hiddenapi/whitelist.txt
|
||||||
hiddenapi_greylist_txt := $(intermediates.COMMON)/hiddenapi/greylist.txt
|
hiddenapi_greylist_txt := $(intermediates.COMMON)/hiddenapi/greylist.txt
|
||||||
hiddenapi_darkgreylist_txt := $(intermediates.COMMON)/hiddenapi/darkgreylist.txt
|
hiddenapi_darkgreylist_txt := $(intermediates.COMMON)/hiddenapi/darkgreylist.txt
|
||||||
|
hiddenapi_greylist_metadata_csv := $(intermediates.COMMON)/hiddenapi/greylist.csv
|
||||||
|
|
||||||
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)
|
||||||
# If this is an apk without any Java code (e.g. framework-res), we should skip compiling Java.
|
# If this is an apk without any Java code (e.g. framework-res), we should skip compiling Java.
|
||||||
|
@ -507,8 +508,8 @@ ifneq ($(filter $(LOCAL_MODULE),$(PRODUCT_BOOT_JARS)),) # is_boot_jar
|
||||||
# dex later on. The difference is academic currently, as we don't proguard any
|
# 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
|
# bootclasspath code at the moment. If we were to do that, we should add keep
|
||||||
# rules for all members with the @UnsupportedAppUsage annotation.
|
# rules for all members with the @UnsupportedAppUsage annotation.
|
||||||
$(eval $(call hiddenapi-generate-greylist-txt, $(full_classes_pre_proguard_jar),$(hiddenapi_whitelist_txt),$(hiddenapi_greylist_txt),$(hiddenapi_darkgreylist_txt)))
|
$(eval $(call hiddenapi-generate-greylist-txt, $(full_classes_pre_proguard_jar),$(hiddenapi_whitelist_txt),$(hiddenapi_greylist_txt),$(hiddenapi_darkgreylist_txt),$(hiddenapi_greylist_metadata_csv)))
|
||||||
LOCAL_INTERMEDIATE_TARGETS += $(hiddenapi_whitelist_txt) $(hiddenapi_greylist_txt) $(hiddenapi_darkgreylist_txt)
|
LOCAL_INTERMEDIATE_TARGETS += $(hiddenapi_whitelist_txt) $(hiddenapi_greylist_txt) $(hiddenapi_darkgreylist_txt) $(hiddenapi_greylist_metadata_csv)
|
||||||
$(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
|
||||||
|
|
|
@ -22,6 +22,7 @@ common_javalib.jar := $(intermediates.COMMON)/javalib.jar
|
||||||
hiddenapi_whitelist_txt := $(intermediates.COMMON)/hiddenapi/whitelist.txt
|
hiddenapi_whitelist_txt := $(intermediates.COMMON)/hiddenapi/whitelist.txt
|
||||||
hiddenapi_greylist_txt := $(intermediates.COMMON)/hiddenapi/greylist.txt
|
hiddenapi_greylist_txt := $(intermediates.COMMON)/hiddenapi/greylist.txt
|
||||||
hiddenapi_darkgreylist_txt := $(intermediates.COMMON)/hiddenapi/darkgreylist.txt
|
hiddenapi_darkgreylist_txt := $(intermediates.COMMON)/hiddenapi/darkgreylist.txt
|
||||||
|
hiddenapi_greylist_metadata_csv := $(intermediates.COMMON)/hiddenapi/greylist.csv
|
||||||
|
|
||||||
$(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)))
|
||||||
|
@ -79,7 +80,7 @@ ifdef LOCAL_SOONG_DEX_JAR
|
||||||
# We use full_classes_jar here, which is the post-proguard jar (on the basis that we also
|
# 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
|
# have a full_classes_pre_proguard_jar). This is consistent with the equivalent code in
|
||||||
# java.mk.
|
# java.mk.
|
||||||
$(eval $(call hiddenapi-generate-greylist-txt,$(full_classes_jar),$(hiddenapi_whitelist_txt),$(hiddenapi_greylist_txt),$(hiddenapi_darkgreylist_txt)))
|
$(eval $(call hiddenapi-generate-greylist-txt,$(full_classes_jar),$(hiddenapi_whitelist_txt),$(hiddenapi_greylist_txt),$(hiddenapi_darkgreylist_txt),$(hiddenapi_greylist_metadata_csv)))
|
||||||
$(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 a new issue