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
|
//#############################################
// Compile Robolectric processor
//#############################################
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "external_robolectric-shadows_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
// SPDX-license-identifier-MIT
default_applicable_licenses: ["external_robolectric-shadows_license"],
}
java_library_host {
name: "libRobolectric_processor",
srcs: ["src/main/java/**/*.java"],
java_resource_dirs: ["src/main/resources"],
java_resources: ["sdks.txt"],
use_tools_jar: true,
static_libs: [
"Robolectric_annotations",
"Robolectric_shadowapi",
"ow2-asm-commons",
"guava",
"ow2-asm-tree",
"gson",
"ow2-asm",
"jsr305",
],
openjdk9: {
javacflags: [
"--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED",
"--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED",
"--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED",
],
},
}
java_plugin {
name: "Robolectric_processor",
processor_class: "org.robolectric.annotation.processing.RobolectricProcessor",
static_libs: ["libRobolectric_processor"],
}
//#############################################
// Compile Robolectric processor tests
//#############################################
java_test_host {
name: "Robolectric_processor_tests",
srcs: ["src/test/java/**/*.java"],
java_resource_dirs: ["src/test/resources"],
java_resources: [":Robolectric_processor_tests_resources"],
static_libs: [
"Robolectric_annotations",
"libRobolectric_processor",
"Robolectric_shadowapi",
"robolectric-javax.annotation-api-1.2",
"robolectric-compile-testing-0.19",
"mockito",
"hamcrest",
"guava",
"objenesis",
"junit",
"truth",
"gson",
"jsr305",
],
test_suites: ["general-tests"],
// Disable annotation processing while compiling tests to avoid executing RobolectricProcessor.
javacflags: ["-proc:none"],
}
// Workaround: java_resource_dirs ignores *.java files
filegroup {
name: "Robolectric_processor_tests_resources",
path: "src/test/resources",
srcs: ["src/test/resources/**/*.java"],
}
|