1ACTUAL_LOCAL_PATH := $(call my-dir)
2
3# this var will hold all the test apk module names later.
4FrameworkCoreTests_all_apks :=
5
6# We have to include the subdir makefiles first
7# so that FrameworkCoreTests_all_apks will be populated correctly.
8include $(call all-makefiles-under,$(ACTUAL_LOCAL_PATH))
9
10LOCAL_PATH := $(ACTUAL_LOCAL_PATH)
11
12include $(CLEAR_VARS)
13
14# We only want this apk build for tests.
15LOCAL_MODULE_TAGS := tests
16
17# Include all test java files.
18LOCAL_SRC_FILES := \
19	$(call all-java-files-under, src) \
20	$(call all-Iaidl-files-under, src) \
21	$(call all-java-files-under, DisabledTestApp/src) \
22	$(call all-java-files-under, EnabledTestApp/src)
23
24LOCAL_DX_FLAGS := --core-library
25LOCAL_AAPT_FLAGS = -0 dat -0 gld -c fa
26LOCAL_STATIC_JAVA_LIBRARIES := \
27    core-tests-support \
28    android-common \
29    frameworks-core-util-lib \
30    mockwebserver \
31    guava \
32    littlemock \
33    android-support-test \
34    mockito-target \
35    espresso-core \
36    ub-uiautomator
37LOCAL_JAVA_LIBRARIES := android.test.runner conscrypt telephony-common org.apache.http.legacy
38LOCAL_PACKAGE_NAME := FrameworksCoreTests
39
40LOCAL_CERTIFICATE := platform
41
42# intermediate dir to include all the test apks as raw resource
43FrameworkCoreTests_intermediates := $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME))/test_apks/res
44LOCAL_RESOURCE_DIR := $(FrameworkCoreTests_intermediates) $(LOCAL_PATH)/res
45
46include $(BUILD_PACKAGE)
47# Rules to copy all the test apks to the intermediate raw resource directory
48FrameworkCoreTests_all_apks_res := $(addprefix $(FrameworkCoreTests_intermediates)/raw/, \
49    $(foreach a, $(FrameworkCoreTests_all_apks), $(patsubst FrameworkCoreTests_%,%,$(a))))
50
51$(FrameworkCoreTests_all_apks_res): $(FrameworkCoreTests_intermediates)/raw/%: $(call intermediates-dir-for,APPS,FrameworkCoreTests_%)/package.apk | $(ACP)
52	$(call copy-file-to-new-target)
53
54# Use R_file_stamp as dependency because we want the test apks in place before the R.java is generated.
55$(R_file_stamp) : $(FrameworkCoreTests_all_apks_res)
56
57FrameworkCoreTests_all_apks :=
58FrameworkCoreTests_intermediates :=
59FrameworkCoreTests_all_apks_res :=
60