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