##############################################
# Compile Robolectric processor
##############################################
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := Robolectric_processor
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
LOCAL_IS_HOST_MODULE := true
sdks_txt_file := $(call local-intermediates-dir)/sdks.txt
LOCAL_SRC_FILES := $(call all-java-files-under, src/main/java)
LOCAL_JAVA_RESOURCE_DIRS := src/main/resources
LOCAL_CLASSPATH := $(HOST_JDK_TOOLS_JAR)
LOCAL_JAVA_LIBRARIES := \
Robolectric_annotations \
Robolectric_shadowapi \
robolectric-asm-commons-6.0 \
robolectric-guava-25.1-jre \
robolectric-asm-tree-6.0 \
robolectric-gson-2.8 \
robolectric-asm-6.0 \
jsr305
LOCAL_JAVA_RESOURCE_FILES := $(sdks_txt_file)
$(sdks_txt_file): private_top := $(TOP)
$(sdks_txt_file):
$(hide) rm -f $@
$(hide) echo "$(private_top)/prebuilts/misc/common/robolectric/android-all/android-all-4.1.2_r1-robolectric-r1.jar" >>$@
$(hide) echo "$(private_top)/prebuilts/misc/common/robolectric/android-all/android-all-4.2.2_r1.2-robolectric-r1.jar" >>$@
$(hide) echo "$(private_top)/prebuilts/misc/common/robolectric/android-all/android-all-4.3_r2-robolectric-r1.jar" >>$@
$(hide) echo "$(private_top)/prebuilts/misc/common/robolectric/android-all/android-all-4.4_r1-robolectric-r2.jar" >>$@
$(hide) echo "$(private_top)/prebuilts/misc/common/robolectric/android-all/android-all-5.0.2_r3-robolectric-r0.jar" >>$@
$(hide) echo "$(private_top)/prebuilts/misc/common/robolectric/android-all/android-all-5.1.1_r9-robolectric-r2.jar" >>$@
$(hide) echo "$(private_top)/prebuilts/misc/common/robolectric/android-all/android-all-6.0.1_r3-robolectric-r1.jar" >>$@
$(hide) echo "$(private_top)/prebuilts/misc/common/robolectric/android-all/android-all-7.0.0_r1-robolectric-r1.jar" >>$@
$(hide) echo "$(private_top)/prebuilts/misc/common/robolectric/android-all/android-all-7.1.0_r7-robolectric-r1.jar" >>$@
$(hide) echo "$(private_top)/prebuilts/misc/common/robolectric/android-all/android-all-8.0.0_r4-robolectric-r1.jar" >>$@
$(hide) echo "$(private_top)/prebuilts/misc/common/robolectric/android-all/android-all-8.1.0-robolectric-4611349.jar" >>$@
$(hide) echo "$(private_top)/prebuilts/misc/common/robolectric/android-all/android-all-9-robolectric-4913185-2.jar" >>$@
ifdef TARGET_OPENJDK9
LOCAL_JAVACFLAGS := \
--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED \
--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
endif
include $(BUILD_HOST_JAVA_LIBRARY)
##############################################
# Compile Robolectric processor tests
##############################################
include $(CLEAR_VARS)
LOCAL_MODULE := Robolectric_processor_tests
LOCAL_SRC_FILES := $(call all-java-files-under, src/test/java)
LOCAL_JAVA_RESOURCE_DIRS := src/test/resources
LOCAL_JAVA_RESOURCE_FILES := $(LOCAL_PATH)/src/test/resources
LOCAL_JAVA_LIBRARIES := \
Robolectric_annotations \
Robolectric_processor \
robolectric-compile-testing-0.15 \
robolectric-mockito-core-2.16.0 \
robolectric-guava-25.1-jre \
robolectric-junit-4.12 \
robolectric-truth-0.42 \
robolectric-gson-2.8 \
jsr305
# Disable annotation processing while compiling tests to avoid executing RobolectricProcessor.
LOCAL_JAVACFLAGS := -proc:none
include $(BUILD_HOST_JAVA_LIBRARY)
##############################################
# Execute Robolectric processor tests
##############################################
include $(CLEAR_VARS)
LOCAL_MODULE := Run_robolectric_processor_tests
test_source_directory := $(LOCAL_PATH)/src/test/java
test_runtime_libraries := \
Robolectric_processor_tests \
Robolectric_annotations \
Robolectric_processor \
Robolectric_shadowapi \
robolectric-javax.annotation-api-1.2 \
robolectric-byte-buddy-agent-1.6.5 \
robolectric-compile-testing-0.15 \
robolectric-mockito-core-2.16.0 \
robolectric-hamcrest-core-1.3 \
robolectric-byte-buddy-1.6.5 \
robolectric-guava-25.1-jre \
robolectric-objenesis-2.5 \
robolectric-junit-4.12 \
robolectric-truth-0.42 \
robolectric-gson-2.8 \
jsr305
include external/robolectric-shadows/run_robolectric_module_tests.mk