##############################################
# Assemble Robolectric_all
##############################################
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := Robolectric_all
LOCAL_STATIC_JAVA_LIBRARIES := \
Robolectric_shadows_androidx_fragment \
Robolectric_shadows_httpclient \
Robolectric_shadows_framework \
Robolectric_shadows_supportv4 \
Robolectric_shadows_multidex \
Robolectric_robolectric \
Robolectric_annotations \
Robolectric_resources \
Robolectric_shadowapi \
Robolectric_sandbox \
Robolectric_junit \
Robolectric_utils \
robolectric-asm-6.0 \
robolectric-junit-4.12 \
robolectric-asm-tree-6.0 \
robolectric-guava-25.1-jre \
robolectric-asm-commons-6.0 \
robolectric-bouncycastle-1.46 \
robolectric-sqlite4java-0.282 \
robolectric-hamcrest-core-1.3 \
robolectric-hamcrest-library-1.3 \
robolectric-host-androidx-test-runner \
robolectric-host-org_apache_http_legacy
LOCAL_JAVA_RESOURCE_DIRS := \
shadows/framework/src/main/resources \
src/main/resources
include $(BUILD_HOST_JAVA_LIBRARY)
include $(call first-makefiles-under, $(LOCAL_PATH))
##############################################
# Run all Robolectric tests
##############################################
include $(CLEAR_VARS)
.PHONY: Run_robolectric_test_suite
Run_robolectric_test_suite: \
Run_robolectric_utils_tests \
Run_robolectric_sandbox_tests \
Run_robolectric_processor_tests \
Run_robolectric_resources_tests \
Run_robolectric_shadowapi_tests \
Run_robolectric_robolectric_tests \
Run_robolectric_shadows_supportv4_tests \
Run_robolectric_shadows_httpclient_tests \
Run_robolectric_shadows_androidx_fragment_tests
##############################################
# target prebuilts for Robolectric
##############################################
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \
robolectric-monitor-1.0.2-alpha1:../../../prebuilts/tools/common/m2/repository/com/android/support/test/monitor/1.0.2-alpha1/monitor-1.0.2-alpha1.aar
include $(BUILD_MULTI_PREBUILT)
##############################################
# host prebuilts for Robolectric
##############################################
include $(CLEAR_VARS)
LOCAL_PREBUILT_JAVA_LIBRARIES := \
robolectric-accessibility-test-framework-2.1:../../../prebuilts/tools/common/m2/repository/com/google/android/apps/common/testing/accessibility/framework/accessibility-test-framework/2.1/accessibility-test-framework-2.1.jar \
robolectric-ant-1.8.0:../../../prebuilts/tools/common/m2/repository/org/apache/ant/ant/1.8.0/ant-1.8.0.jar \
robolectric-asm-6.0:../../../prebuilts/tools/common/m2/repository/org/ow2/asm/asm/6.0/asm-6.0.jar \
robolectric-asm-commons-6.0:../../../prebuilts/tools/common/m2/repository/org/ow2/asm/asm-commons/6.0/asm-commons-6.0.jar \
robolectric-asm-tree-6.0:../../../prebuilts/tools/common/m2/repository/org/ow2/asm/asm-tree/6.0/asm-tree-6.0.jar \
robolectric-bouncycastle-1.46:../../../prebuilts/tools/common/m2/repository/org/bouncycastle/bcprov-jdk16/1.46/bcprov-jdk16-1.46.jar \
robolectric-byte-buddy-1.6.5:../../../prebuilts/tools/common/m2/repository/net/bytebuddy/byte-buddy/1.6.5/byte-buddy-1.6.5.jar \
robolectric-byte-buddy-agent-1.6.5:../../../prebuilts/tools/common/m2/repository/net/bytebuddy/byte-buddy-agent/1.6.5/byte-buddy-agent-1.6.5.jar \
robolectric-compile-testing-0.15:../../../prebuilts/tools/common/m2/repository/com/google/testing/compile/compile-testing/0.15/compile-testing-0.15.jar \
robolectric-diffutils-1.3.0:../../../prebuilts/tools/common/m2/repository/com/googlecode/java-diff-utils/diffutils/1.3.0/diffutils-1.3.0.jar \
robolectric-truth-0.42:../../../prebuilts/tools/common/m2/repository/com/google/truth/truth/0.42/truth-0.42.jar \
robolectric-gson-2.8:../../../prebuilts/tools/common/m2/repository/com/google/code/gson/gson/2.8.0/gson-2.8.0.jar \
robolectric-guava-25.1-jre:../../../prebuilts/tools/common/m2/repository/com/google/guava/guava/25.1-jre/guava-25.1-jre.jar \
robolectric-hamcrest-core-1.3:../../../prebuilts/tools/common/m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar \
robolectric-hamcrest-library-1.3:../../../prebuilts/tools/common/m2/repository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar \
robolectric-httpclient-4.0.3:../../../prebuilts/tools/common/m2/repository/org/apache/httpcomponents/httpclient/4.0.3/httpclient-4.0.3.jar \
robolectric-httpcore-4.0.1:../../../prebuilts/tools/common/m2/repository/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar \
robolectric-icu4j-53.1:../../../prebuilts/tools/common/m2/repository/com/ibm/icu/icu4j/53.1/icu4j-53.1.jar \
robolectric-javax.annotation-api-1.2:../../../prebuilts/tools/common/m2/repository/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.jar \
robolectric-junit-4.12:../../../prebuilts/tools/common/m2/repository/junit/junit/4.12/junit-4.12.jar \
robolectric-objenesis-2.5:../../../prebuilts/tools/common/m2/repository/org/objenesis/objenesis/2.5/objenesis-2.5.jar \
robolectric-maven-ant-tasks-2.1.3:../../../prebuilts/tools/common/m2/repository/org/apache/maven/maven-ant-tasks/2.1.3/maven-ant-tasks-2.1.3.jar \
robolectric-mockito-core-2.16.0:../../../prebuilts/tools/common/m2/repository/org/mockito/mockito-core/2.16.0/mockito-core-2.16.0.jar \
robolectric-sqlite4java-0.282:../../../prebuilts/tools/common/m2/repository/com/almworks/sqlite4java/sqlite4java/0.282/sqlite4java-0.282.jar \
robolectric-xstream-1.4.8:../../../prebuilts/tools/common/m2/repository/com/thoughtworks/xstream/xstream/1.4.8/xstream-1.4.8.jar
include $(BUILD_HOST_PREBUILT)
##############################################
# HACK: specify these *HOST* jars needed to execute robolectric as though they are prebuilt *TARGET* java libraries
##############################################
include $(CLEAR_VARS)
LOCAL_MODULE := Robolectric_all-target
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
LOCAL_UNINSTALLABLE_MODULE := true
LOCAL_BUILT_MODULE_STEM := javalib.jar
LOCAL_PREBUILT_MODULE_FILE := $(call java-lib-files, Robolectric_all, HOST)
include $(BUILD_PREBUILT)