huangcm
2025-07-01 676035278781360996553c427a12bf358249ebf7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
##############################################
# 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)