Home | History | Annotate | Download | only in signature
      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 
     15 LOCAL_PATH:= $(call my-dir)
     16 include $(CLEAR_VARS)
     17 
     18 # don't include this package in any target
     19 LOCAL_MODULE_TAGS := optional
     20 
     21 LOCAL_SRC_FILES := $(call all-java-files-under, src)
     22 
     23 LOCAL_PACKAGE_NAME := CtsSignatureTestCases
     24 
     25 LOCAL_SDK_VERSION := current
     26 
     27 LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner
     28 
     29 # To be passed in on command line
     30 CTS_API_VERSION ?= current
     31 ifeq (current,$(CTS_API_VERSION))
     32 android_api_description := frameworks/base/api/$(CTS_API_VERSION).txt
     33 else
     34 android_api_description := $(SRC_API_DIR)/$(CTS_API_VERSION).txt
     35 endif
     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.
     41 intermediates.COMMON := $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),,COMMON)
     42 signature_res_dir := $(intermediates.COMMON)/genres
     43 LOCAL_RESOURCE_DIR := $(signature_res_dir) $(LOCAL_PATH)/res
     44 
     45 include $(BUILD_CTS_PACKAGE)
     46 
     47 generated_res_stamp := $(intermediates.COMMON)/genres.stamp
     48 api_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 
     58 android_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
     80 android_api_xml_description :=
     81 api_ver_file :=
     82 generated_res_stamp :=
     83 signature_res_dir :=
     84 android_api_description :=
     85 CTS_API_VERSION :=
     86 
     87 # signature-hostside java library (for testing)
     88 # ============================================================
     89 
     90 include $(CLEAR_VARS)
     91 
     92 # These files are for device-side only, so filter-out for host library
     93 LOCAL_DEVICE_ONLY_SOURCES := %/SignatureTest.java
     94 
     95 LOCAL_SRC_FILES := $(filter-out $(LOCAL_DEVICE_ONLY_SOURCES), $(call all-java-files-under, src))
     96 
     97 LOCAL_MODULE := signature-hostside
     98 
     99 LOCAL_MODULE_TAGS := optional
    100 
    101 include $(BUILD_HOST_JAVA_LIBRARY)