• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1//#############################################
2// Compile Robolectric processor
3//#############################################
4
5package {
6    // See: http://go/android-license-faq
7    // A large-scale-change added 'default_applicable_licenses' to import
8    // all of the 'license_kinds' from "external_robolectric_license"
9    // to get the below license kinds:
10    //   SPDX-license-identifier-Apache-2.0
11    //   SPDX-license-identifier-MIT
12    default_applicable_licenses: ["external_robolectric_license"],
13}
14
15java_library_host {
16    name: "libRobolectric_processor_upstream",
17    srcs: ["src/main/java/**/*.java"],
18    java_resource_dirs: ["src/main/resources"],
19    java_resources: ["sdks.txt"],
20    use_tools_jar: true,
21    plugins: [
22        "auto_service_plugin",
23    ],
24    static_libs: [
25        "Robolectric_annotations_upstream",
26        "Robolectric_shadowapi_upstream",
27        "auto_service_annotations",
28        "asm-commons-9.2",
29        "guava",
30        "asm-tree-9.2",
31        "gson-prebuilt-jar-2.9.1",
32        "asm-9.2",
33        "jsr305",
34        "auto-common-1.1.2",
35    ],
36
37    openjdk9: {
38        javacflags: [
39            "--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED",
40            "--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED",
41            "--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED",
42        ],
43    },
44}
45
46java_plugin {
47    name: "Robolectric_processor_upstream",
48    processor_class: "org.robolectric.annotation.processing.RobolectricProcessor",
49    static_libs: ["libRobolectric_processor_upstream"],
50}
51
52//#############################################
53// Compile Robolectric processor tests
54//#############################################
55java_test_host {
56    name: "Robolectric_processor_tests_upstream",
57    srcs: ["src/test/java/**/*.java"],
58    java_resource_dirs: ["src/test/resources"],
59    java_resources: [":Robolectric_processor_tests_resources_upstream"],
60    static_libs: [
61        "Robolectric_annotations_upstream",
62        "libRobolectric_processor_upstream",
63        "Robolectric_shadowapi_upstream",
64        "robolectric-javax.annotation-api-1.2",
65        "robolectric-compile-testing-0.19",
66        "mockito",
67        "hamcrest",
68        "guava",
69        "objenesis",
70        "junit",
71        "truth-prebuilt",
72        "gson-prebuilt-jar-2.9.1",
73        "jsr305",
74    ],
75
76    test_suites: ["general-tests"],
77
78    // Disable annotation processing while compiling tests to avoid executing RobolectricProcessor.
79    javacflags: ["-proc:none"],
80
81    // Disabling as javahost test is broken bramble
82    test_options: {
83        unit_test: false,
84    },
85
86}
87
88// Workaround: java_resource_dirs ignores *.java files
89filegroup {
90    name: "Robolectric_processor_tests_resources_upstream",
91    path: "src/test/resources",
92    srcs: ["src/test/resources/**/*.java"],
93}
94