# 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 LOCAL_SRC_FILES := $(call all-java-files-under, src) LOCAL_PACKAGE_NAME := CtsSignatureTestCases LOCAL_SDK_VERSION := current LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner # 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_CTS_PACKAGE first. Can't include BUILD_CTS_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_CTS_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 existence 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 := # signature-hostside java library (for testing) # ============================================================ include $(CLEAR_VARS) # These files are for device-side only, so filter-out for host library LOCAL_DEVICE_ONLY_SOURCES := %/SignatureTest.java LOCAL_SRC_FILES := $(filter-out $(LOCAL_DEVICE_ONLY_SOURCES), $(call all-java-files-under, src)) LOCAL_MODULE := signature-hostside LOCAL_MODULE_TAGS := optional include $(BUILD_HOST_JAVA_LIBRARY)