aboutsummaryrefslogtreecommitdiff
path: root/processor/Android.bp
blob: 1988e97a6c627b5295f7ecf192453d11aa011f0c (plain)
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"],
}