From 829f68bb0240677c524b9c5684aafac02ec0cd50 Mon Sep 17 00:00:00 2001 From: Ying Wang Date: Thu, 26 Jun 2014 17:54:28 -0700 Subject: [PATCH] Support to check System API. Change-Id: I60f8c9bb13efb6a440bb735d634f63fab035c810 --- core/apicheck_msg_current.txt | 2 +- core/config.mk | 3 +++ core/tasks/apicheck.mk | 46 ++++++++++++++++++++++++++++++++++- 3 files changed, 49 insertions(+), 2 deletions(-) diff --git a/core/apicheck_msg_current.txt b/core/apicheck_msg_current.txt index 440e7f8862..9abd3816ce 100644 --- a/core/apicheck_msg_current.txt +++ b/core/apicheck_msg_current.txt @@ -7,7 +7,7 @@ To make these errors go away, you have two choices: errors above. 2) You can update current.txt by executing the following command: - make update-api + make %UPDATE_API% To submit the revised current.txt to the main Android repository, you will need approval. diff --git a/core/config.mk b/core/config.mk index 64dc68ea4c..c4d088d558 100644 --- a/core/config.mk +++ b/core/config.mk @@ -43,6 +43,7 @@ SRC_LIBRARIES:= $(TOPDIR)libs SRC_SERVERS:= $(TOPDIR)servers SRC_TARGET_DIR := $(TOPDIR)build/target SRC_API_DIR := $(TOPDIR)prebuilts/sdk/api +SRC_SYSTEM_API_DIR := $(TOPDIR)prebuilts/sdk/system-api # Some specific paths to tools SRC_DROIDDOC_DIR := $(TOPDIR)build/tools/droiddoc @@ -587,6 +588,8 @@ TARGET_AVAILABLE_SDK_VERSIONS := $(call numerically_sort,\ INTERNAL_PLATFORM_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/public_api.txt INTERNAL_PLATFORM_REMOVED_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/removed.txt +INTERNAL_PLATFORM_SYSTEM_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/system-api.txt +INTERNAL_PLATFORM_SYSTEM_REMOVED_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/system-removed.txt # This is the standard way to name a directory containing prebuilt target # objects. E.g., prebuilt/$(TARGET_PREBUILT_TAG)/libc.so diff --git a/core/tasks/apicheck.mk b/core/tasks/apicheck.mk index 4711d1796a..fc98f5bc8d 100644 --- a/core/tasks/apicheck.mk +++ b/core/tasks/apicheck.mk @@ -64,7 +64,7 @@ $(eval $(call check-api, \ -error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 \ -error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 \ -error 25 -error 26 -error 27, \ - cat $(BUILD_SYSTEM)/apicheck_msg_current.txt, \ + sed -e 's/%UPDATE_API%/update-api/g' $(BUILD_SYSTEM)/apicheck_msg_current.txt, \ checkapi, \ $(call doc-timestamp-for,api-stubs) \ )) @@ -76,4 +76,48 @@ update-api: $(INTERNAL_PLATFORM_API_FILE) | $(ACP) @echo Copying removed.txt $(hide) $(ACP) $(INTERNAL_PLATFORM_REMOVED_API_FILE) frameworks/base/api/removed.txt + +#####################Check System API##################### +.PHONY: checksystemapi + +# Check that the System API we're building hasn't broken the last-released +# SDK version. +$(eval $(call check-api, \ + checksystemapi-last, \ + $(SRC_SYSTEM_API_DIR)/$(last_released_sdk_version).txt, \ + $(INTERNAL_PLATFORM_SYSTEM_API_FILE), \ + frameworks/base/api/system-removed.txt, \ + $(INTERNAL_PLATFORM_SYSTEM_REMOVED_API_FILE), \ + -hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 \ + -error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 \ + -error 16 -error 17 -error 18 , \ + cat $(BUILD_SYSTEM)/apicheck_msg_last.txt, \ + checksystemapi, \ + $(call doc-timestamp-for,system-api-stubs) \ + )) + +# Check that the System API we're building hasn't changed from the not-yet-released +# SDK version. +$(eval $(call check-api, \ + checksystemapi-current, \ + frameworks/base/api/system-current.txt, \ + $(INTERNAL_PLATFORM_SYSTEM_API_FILE), \ + frameworks/base/api/system-removed.txt, \ + $(INTERNAL_PLATFORM_SYSTEM_REMOVED_API_FILE), \ + -error 2 -error 3 -error 4 -error 5 -error 6 \ + -error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 \ + -error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 \ + -error 25 -error 26 -error 27, \ + sed -e 's/%UPDATE_API%/update-system-api/g' $(BUILD_SYSTEM)/apicheck_msg_current.txt, \ + checksystemapi, \ + $(call doc-timestamp-for,system-api-stubs) \ + )) + +.PHONY: update-system-api +update-system-api: $(INTERNAL_PLATFORM_SYSTEM_API_FILE) | $(ACP) + @echo Copying system-current.txt + $(hide) $(ACP) $(INTERNAL_PLATFORM_SYSTEM_API_FILE) frameworks/base/api/system-current.txt + @echo Copying system-removed.txt + $(hide) $(ACP) $(INTERNAL_PLATFORM_SYSTEM_REMOVED_API_FILE) frameworks/base/api/system-removed.txt + endif