| package { |
| // See: http://go/android-license-faq |
| // A large-scale-change added 'default_applicable_licenses' to import |
| // all of the 'license_kinds' from "frameworks_base_license" |
| // to get the below license kinds: |
| // SPDX-license-identifier-Apache-2.0 |
| default_applicable_licenses: ["frameworks_base_license"], |
| } |
| |
| java_library_host { |
| name: "ImmutabilityAnnotationProcessorHostLibrary", |
| srcs: [ |
| "src/**/*.kt", |
| "src/**/*.java", |
| ], |
| use_tools_jar: true, |
| javacflags: [ |
| "--add-modules=jdk.compiler", |
| "--add-exports jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED", |
| "--add-exports jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED", |
| "--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED", |
| "--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED", |
| ], |
| } |
| |
| java_plugin { |
| name: "ImmutabilityAnnotationProcessor", |
| processor_class: "android.processor.immutability.ImmutabilityProcessor", |
| static_libs: ["ImmutabilityAnnotationProcessorHostLibrary"], |
| javacflags: [ |
| "--add-modules=jdk.compiler", |
| "--add-exports jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED", |
| "--add-exports jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED", |
| "--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED", |
| "--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED", |
| ], |
| } |
| |
| java_library { |
| name: "ImmutabilityAnnotation", |
| srcs: ["src/**/Immutable.java"], |
| sdk_version: "core_current", |
| host_supported: true, |
| } |
| |
| java_test_host { |
| name: "ImmutabilityAnnotationProcessorUnitTests", |
| |
| srcs: ["test/**/*.kt"], |
| |
| static_libs: [ |
| "compile-testing-prebuilt", |
| "truth", |
| "junit", |
| "kotlin-reflect", |
| "ImmutabilityAnnotationProcessorHostLibrary", |
| ], |
| |
| // Bundle the source file so it can be loaded into the test compiler |
| java_resources: [":ImmutabilityAnnotationJavaSource"], |
| |
| test_suites: ["general-tests"], |
| test_options: { |
| unit_test: true, |
| }, |
| javacflags: [ |
| "--add-modules=jdk.compiler", |
| "--add-exports jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED", |
| "--add-exports jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED", |
| "--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED", |
| "--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED", |
| ], |
| test_config_template: "AndroidTestTemplate.xml", |
| } |
| |
| filegroup { |
| name: "ImmutabilityAnnotationJavaSource", |
| srcs: ["src/android/processor/immutability/Immutable.java"], |
| path: "src/android/processor/immutability/", |
| } |