Allow UnsupportedAppUsage annotations to be in separate target
Previously, all the UnsupportedAppUsage annotations were assumed to be in the same target as was used at runtime. e.g. frameworks, core-libart, etc. This change allows separate targets to be specified in the EXTRA_HIDDENAPI_JARS. It is needed to avoid maintaining local patches for those annotations in the libcore/ojluni/src/main/java code which comes from upstream OpenJDK. This was tested by making and then manually checking that the generated out/target/common/obj/PACKAGING/hiddenapi-light-greylist.txt was the same (after sorting) before and after this change. Test: see above Bug: 117818301 Change-Id: Icfadbe52601371f6a4cabef106750b16f6c6d4c8
This commit is contained in:
parent
a39bb7f23f
commit
79d8bf25ea
2 changed files with 14 additions and 0 deletions
|
@ -204,6 +204,11 @@ else
|
|||
JAVA_TMPDIR_ARG :=
|
||||
endif
|
||||
|
||||
# A list of the jars that provide information about usages of the hidden API.
|
||||
# The core-oj-hiddenapi provides information for the core-oj jar.
|
||||
HIDDENAPI_EXTRA_APP_USAGE_JARS := \
|
||||
core-oj-hiddenapi \
|
||||
|
||||
# Default to remove the org.apache.http.legacy from bootclasspath
|
||||
ifeq ($(REMOVE_OAHL_FROM_BCP),)
|
||||
REMOVE_OAHL_FROM_BCP := true
|
||||
|
|
|
@ -120,6 +120,15 @@ $(built_odex) : $(dir $(LOCAL_BUILT_MODULE))% : $(common_javalib.jar)
|
|||
|
||||
java-dex : $(LOCAL_BUILT_MODULE)
|
||||
else # LOCAL_UNINSTALLABLE_MODULE
|
||||
|
||||
ifneq ($(filter $(LOCAL_MODULE),$(HIDDENAPI_EXTRA_APP_USAGE_JARS)),)
|
||||
# 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),$(hiddenapi_whitelist_txt),$(hiddenapi_greylist_txt),$(hiddenapi_darkgreylist_txt),$(hiddenapi_greylist_metadata_csv)))
|
||||
endif
|
||||
|
||||
$(eval $(call copy-one-file,$(full_classes_jar),$(LOCAL_BUILT_MODULE)))
|
||||
$(eval $(call copy-one-file,$(LOCAL_SOONG_DEX_JAR),$(common_javalib.jar)))
|
||||
java-dex : $(common_javalib.jar)
|
||||
|
|
Loading…
Reference in a new issue