Added android.test.mock and android.test.mock.sdk targets

The android.test.mock will be used for any targets that require
android.test.mock classes but which do not already depend on the
sdk. It is also the library that will be added to the classpath
at runtime when an app has the following in their manifest.
    <uses-library android:name="android.test.mock"/>

The android.test.mock.sdk will be used by targets that require
android.test.mock classes and which build against the SDK. It
contains stub classes (like android.jar). It is also the library
that will be copied into the optional directory of the SDK.

(cherry picked from f74752293d)

Bug: 30188076
Test: make checkbuild
Change-Id: If199180e1136da1927a9e7c7bcafbcfb29cf1274
Merged-In: Ia3fcd47c644b8e5a573f891571a7b3772eac63f9
This commit is contained in:
Paul Duffin
2017-05-19 09:05:54 +01:00
parent 12fe022fbd
commit 4823935a84

View File

@@ -16,6 +16,8 @@
LOCAL_PATH:= $(call my-dir)
# Build the android.test.runner library
# =====================================
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, src)
@@ -26,5 +28,56 @@ LOCAL_MODULE:= android.test.runner
include $(BUILD_JAVA_LIBRARY)
# Build the android.test.mock library
# ===================================
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, src/android/test/mock)
LOCAL_JAVA_LIBRARIES := core-oj core-libart framework
LOCAL_MODULE:= android.test.mock
include $(BUILD_JAVA_LIBRARY)
# Generate the stub source files for android.test.mock.sdk
# ========================================================
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, src/android/test/mock)
LOCAL_JAVA_LIBRARIES := core-oj core-libart framework
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
LOCAL_DROIDDOC_SOURCE_PATH := $(LOCAL_PATH)/src/android/test/mock
LOCAL_DROIDDOC_OPTIONS:= \
-stubpackages android.test.mock \
-stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android.test.mock.sdk_intermediates/src \
-nodocs
LOCAL_UNINSTALLABLE_MODULE := true
LOCAL_MODULE := android-test-mock-stubs-gen
include $(BUILD_DROIDDOC)
# Remember the target that will trigger the code generation.
android_test_mock_gen_stamp := $(full_target)
# Build the android.test.mock.sdk library
# =======================================
include $(CLEAR_VARS)
LOCAL_MODULE := android.test.mock.sdk
LOCAL_SOURCE_FILES_ALL_GENERATED := true
include $(BUILD_STATIC_JAVA_LIBRARY)
# Make sure to run droiddoc first to generate the stub source files.
$(full_classes_compiled_jar) : $(android_test_mock_gen_stamp)
$(full_classes_jack) : $(android_test_mock_gen_stamp)
# Archive a copy of the classes.jar in SDK build.
$(call dist-for-goals,sdk win_sdk,$(full_classes_jar):android.test.mock.jar)
# additionally, build unit tests in a separate .apk
include $(call all-makefiles-under,$(LOCAL_PATH))