1# Copyright (C) 2008 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15LOCAL_PATH:= $(call my-dir) 16include $(CLEAR_VARS) 17 18# don't include this package in any target 19LOCAL_MODULE_TAGS := optional 20 21LOCAL_SRC_FILES := $(call all-java-files-under, src) 22 23LOCAL_PACKAGE_NAME := CtsSignatureTestCases 24 25LOCAL_SDK_VERSION := current 26 27LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner 28 29# To be passed in on command line 30CTS_API_VERSION ?= current 31ifeq (current,$(CTS_API_VERSION)) 32android_api_description := frameworks/base/api/$(CTS_API_VERSION).txt 33else 34android_api_description := $(SRC_API_DIR)/$(CTS_API_VERSION).txt 35endif 36 37# Can't call local-intermediates-dir directly here because we have to 38# include BUILD_CTS_PACKAGE first. Can't include BUILD_CTS_PACKAGE first 39# because we have to override LOCAL_RESOURCE_DIR first. Hence this 40# hack. 41intermediates.COMMON := $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),,COMMON) 42signature_res_dir := $(intermediates.COMMON)/genres 43LOCAL_RESOURCE_DIR := $(signature_res_dir) $(LOCAL_PATH)/res 44 45include $(BUILD_CTS_PACKAGE) 46 47generated_res_stamp := $(intermediates.COMMON)/genres.stamp 48api_ver_file := $(intermediates.COMMON)/api_ver_is_$(CTS_API_VERSION) 49 50# The api_ver_file keeps track of which api version was last built. 51# By only ever having one of these magic files in existence and making 52# sure the generated resources rule depend on it, we can ensure that 53# the proper version of the api resource gets generated. 54$(api_ver_file): 55 $(hide) rm -f $(dir $@)/api_ver_is_* \ 56 && mkdir -p $(dir $@) && touch $@ 57 58android_api_xml_description := $(intermediates.COMMON)/api.xml 59$(android_api_xml_description): $(android_api_description) | $(APICHECK) 60 @ echo "Convert api file to xml: $@" 61 @ mkdir -p $(dir $@) 62 $(hide) $(APICHECK_COMMAND) -convert2xml $< $@ 63 64# Split up config/api/1.xml by "package" and save the files as the 65# resource files of SignatureTest. 66$(generated_res_stamp): PRIVATE_PATH := $(LOCAL_PATH) 67$(generated_res_stamp): PRIVATE_MODULE := $(LOCAL_MODULE) 68$(generated_res_stamp): PRIVATE_RES_DIR := $(signature_res_dir) 69$(generated_res_stamp): PRIVATE_API_XML_DESC := $(android_api_xml_description) 70$(generated_res_stamp): $(api_ver_file) 71$(generated_res_stamp): $(android_api_xml_description) 72 @ echo "Copy generated resources: $(PRIVATE_MODULE)" 73 $(hide) python cts/tools/utils/android_api_description_splitter.py \ 74 $(PRIVATE_API_XML_DESC) $(PRIVATE_RES_DIR) package 75 $(hide) touch $@ 76 77$(R_file_stamp): $(generated_res_stamp) 78 79# clean up temp vars 80android_api_xml_description := 81api_ver_file := 82generated_res_stamp := 83signature_res_dir := 84android_api_description := 85CTS_API_VERSION := 86 87# signature-hostside java library (for testing) 88# ============================================================ 89 90include $(CLEAR_VARS) 91 92# These files are for device-side only, so filter-out for host library 93LOCAL_DEVICE_ONLY_SOURCES := %/SignatureTest.java 94 95LOCAL_SRC_FILES := $(filter-out $(LOCAL_DEVICE_ONLY_SOURCES), $(call all-java-files-under, src)) 96 97LOCAL_MODULE := signature-hostside 98 99LOCAL_MODULE_TAGS := optional 100 101include $(BUILD_HOST_JAVA_LIBRARY)