| //############################################# |
| // Compile Robolectric processor |
| //############################################# |
| |
| java_plugin { |
| name: "Robolectric_processor", |
| processor_class: "org.robolectric.annotation.processing.RobolectricProcessor", |
| 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", |
| "asm-commons-6.0", |
| "guava", |
| "asm-tree-6.0", |
| "gson-prebuilt-jar", |
| "asm-6.0", |
| "jsr305", |
| ], |
| |
| openjdk9: { |
| javacflags: [ |
| "--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED", |
| "--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED", |
| ], |
| }, |
| } |
| |
| //############################################# |
| // 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", |
| "Robolectric_processor", |
| "Robolectric_shadowapi", |
| "robolectric-javax.annotation-api-1.2", |
| "robolectric-compile-testing-0.19", |
| "mockito", |
| "hamcrest", |
| "guava", |
| "objenesis", |
| "junit", |
| "truth-prebuilt", |
| "gson-prebuilt-jar", |
| "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"], |
| } |