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-shadows_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-shadows_license"], 13} 14 15java_library_host { 16 name: "libRobolectric_processor", 17 srcs: ["src/main/java/**/*.java"], 18 java_resource_dirs: ["src/main/resources"], 19 java_resources: ["sdks.txt"], 20 use_tools_jar: true, 21 static_libs: [ 22 "Robolectric_annotations", 23 "Robolectric_shadowapi", 24 "ow2-asm-commons", 25 "guava", 26 "ow2-asm-tree", 27 "gson", 28 "ow2-asm", 29 "jsr305", 30 ], 31 32 openjdk9: { 33 javacflags: [ 34 "--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED", 35 "--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED", 36 "--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED", 37 ], 38 }, 39} 40 41java_plugin { 42 name: "Robolectric_processor", 43 processor_class: "org.robolectric.annotation.processing.RobolectricProcessor", 44 static_libs: ["libRobolectric_processor"], 45} 46 47//############################################# 48// Compile Robolectric processor tests 49//############################################# 50java_test_host { 51 name: "Robolectric_processor_tests", 52 srcs: ["src/test/java/**/*.java"], 53 java_resource_dirs: ["src/test/resources"], 54 java_resources: [":Robolectric_processor_tests_resources"], 55 56 static_libs: [ 57 "Robolectric_annotations", 58 "libRobolectric_processor", 59 "Robolectric_shadowapi", 60 "robolectric-javax.annotation-api-1.2", 61 "robolectric-compile-testing-0.19", 62 "mockito", 63 "hamcrest", 64 "guava", 65 "objenesis", 66 "junit", 67 "truth-prebuilt", 68 "gson", 69 "jsr305", 70 ], 71 72 test_suites: ["general-tests"], 73 74 // Disable annotation processing while compiling tests to avoid executing RobolectricProcessor. 75 javacflags: ["-proc:none"], 76} 77 78// Workaround: java_resource_dirs ignores *.java files 79filegroup { 80 name: "Robolectric_processor_tests_resources", 81 path: "src/test/resources", 82 srcs: ["src/test/resources/**/*.java"], 83} 84