xref: /aosp_15_r20/external/robolectric/processor/Android.bp (revision e6ba16074e6af37d123cb567d575f496bf0a58ee)
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 {
16    name: "libRobolectric_processor_upstream",
17    host_supported: true,
18    device_supported: false,
19    srcs: ["src/main/java/**/*.java"],
20    java_resource_dirs: ["src/main/resources"],
21    //java_resources: ["sdks.txt"],
22    use_tools_jar: true,
23    plugins: [
24        "auto_service_plugin",
25    ],
26    static_libs: [
27        "Robolectric_annotations_upstream",
28        "Robolectric_shadowapi_upstream",
29        "Robolectric_shadows_versioning_upstream",
30        "asm-9.6",
31        "asm-commons-9.6",
32        "asm-tree-9.6",
33        "asm-util-9.6",
34        "auto_service_annotations",
35        "auto-common-1.1.2",
36        "gson",
37        "guava",
38        "jsr305",
39    ],
40
41    openjdk9: {
42        javacflags: [
43            "--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED",
44            "--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED",
45            "--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED",
46        ],
47    },
48}
49
50java_plugin {
51    name: "Robolectric_processor_upstream",
52    processor_class: "org.robolectric.annotation.processing.RobolectricProcessor",
53    static_libs: ["libRobolectric_processor_upstream"],
54}
55
56//#############################################
57// Compile Robolectric processor tests
58//#############################################
59java_test_host {
60    name: "Robolectric_processor_tests_upstream",
61    srcs: ["src/test/java/**/*.java"],
62    java_resource_dirs: ["src/test/resources"],
63    java_resources: [":Robolectric_processor_tests_resources_upstream"],
64    static_libs: [
65        "Robolectric_annotations_upstream",
66        "libRobolectric_processor_upstream",
67        "Robolectric_shadowapi_upstream",
68        "robolectric-javax.annotation-api-1.2",
69        "robolectric-compile-testing-0.19",
70        "mockito",
71        "hamcrest",
72        "guava",
73        "objenesis",
74        "junit",
75        "truth",
76        "gson",
77        "jsr305",
78    ],
79
80    test_suites: ["general-tests"],
81
82    // Disable annotation processing while compiling tests to avoid executing RobolectricProcessor.
83    javacflags: ["-proc:none"],
84}
85
86// Workaround: java_resource_dirs ignores *.java files
87filegroup {
88    name: "Robolectric_processor_tests_resources_upstream",
89    path: "src/test/resources",
90    srcs: ["src/test/resources/**/*.java"],
91}
92