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_STATIC_JAVA_LIBRARIES := core-tests android-common frameworks-core-util-lib mockwebserver guava littlemock
26LOCAL_JAVA_LIBRARIES := android.test.runner telephony-common
27LOCAL_PACKAGE_NAME := FrameworksCoreTests
28
29LOCAL_CERTIFICATE := platform
30
31# intermediate dir to include all the test apks as raw resource
32FrameworkCoreTests_intermediates := $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME))/test_apks/res
33LOCAL_RESOURCE_DIR := $(FrameworkCoreTests_intermediates) $(LOCAL_PATH)/res
34
35include $(BUILD_PACKAGE)
36# Rules to copy all the test apks to the intermediate raw resource directory
37FrameworkCoreTests_all_apks_res := $(addprefix $(FrameworkCoreTests_intermediates)/raw/, \
38    $(foreach a, $(FrameworkCoreTests_all_apks), $(patsubst FrameworkCoreTests_%,%,$(a))))
39
40$(FrameworkCoreTests_all_apks_res): $(FrameworkCoreTests_intermediates)/raw/%: $(call intermediates-dir-for,APPS,FrameworkCoreTests_%)/package.apk | $(ACP)
41	$(call copy-file-to-new-target)
42
43# Use R_file_stamp as dependency because we want the test apks in place before the R.java is generated.
44$(R_file_stamp) : $(FrameworkCoreTests_all_apks_res)
45
46FrameworkCoreTests_all_apks :=
47FrameworkCoreTests_intermediates :=
48FrameworkCoreTests_all_apks_res :=
49