summaryrefslogtreecommitdiff
path: root/Android.mk
diff options
context:
space:
mode:
authorDavid Brazdil <dbrazdil@google.com>2018-05-02 07:43:11 -0700
committerandroid-build-merger <android-build-merger@google.com>2018-05-02 07:43:11 -0700
commit0319384019eb2913cb43e709b90a552b490a957a (patch)
treea6de5b67494dcb0df1b0345ad56d1005b3ea9f18 /Android.mk
parentdf5c2acf867078df2af59e098fefb96b8a527dfe (diff)
parent0585533a85c2d366650f7be3fac10f1473806956 (diff)
Merge non-SDK @removed API and light greylist
am: 0585533a85 Change-Id: I3b052c65e23b813f96df9a8d28fe81961bf42a7f
Diffstat (limited to 'Android.mk')
-rw-r--r--Android.mk20
1 files changed, 14 insertions, 6 deletions
diff --git a/Android.mk b/Android.mk
index 5a2e79de52fc..c8e9048f9741 100644
--- a/Android.mk
+++ b/Android.mk
@@ -754,9 +754,16 @@ include $(BUILD_STATIC_JAVA_LIBRARY)
# rules for building them. Other rules in the build system should depend on the
# files in the build folder.
-# Automatically add all methods which match the following signatures.
-# These need to be greylisted in order to allow applications to write their
-# own serializers.
+# Merge light greylist from multiple files:
+# (1) manual light greylist
+# (2) list of usages from vendor apps
+# (3) list of removed APIs
+# @removed does not imply private in Doclava. We must take the subset also
+# in PRIVATE_API.
+# (4) list of serialization APIs
+# Automatically adds all methods which match the signatures in
+# REGEX_SERIALIZATION. These are greylisted in order to allow applications
+# to write their own serializers.
$(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST): REGEX_SERIALIZATION := \
"readObject\(Ljava/io/ObjectInputStream;\)V" \
"readObjectNoData\(\)V" \
@@ -766,14 +773,15 @@ $(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST): REGEX_SERIALIZATION := \
"writeObject\(Ljava/io/ObjectOutputStream;\)V" \
"writeReplace\(\)Ljava/lang/Object;"
$(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST): PRIVATE_API := $(INTERNAL_PLATFORM_PRIVATE_DEX_API_FILE)
-# Temporarily merge light greylist from two files. Vendor list will become dark
-# grey once we remove the UI toast.
+$(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST): REMOVED_API := $(INTERNAL_PLATFORM_REMOVED_DEX_API_FILE)
$(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST): frameworks/base/config/hiddenapi-light-greylist.txt \
frameworks/base/config/hiddenapi-vendor-list.txt \
- $(INTERNAL_PLATFORM_PRIVATE_DEX_API_FILE)
+ $(INTERNAL_PLATFORM_PRIVATE_DEX_API_FILE) \
+ $(INTERNAL_PLATFORM_REMOVED_DEX_API_FILE)
sort frameworks/base/config/hiddenapi-light-greylist.txt \
frameworks/base/config/hiddenapi-vendor-list.txt \
<(grep -E "\->("$(subst $(space),"|",$(REGEX_SERIALIZATION))")$$" $(PRIVATE_API)) \
+ <(comm -12 <(sort $(REMOVED_API)) <(sort $(PRIVATE_API))) \
> $@
$(eval $(call copy-one-file,frameworks/base/config/hiddenapi-dark-greylist.txt,\