# Copyright (C) 2017 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. # Specify the following variables before including: # # LOCAL_PACKAGE_NAME # the name of the package # # LOCAL_SIGNATURE_API_FILES # the list of api files needed # don't include this package in any target LOCAL_MODULE_TAGS := tests # Tag this module as a cts test artifact LOCAL_COMPATIBILITY_SUITE := cts vts general-tests LOCAL_SDK_VERSION := current LOCAL_STATIC_JAVA_LIBRARIES += cts-api-signature-test LOCAL_JNI_SHARED_LIBRARIES += libclassdescriptors LOCAL_MULTILIB := both LOCAL_ADDITIONAL_DEPENDENCIES += \ $(addprefix $(COMPATIBILITY_TESTCASES_OUT_cts)/,$(LOCAL_SIGNATURE_API_FILES)) # Add dependencies needed to build/run the test with atest. # # This is a temporary workaround as described in b/123393637. It adds the dependencies that # atest requires for each of the modules specified in the LOCAL_SIGNATURE_API_FILES. The # mapping from module name to the dependency is slightly complicated due to inconsistencies # in the mapping for the different file types, i.e. .api, .csv and .zip. Those # inconsistencies will be resolved by build improvement work mentioned in b/123393637. # # Converts: # current.api -> $(TARGET_OUT_TESTCASES)/cts-current-api/current.api # hiddenapi_flags.csv -> $(TARGET_OUT_TESTCASES)/cts-hiddenapi_flags-csv/hiddenapi_flags.csv # system-all.api.zip -> $(TARGET_OUT_TESTCASES)/cts-system-all.api/system-all.api.zip # Construct module name directory from file name, matches behavior in the # build_xml_api_file function in ../api/Android.mk plus some extra rules for handling slight # inconsistencies with that behavior for the ..all.zip files used by some signature tests. # Replace . with - # Prefix every entry with cts- # Replace -all-api-zip with -all.api to handle ...all.zip files # cts_signature_module_deps := $(LOCAL_SIGNATURE_API_FILES) cts_signature_module_deps := $(subst .,-,$(cts_signature_module_deps)) cts_signature_module_deps := $(addprefix cts-,$(cts_signature_module_deps)) cts_signature_module_deps := $(subst -all-api-zip,-all.api,$(cts_signature_module_deps)) LOCAL_REQUIRED_MODULES := $(cts_signature_module_deps) LOCAL_DEX_PREOPT := false LOCAL_PROGUARD_ENABLED := disabled LOCAL_USE_EMBEDDED_NATIVE_LIBS := false ifneq (,$(wildcard $(LOCAL_PATH)/src)) LOCAL_SRC_FILES := $(call all-java-files-under, src) endif include $(BUILD_CTS_PACKAGE) LOCAL_SIGNATURE_API_FILES := cts_signature_module_deps :=