blob: 2d58ce8baddcfc05b606b56b1bdad68fd9d85b70 [file] [log] [blame]
Alan Stokes761d6182017-12-19 11:48:19 +00001#
2# Copyright 2017 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17LOCAL_PATH:= $(call my-dir)
18
19# Build a tiny library that the test app can dynamically load
20
21include $(CLEAR_VARS)
22
23LOCAL_MODULE_TAGS := tests
Alan Stokes8d3b7a42019-02-19 17:14:42 +000024LOCAL_MODULE := DynamicCodeLoggerTestLibrary
Alan Stokes761d6182017-12-19 11:48:19 +000025LOCAL_SRC_FILES := $(call all-java-files-under, src/com/android/dcl)
26
27include $(BUILD_JAVA_LIBRARY)
28
Alan Stokes8d3b7a42019-02-19 17:14:42 +000029dynamiccodeloggertest_jar := $(LOCAL_BUILT_MODULE)
Alan Stokes761d6182017-12-19 11:48:19 +000030
31
Alan Stokese9d33142018-12-19 09:31:21 +000032# Also build a native library that the test app can dynamically load
33
34include $(CLEAR_VARS)
35
36LOCAL_MODULE_TAGS := tests
Alan Stokes8d3b7a42019-02-19 17:14:42 +000037LOCAL_MODULE := DynamicCodeLoggerNativeTestLibrary
Alan Stokese9d33142018-12-19 09:31:21 +000038LOCAL_SRC_FILES := src/cpp/com_android_dcl_Jni.cpp
Orion Hodson3eba1ab2020-07-02 13:50:33 +010039LOCAL_HEADER_LIBRARIES := jni_headers
Alan Stokese9d33142018-12-19 09:31:21 +000040LOCAL_SDK_VERSION := 28
41LOCAL_NDK_STL_VARIANT := c++_static
42
43include $(BUILD_SHARED_LIBRARY)
44
Alan Stokese9d33142018-12-19 09:31:21 +000045# And a standalone native executable that we can exec.
46
47include $(CLEAR_VARS)
48
49LOCAL_MODULE_TAGS := tests
Alan Stokes8d3b7a42019-02-19 17:14:42 +000050LOCAL_MODULE := DynamicCodeLoggerNativeExecutable
Alan Stokese9d33142018-12-19 09:31:21 +000051LOCAL_SRC_FILES := src/cpp/test_executable.cpp
52
53include $(BUILD_EXECUTABLE)
54
Alan Stokes8d3b7a42019-02-19 17:14:42 +000055dynamiccodeloggertest_executable := $(LOCAL_BUILT_MODULE)
Alan Stokese9d33142018-12-19 09:31:21 +000056
Alan Stokes761d6182017-12-19 11:48:19 +000057# Build the test app itself
58
59include $(CLEAR_VARS)
60
61LOCAL_MODULE_TAGS := tests
Alan Stokes8d3b7a42019-02-19 17:14:42 +000062LOCAL_PACKAGE_NAME := DynamicCodeLoggerIntegrationTests
Anton Hanssonab6ec612018-02-23 12:57:51 +000063LOCAL_SDK_VERSION := current
Alan Stokes761d6182017-12-19 11:48:19 +000064LOCAL_COMPATIBILITY_SUITE := device-tests
Alan Stokese9d33142018-12-19 09:31:21 +000065LOCAL_CERTIFICATE := shared
Alan Stokes761d6182017-12-19 11:48:19 +000066LOCAL_SRC_FILES := $(call all-java-files-under, src/com/android/server/pm)
67
68LOCAL_STATIC_JAVA_LIBRARIES := \
Brett Chabot502ec7a2019-03-01 14:43:20 -080069 androidx.test.rules \
Alan Stokes761d6182017-12-19 11:48:19 +000070 truth-prebuilt \
71
Alan Stokesa3039532019-01-25 14:07:23 +000072# Include both versions of the .so if we have 2 arch
73LOCAL_MULTILIB := both
74LOCAL_JNI_SHARED_LIBRARIES := \
Alan Stokes8d3b7a42019-02-19 17:14:42 +000075 DynamicCodeLoggerNativeTestLibrary \
Alan Stokesa3039532019-01-25 14:07:23 +000076
Alan Stokes8d3b7a42019-02-19 17:14:42 +000077# This gets us the javalib.jar built by DynamicCodeLoggerTestLibrary above as well as the various
Alan Stokese9d33142018-12-19 09:31:21 +000078# native binaries.
79LOCAL_JAVA_RESOURCE_FILES := \
Alan Stokes8d3b7a42019-02-19 17:14:42 +000080 $(dynamiccodeloggertest_jar) \
81 $(dynamiccodeloggertest_executable) \
Alan Stokes761d6182017-12-19 11:48:19 +000082
83include $(BUILD_PACKAGE)