diff options
author | Cole Faust <colefaust@google.com> | 2023-11-20 20:20:20 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-11-20 20:20:20 +0000 |
commit | 752fa2aeb316d09b66237cef7ba5c331fadac852 (patch) | |
tree | 31c0f53a5b5753ba0d238dc96d084a98122f065c | |
parent | 21dd832874202086381bc86c7f243d9286fb44cb (diff) | |
parent | 574f72f7487d2603c9e441d2c5e7ac0a4c11af45 (diff) | |
download | nullaway-752fa2aeb316d09b66237cef7ba5c331fadac852.tar.gz |
Fixes for nullaway update am: f9fbf65802 am: 574f72f748
Original change: https://android-review.googlesource.com/c/platform/external/nullaway/+/2831254
Change-Id: Iff8cbee8d789d25307996e6961ba86e257df551c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | Android.bp | 30 |
1 files changed, 29 insertions, 1 deletions
@@ -49,7 +49,10 @@ java_plugin { java_library_host { name: "nullaway_lib", - srcs: ["nullaway/src/**/*.java"], + srcs: [ + "nullaway/src/**/*.java", + ":nullaway_fake_contract_annotation", + ], exclude_srcs: ["nullaway/src/test/**/*.java"], @@ -57,6 +60,7 @@ java_library_host { "guava", "//external/error_prone:error_prone_checkerframework_dataflow_nullaway", "//external/error_prone:error_prone_core", + "nullaway_annotations", ], libs: [ @@ -80,3 +84,27 @@ java_library_host { "--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED", ], } + +// Nullaway depends on the Contract annotation, but we don't have it imported into android. +// Create a fake stub annotation to use instead. +genrule { + name: "nullaway_fake_contract_annotation", + out: ["org/jetbrains/annotations/Contract.java"], + cmd: "echo 'package org.jetbrains.annotations;' >> $(out) && " + + "echo 'import java.lang.annotation.*;' >> $(out) && " + + "echo '@Retention(RetentionPolicy.CLASS)' >> $(out) && " + + "echo '@Target({ElementType.METHOD, ElementType.CONSTRUCTOR})' >> $(out) && " + + "echo 'public @interface Contract {' >> $(out) && " + + "echo ' String value() default \"\";' >> $(out) && " + + "echo '}' >> $(out)", + visibility: ["//visibility:private"], +} + +java_library { + name: "nullaway_annotations", + host_supported: true, + + srcs: [ + "annotations/src/**/*.java" + ], +} |