diff options
Diffstat (limited to 'Android.mk')
-rw-r--r-- | Android.mk | 189 |
1 files changed, 159 insertions, 30 deletions
diff --git a/Android.mk b/Android.mk index e33d09b135dd..c4fffc891d5b 100644 --- a/Android.mk +++ b/Android.mk @@ -72,17 +72,10 @@ non_base_dirs := \ ../opt/net/voip/src/java/android/net/rtp \ ../opt/net/voip/src/java/android/net/sip \ -framework_base_android_test_mock_src_files := \ - $(call all-java-files-under, test-mock/src/android/test/mock) - -framework_base_android_test_runner_excluding_mock_src_files := \ - $(filter-out $(framework_base_android_test_mock_src_files), $(call all-java-files-under, test-runner/src)) - # Find all files in specific directories (relative to frameworks/base) # to document and check apis files_to_check_apis := \ $(call find-other-java-files, \ - test-base/src \ $(non_base_dirs) \ ) @@ -106,7 +99,8 @@ files_to_check_apis_generated := \ files_to_document := \ $(files_to_check_apis) \ $(call find-other-java-files,\ - $(addprefix ../../, $(FRAMEWORKS_DATA_BINDING_JAVA_SRC_DIRS)) \ + test-base/src \ + test-mock/src \ test-runner/src) # These are relative to frameworks/base @@ -126,8 +120,6 @@ framework_docs_LOCAL_SRC_FILES := \ # These are relative to frameworks/base framework_docs_LOCAL_API_CHECK_SRC_FILES := \ - $(framework_base_android_test_mock_src_files) \ - $(framework_base_android_test_runner_excluding_mock_src_files) \ $(files_to_check_apis) \ $(common_src_files) \ @@ -153,7 +145,6 @@ framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES := \ ext \ framework \ voip-common \ - android.test.mock \ # Platform docs can refer to Support Library APIs, but we don't actually build # them as part of the docs target, so we need to include them on the classpath. @@ -203,6 +194,7 @@ framework_docs_LOCAL_DROIDDOC_OPTIONS := \ -since $(SRC_API_DIR)/25.txt 25 \ -since $(SRC_API_DIR)/26.txt 26 \ -since $(SRC_API_DIR)/27.txt 27 \ + -since ./frameworks/base/api/current.txt P \ -werror -lerror -hide 111 -hide 113 -hide 125 -hide 126 -hide 127 -hide 128 \ -overview $(LOCAL_PATH)/core/java/overview.html \ @@ -258,6 +250,66 @@ framework_docs_LOCAL_DROIDDOC_OPTIONS += \ -federate SupportLib https://developer.android.com \ -federationapi SupportLib prebuilts/sdk/current/support-api.txt +# ==== Public API diff =========================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(framework_docs_LOCAL_API_CHECK_SRC_FILES) +LOCAL_GENERATED_SOURCES := $(framework_docs_LOCAL_GENERATED_SOURCES) +LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS) +LOCAL_JAVA_LIBRARIES := $(framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES) +LOCAL_MODULE_CLASS := $(framework_docs_LOCAL_MODULE_CLASS) +LOCAL_ADDITIONAL_JAVA_DIR := $(framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR) +LOCAL_ADDITIONAL_DEPENDENCIES := \ + $(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES) \ + $(INTERNAL_PLATFORM_API_FILE) + +LOCAL_MODULE := offline-sdk-referenceonly + +last_released_sdk_version := $(lastword $(call numerically_sort, \ + $(filter-out current, \ + $(patsubst $(SRC_API_DIR)/%.txt,%, $(wildcard $(SRC_API_DIR)/*.txt)) \ + )\ + )) + +LOCAL_APIDIFF_OLDAPI := $(LOCAL_PATH)/../../$(SRC_API_DIR)/$(last_released_sdk_version) +LOCAL_APIDIFF_NEWAPI := $(LOCAL_PATH)/../../$(basename $(INTERNAL_PLATFORM_API_FILE)) + +include $(BUILD_APIDIFF) + +# Hack to get diffs included in docs output +out_zip := $(OUT_DOCS)/$(LOCAL_MODULE)-docs.zip +$(out_zip): $(full_target) + +# ==== System API diff =========================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(framework_docs_LOCAL_API_CHECK_SRC_FILES) +LOCAL_GENERATED_SOURCES := $(framework_docs_LOCAL_GENERATED_SOURCES) +LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS) +LOCAL_JAVA_LIBRARIES := $(framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES) +LOCAL_MODULE_CLASS := $(framework_docs_LOCAL_MODULE_CLASS) +LOCAL_ADDITIONAL_JAVA_DIR := $(framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR) +LOCAL_ADDITIONAL_DEPENDENCIES := \ + $(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES) \ + $(INTERNAL_PLATFORM_SYSTEM_API_FILE) + +LOCAL_MODULE := offline-system-sdk-referenceonly + +last_released_sdk_version := $(lastword $(call numerically_sort, \ + $(filter-out current, \ + $(patsubst $(SRC_SYSTEM_API_DIR)/%.txt,%, $(wildcard $(SRC_SYSTEM_API_DIR)/*.txt)) \ + )\ + )) + +LOCAL_APIDIFF_OLDAPI := $(LOCAL_PATH)/../../$(SRC_SYSTEM_API_DIR)/$(last_released_sdk_version) +LOCAL_APIDIFF_NEWAPI := $(LOCAL_PATH)/../../$(basename $(INTERNAL_PLATFORM_SYSTEM_API_FILE)) + +include $(BUILD_APIDIFF) + +# Hack to get diffs included in docs output +out_zip := $(OUT_DOCS)/$(LOCAL_MODULE)-docs.zip +$(out_zip): $(full_target) + # ==== the api stubs and current.xml =========================== include $(CLEAR_VARS) @@ -437,7 +489,7 @@ $(static_doc_index_redirect): \ $(full_target): $(static_doc_index_redirect) -# ==== static html in the sdk ================================== +# ==== Public API static reference docs ================================== include $(CLEAR_VARS) LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES) @@ -479,6 +531,51 @@ $(full_target): $(static_doc_index_redirect) $(full_target): $(static_doc_properties) +# ==== System API static reference docs ================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES) +LOCAL_GENERATED_SOURCES:=$(framework_docs_LOCAL_GENERATED_SOURCES) +LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS) +LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES) +LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS) +LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH) +LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR) +LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR) +LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES) + +LOCAL_MODULE := offline-system-sdk-referenceonly + +LOCAL_DROIDDOC_OPTIONS:=\ + $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \ + -hide 101 -hide 104 -hide 108 \ + -showAnnotation android.annotation.SystemApi \ + -offlinemode \ + -title "Android System SDK" \ + -proofread $(OUT_DOCS)/$(LOCAL_MODULE)-proofread.txt \ + -sdkvalues $(OUT_DOCS) \ + -hdf android.whichdoc offline \ + -referenceonly + +LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk + +include $(BUILD_DROIDDOC) + +static_doc_index_redirect := $(out_dir)/index.html +$(static_doc_index_redirect): $(LOCAL_PATH)/docs/docs-documentation-redirect.html + $(copy-file-to-target) + +static_doc_properties := $(out_dir)/source.properties +$(static_doc_properties): \ + $(LOCAL_PATH)/docs/source.properties | $(ACP) + $(hide) mkdir -p $(dir $@) + $(hide) $(ACP) $< $@ + +$(full_target): $(static_doc_index_redirect) +$(full_target): $(static_doc_properties) +$(full_target): $(framework_built) + + # ==== docs for the web (on the androiddevdocs app engine server) ======================= include $(CLEAR_VARS) @@ -692,44 +789,76 @@ LOCAL_PROTOC_FLAGS := \ -Iexternal/protobuf/src LOCAL_SOURCE_FILES_ALL_GENERATED := true LOCAL_SRC_FILES := \ + cmds/am/proto/instrumentation_data.proto \ + cmds/statsd/src/perfetto/perfetto_config.proto \ $(call all-proto-files-under, core/proto) \ - $(call all-proto-files-under, libs/incident/proto) + $(call all-proto-files-under, libs/incident/proto) \ + $(call all-proto-files-under, cmds/statsd/src) # b/72714520 LOCAL_ERROR_PRONE_FLAGS := -Xep:MissingOverride:OFF include $(BUILD_HOST_JAVA_LIBRARY) +# ==== java proto device library (for test only) ============================== +include $(CLEAR_VARS) +LOCAL_MODULE := platformprotosnano +LOCAL_MODULE_TAGS := tests +LOCAL_PROTOC_OPTIMIZE_TYPE := nano +LOCAL_PROTOC_FLAGS := \ + -Iexternal/protobuf/src +LOCAL_PROTO_JAVA_OUTPUT_PARAMS := \ + store_unknown_fields = true +LOCAL_SDK_VERSION := current +LOCAL_SRC_FILES := \ + $(call all-proto-files-under, core/proto) \ + $(call all-proto-files-under, libs/incident/proto/android/os) +include $(BUILD_STATIC_JAVA_LIBRARY) + + +# ==== java proto device library (for test only) ============================== +include $(CLEAR_VARS) +LOCAL_MODULE := platformprotoslite +LOCAL_MODULE_TAGS := tests +LOCAL_PROTOC_OPTIMIZE_TYPE := lite +LOCAL_PROTOC_FLAGS := \ + -Iexternal/protobuf/src +LOCAL_SRC_FILES := \ + $(call all-proto-files-under, core/proto) \ + $(call all-proto-files-under, libs/incident/proto/android/os) +# Protos have lots of MissingOverride and similar. +LOCAL_ERROR_PRONE_FLAGS := -XepDisableAllChecks +include $(BUILD_STATIC_JAVA_LIBRARY) # ==== hiddenapi lists ======================================= -# Copy blacklist and dark greylist over into the build folder. +# Copy blacklist and light greylist over into the build folder. # This is for ART buildbots which need to mock these lists and have alternative # rules for building them. Other rules in the build system should depend on the # files in the build folder. $(eval $(call copy-one-file,frameworks/base/config/hiddenapi-blacklist.txt,\ $(INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST))) -$(eval $(call copy-one-file,frameworks/base/config/hiddenapi-dark-greylist.txt,\ - $(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST))) - -# Generate light greylist as private API minus (blacklist plus dark greylist). - -$(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST): PRIVATE_API := $(INTERNAL_PLATFORM_PRIVATE_DEX_API_FILE) -$(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST): BLACKLIST := $(INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST) -$(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST): DARK_GREYLIST := $(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST) -$(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST): $(INTERNAL_PLATFORM_PRIVATE_DEX_API_FILE) \ - $(INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST) \ - $(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST) - if [ ! -z "`comm -12 <(sort $(BLACKLIST)) <(sort $(DARK_GREYLIST))`" ]; then \ - echo "There should be no overlap between $(BLACKLIST) and $(DARK_GREYLIST)" 1>&2; \ +$(eval $(call copy-one-file,frameworks/base/config/hiddenapi-light-greylist.txt,\ + $(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST))) + +# Generate dark greylist as private API minus (blacklist plus light greylist). + +$(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST): PRIVATE_API := $(INTERNAL_PLATFORM_PRIVATE_DEX_API_FILE) +$(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST): BLACKLIST := $(INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST) +$(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST): LIGHT_GREYLIST := $(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST) +$(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST): $(INTERNAL_PLATFORM_PRIVATE_DEX_API_FILE) \ + $(INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST) \ + $(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST) + if [ ! -z "`comm -12 <(sort $(BLACKLIST)) <(sort $(LIGHT_GREYLIST))`" ]; then \ + echo "There should be no overlap between $(BLACKLIST) and $(LIGHT_GREYLIST)" 1>&2; \ exit 1; \ elif [ ! -z "`comm -13 <(sort $(PRIVATE_API)) <(sort $(BLACKLIST))`" ]; then \ echo "$(BLACKLIST) must be a subset of $(PRIVATE_API)" 1>&2; \ exit 2; \ - elif [ ! -z "`comm -13 <(sort $(PRIVATE_API)) <(sort $(DARK_GREYLIST))`" ]; then \ - echo "$(DARK_GREYLIST) must be a subset of $(PRIVATE_API)" 1>&2; \ + elif [ ! -z "`comm -13 <(sort $(PRIVATE_API)) <(sort $(LIGHT_GREYLIST))`" ]; then \ + echo "$(LIGHT_GREYLIST) must be a subset of $(PRIVATE_API)" 1>&2; \ exit 3; \ fi - comm -23 <(sort $(PRIVATE_API)) <(sort $(BLACKLIST) $(DARK_GREYLIST)) > $@ + comm -23 <(sort $(PRIVATE_API)) <(sort $(BLACKLIST) $(LIGHT_GREYLIST)) > $@ # Include subdirectory makefiles # ============================================================ |