diff options
author | Mathew Inwood <mathewi@google.com> | 2018-10-17 10:28:31 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-10-17 10:28:31 -0700 |
commit | 964070be626f0503d0ce71b087d097217ebb5c21 (patch) | |
tree | 1b15589063e765d978317a1d2e71f51d558450c6 | |
parent | e885f35d0589df8cfa998aaf98db85013cfb5211 (diff) | |
parent | c948d1a10107a455253ae61198bd8a55f1203795 (diff) | |
download | build-964070be626f0503d0ce71b087d097217ebb5c21.tar.gz |
Merge "Write greylist annotation metadata to a csv file."
am: c948d1a101
Change-Id: Iec3c09d23ab8b5f3a925e778f1a8c89f36ce563c
-rw-r--r-- | core/config.mk | 1 | ||||
-rw-r--r-- | core/definitions.mk | 8 | ||||
-rw-r--r-- | core/java.mk | 5 | ||||
-rw-r--r-- | core/soong_java_prebuilt.mk | 3 |
4 files changed, 14 insertions, 3 deletions
diff --git a/core/config.mk b/core/config.mk index bf834b2b8c..44a24f1067 100644 --- a/core/config.mk +++ b/core/config.mk @@ -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_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_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 # them. See setup_one_odex.mk. diff --git a/core/definitions.mk b/core/definitions.mk index 5a14826e14..3538166d33 100644 --- a/core/definitions.mk +++ b/core/definitions.mk @@ -2708,12 +2708,20 @@ $(3): $(1) $(CLASS2GREYLIST) $(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST) --write-greylist $(3) \ --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): \ PRIVATE_WHITELIST_INPUTS := $$(PRIVATE_WHITELIST_INPUTS) $(2) $(INTERNAL_PLATFORM_HIDDENAPI_WHITELIST): \ PRIVATE_GREYLIST_INPUTS := $$(PRIVATE_GREYLIST_INPUTS) $(3) 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 endef diff --git a/core/java.mk b/core/java.mk index c015e4ac37..30571b7af9 100644 --- a/core/java.mk +++ b/core/java.mk @@ -77,6 +77,7 @@ java_source_list_file := $(intermediates.COMMON)/java-source-list hiddenapi_whitelist_txt := $(intermediates.COMMON)/hiddenapi/whitelist.txt hiddenapi_greylist_txt := $(intermediates.COMMON)/hiddenapi/greylist.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) # 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 # 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_pre_proguard_jar),$(hiddenapi_whitelist_txt),$(hiddenapi_greylist_txt),$(hiddenapi_darkgreylist_txt))) - LOCAL_INTERMEDIATE_TARGETS += $(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) $(hiddenapi_greylist_metadata_csv) $(eval $(call hiddenapi-copy-dex-files,$(built_dex_intermediate),$(built_dex_hiddenapi))) built_dex_copy_from := $(built_dex_hiddenapi) else # !is_boot_jar diff --git a/core/soong_java_prebuilt.mk b/core/soong_java_prebuilt.mk index 18a09fb878..20bfc662a3 100644 --- a/core/soong_java_prebuilt.mk +++ b/core/soong_java_prebuilt.mk @@ -22,6 +22,7 @@ common_javalib.jar := $(intermediates.COMMON)/javalib.jar hiddenapi_whitelist_txt := $(intermediates.COMMON)/hiddenapi/whitelist.txt hiddenapi_greylist_txt := $(intermediates.COMMON)/hiddenapi/greylist.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_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 # 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),$(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))) else # !is_boot_jar $(eval $(call copy-one-file,$(LOCAL_SOONG_DEX_JAR),$(common_javalib.jar))) |