summaryrefslogtreecommitdiff
path: root/Android.mk
diff options
context:
space:
mode:
authorDavid Brazdil <dbrazdil@google.com>2018-10-30 18:21:24 +0000
committerDavid Brazdil <dbrazdil@google.com>2018-11-29 15:43:01 +0000
commit89bf0f28bf8dfe728083913f641202f103af9bf6 (patch)
treec90fde6bc79ceb1dd0cce4dbb54c9f49fd524cc2 /Android.mk
parent74c171b4daa481301152f268e2f7cbdd7960b325 (diff)
Turn hidden API lists into a single CSV
Maintaining multiple text files has become too cumbersome as adding each new category of API requires changes across many projects. This patch changes generate_hiddenapi_lists.py to produce a single CSV file in the format: <api_signature>,<flag1>,...,<flagN> It can accept legacy API list files as input (for existing frameworks/base/config/hiddenapi-*.txt files) as well as per-package CSVs produced by class2greylist. Test: m, check lists have not changed Test: phone boots Test: tools/hiddenapi/generate_hiddenapi_lists_test.py Change-Id: Iebcef426ec93ea1d72b662bbff91d4e068fa0a70
Diffstat (limited to 'Android.mk')
-rw-r--r--Android.mk46
1 files changed, 14 insertions, 32 deletions
diff --git a/Android.mk b/Android.mk
index 770ec20f151e..b7dda9a45ed8 100644
--- a/Android.mk
+++ b/Android.mk
@@ -73,55 +73,37 @@ $(OUT_DOCS)/offline-sdk-timestamp: $(OUT_DOCS)/offline-sdk-docs-docs.zip
( unzip -qo $< -d $(OUT_DOCS)/offline-sdk && touch -f $@ ) || exit 1
# ==== hiddenapi lists =======================================
-.KATI_RESTAT: \
- $(INTERNAL_PLATFORM_HIDDENAPI_WHITELIST) \
- $(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST) \
- $(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST) \
- $(INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST)
-$(INTERNAL_PLATFORM_HIDDENAPI_WHITELIST): \
- .KATI_IMPLICIT_OUTPUTS := \
- $(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST) \
- $(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST) \
- $(INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST)
-$(INTERNAL_PLATFORM_HIDDENAPI_WHITELIST): \
+.KATI_RESTAT: $(INTERNAL_PLATFORM_HIDDENAPI_FLAGS)
+$(INTERNAL_PLATFORM_HIDDENAPI_FLAGS): \
frameworks/base/tools/hiddenapi/generate_hiddenapi_lists.py \
frameworks/base/config/hiddenapi-light-greylist.txt \
frameworks/base/config/hiddenapi-vendor-list.txt \
+ frameworks/base/config/hiddenapi-greylist-max-o.txt \
frameworks/base/config/hiddenapi-max-sdk-p-blacklist.txt \
frameworks/base/config/hiddenapi-force-blacklist.txt \
$(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST) \
$(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST) \
$(INTERNAL_PLATFORM_REMOVED_DEX_API_FILE)
frameworks/base/tools/hiddenapi/generate_hiddenapi_lists.py \
- --input-public $(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST) \
- --input-private $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST) \
- --input-whitelists $(PRIVATE_WHITELIST_INPUTS) \
- --input-greylists \
+ --public $(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST) \
+ --private $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST) \
+ --csv $(PRIVATE_FLAGS_INPUTS) \
+ --greylist \
frameworks/base/config/hiddenapi-light-greylist.txt \
frameworks/base/config/hiddenapi-vendor-list.txt \
- frameworks/base/config/hiddenapi-max-sdk-p-blacklist.txt \
- <(comm -12 <(sort $(INTERNAL_PLATFORM_REMOVED_DEX_API_FILE)) \
- $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST)) \
- $(PRIVATE_GREYLIST_INPUTS) \
- --input-blacklists frameworks/base/config/hiddenapi-force-blacklist.txt \
- --output-whitelist $(INTERNAL_PLATFORM_HIDDENAPI_WHITELIST).tmp \
- --output-light-greylist $(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST).tmp \
- --output-dark-greylist $(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST).tmp \
- --output-blacklist $(INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST).tmp
- $(call commit-change-for-toc,$(INTERNAL_PLATFORM_HIDDENAPI_WHITELIST))
- $(call commit-change-for-toc,$(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST))
- $(call commit-change-for-toc,$(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST))
- $(call commit-change-for-toc,$(INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST))
+ --greylist-ignore-conflicts $(INTERNAL_PLATFORM_REMOVED_DEX_API_FILE) \
+ --greylist-max-o-ignore-conflicts \
+ frameworks/base/config/hiddenapi-greylist-max-o.txt \
+ --blacklist frameworks/base/config/hiddenapi-force-blacklist.txt \
+ --output $@.tmp
+ $(call commit-change-for-toc,$@)
$(INTERNAL_PLATFORM_HIDDENAPI_GREYLIST_METADATA): \
frameworks/base/tools/hiddenapi/merge_csv.py \
$(PRIVATE_METADATA_INPUTS)
frameworks/base/tools/hiddenapi/merge_csv.py $(PRIVATE_METADATA_INPUTS) > $@
-$(call dist-for-goals,droidcore,$(INTERNAL_PLATFORM_HIDDENAPI_WHITELIST))
-$(call dist-for-goals,droidcore,$(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST))
-$(call dist-for-goals,droidcore,$(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST))
-$(call dist-for-goals,droidcore,$(INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST))
+$(call dist-for-goals,droidcore,$(INTERNAL_PLATFORM_HIDDENAPI_FLAGS))
$(call dist-for-goals,droidcore,$(INTERNAL_PLATFORM_HIDDENAPI_GREYLIST_METADATA))
# Include subdirectory makefiles