| # Copyright (C) 2008 The Android Open Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| LOCAL_PATH:= $(call my-dir) |
| include $(CLEAR_VARS) |
| |
| # don't include this package in any target |
| LOCAL_MODULE_TAGS := optional |
| # and when built explicitly put it in the data partition |
| LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS) |
| # and because it is in data, do not strip classes.dex |
| LOCAL_DEX_PREOPT := false |
| |
| LOCAL_SRC_FILES := $(call all-java-files-under, src) |
| |
| LOCAL_JAVA_LIBRARIES := android.test.runner |
| |
| LOCAL_PACKAGE_NAME := SignatureTest |
| |
| LOCAL_SDK_VERSION := current |
| |
| # To be passed in on command line |
| CTS_API_VERSION ?= current |
| |
| ifeq (current,$(CTS_API_VERSION)) |
| android_api_description := frameworks/base/api/$(CTS_API_VERSION).txt |
| else |
| android_api_description := $(SRC_API_DIR)/$(CTS_API_VERSION).txt |
| endif |
| |
| # Can't call local-intermediates-dir directly here because we have to |
| # include BUILD_PACAKGE first. Can't include BUILD_PACKAGE first |
| # because we have to override LOCAL_RESOURCE_DIR first. Hence this |
| # hack. |
| intermediates.COMMON := $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),,COMMON) |
| signature_res_dir := $(intermediates.COMMON)/genres |
| LOCAL_RESOURCE_DIR := $(signature_res_dir) $(LOCAL_PATH)/res |
| |
| include $(BUILD_PACKAGE) |
| |
| generated_res_stamp := $(intermediates.COMMON)/genres.stamp |
| api_ver_file := $(intermediates.COMMON)/api_ver_is_$(CTS_API_VERSION) |
| |
| # The api_ver_file keeps track of which api version was last built. |
| # By only ever having one of these magic files in existance and making |
| # sure the generated resources rule depend on it, we can ensure that |
| # the proper version of the api resource gets generated. |
| $(api_ver_file): |
| $(hide) rm -f $(dir $@)/api_ver_is_* \ |
| && mkdir -p $(dir $@) && touch $@ |
| |
| android_api_xml_description := $(intermediates.COMMON)/api.xml |
| $(android_api_xml_description): $(android_api_description) | $(APICHECK) |
| @ echo "Convert api file to xml: $@" |
| @ mkdir -p $(dir $@) |
| $(hide) $(APICHECK_COMMAND) -convert2xml $< $@ |
| |
| # Split up config/api/1.xml by "package" and save the files as the |
| # resource files of SignatureTest. |
| $(generated_res_stamp): PRIVATE_PATH := $(LOCAL_PATH) |
| $(generated_res_stamp): PRIVATE_MODULE := $(LOCAL_MODULE) |
| $(generated_res_stamp): PRIVATE_RES_DIR := $(signature_res_dir) |
| $(generated_res_stamp): PRIVATE_API_XML_DESC := $(android_api_xml_description) |
| $(generated_res_stamp): $(api_ver_file) |
| $(generated_res_stamp): $(android_api_xml_description) |
| @ echo "Copy generated resources: $(PRIVATE_MODULE)" |
| $(hide) python cts/tools/utils/android_api_description_splitter.py \ |
| $(PRIVATE_API_XML_DESC) $(PRIVATE_RES_DIR) package |
| $(hide) touch $@ |
| |
| $(R_file_stamp): $(generated_res_stamp) |
| |
| # clean up temp vars |
| android_api_xml_description := |
| api_ver_file := |
| generated_res_stamp := |
| signature_res_dir := |
| android_api_description := |
| CTS_API_VERSION := |
| |
| |
| # Use the folloing include to make our test apk. |
| include $(call all-makefiles-under,$(LOCAL_PATH)) |