1e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# Copyright (C) 2017 The Android Open Source Project 2e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# 3e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# Licensed under the Apache License, Version 2.0 (the "License"); 4e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# you may not use this file except in compliance with the License. 5e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# You may obtain a copy of the License at 6e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# 7e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# http://www.apache.org/licenses/LICENSE-2.0 8e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# 9e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# Unless required by applicable law or agreed to in writing, software 10e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# distributed under the License is distributed on an "AS IS" BASIS, 11e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# See the License for the specific language governing permissions and 13e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# limitations under the License. 14e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 15e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_PATH:= $(call my-dir) 16e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 17e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# Make test APK 18e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# ============================================================ 19e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebauminclude $(CLEAR_VARS) 20e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 21e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_MODULE_TAGS := tests 22e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 23e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_SRC_FILES := $(call all-subdir-java-files) 24e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 25e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# This list is generated from the java source files in this module 26e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# The list is a comma separated list of class names with * matching zero or more characters. 27e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# Example: 28e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# Input files: src/com/android/server/lowpan/Test.java src/com/android/server/lowpan/AnotherTest.java 29e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# Generated exclude list: com.android.server.lowpan.Test*,com.android.server.lowpan.AnotherTest* 30e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 31e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# Filter all src files to just java files 32e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaumlocal_java_files := $(filter %.java,$(LOCAL_SRC_FILES)) 33e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# Transform java file names into full class names. 34e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# This only works if the class name matches the file name and the directory structure 35e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# matches the package. 36e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaumlocal_classes := $(subst /,.,$(patsubst src/%.java,%,$(local_java_files))) 37e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# Utility variables to allow replacing a space with a comma 38e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaumcomma:= , 39e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaumempty:= 40e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaumspace:= $(empty) $(empty) 41e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# Convert class name list to jacoco exclude list 42e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# This appends a * to all classes and replace the space separators with commas. 43e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# These patterns will match all classes in this module and their inner classes. 44e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaumjacoco_exclude := $(subst $(space),$(comma),$(patsubst %,%*,$(local_classes))) 45e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 46e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaumjacoco_include := android.net.lowpan.* 47e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 48e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_JACK_COVERAGE_INCLUDE_FILTER := $(jacoco_include) 49e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_JACK_COVERAGE_EXCLUDE_FILTER := $(jacoco_exclude) 50e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 51e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_STATIC_JAVA_LIBRARIES := \ 52e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum android-support-test \ 53e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum guava \ 54e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum mockito-target-minus-junit4 \ 55e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum frameworks-base-testutils \ 56e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 57e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_JNI_SHARED_LIBRARIES += libframeworkslowpantestsjni 58e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_JNI_SHARED_LIBRARIES += libandroid_net_lowpan 59e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_JNI_SHARED_LIBRARIES += \ 60e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libbacktrace \ 61e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libbase \ 62e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libbinder \ 63e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libc++ \ 64e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libcutils \ 65e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum liblog \ 66e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum liblzma \ 67e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libnativehelper \ 68e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libnetdaidl \ 69e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libui \ 70e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libunwind \ 71e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libutils \ 72e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libvndksupport \ 73e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libcrypto \ 74e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libhidl-gen-utils \ 75e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libhidlbase \ 76e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libhidltransport \ 77e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libpackagelistparser \ 78e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libpcre2 \ 79e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libselinux \ 80e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libtinyxml2 \ 81e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libvintf \ 82e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum libhwbinder \ 83e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum android.hidl.token@1.0 84e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 85e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_JAVA_LIBRARIES := android.test.runner 86e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 87e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_PACKAGE_NAME := FrameworksLowpanApiNativeTests 88e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_COMPATIBILITY_SUITE := device-tests 89e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 90e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_CERTIFICATE := platform 91e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 92e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebauminclude $(BUILD_PACKAGE) 93e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 94e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum######################################################################### 95e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum# Build JNI Shared Library 96e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum######################################################################### 97e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 98e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_PATH:= $(LOCAL_PATH)/jni 99e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 100e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebauminclude $(CLEAR_VARS) 101e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 102e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_MODULE_TAGS := tests 103e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 104e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_CFLAGS := -Wall -Wextra -Werror 105e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 106e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_SRC_FILES := $(call all-cpp-files-under) 107e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 108e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_SHARED_LIBRARIES += libandroid_net_lowpan 109e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_SHARED_LIBRARIES += libbinder 110e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_SHARED_LIBRARIES += liblog 111e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 112e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert QuattlebaumLOCAL_MODULE := libframeworkslowpantestsjni 113e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebaum 114e6a1be5f36c91c12ba89bca99233bdb9d7b448e0Robert Quattlebauminclude $(BUILD_SHARED_LIBRARY) 115