xref: /aosp_15_r20/external/auto/value/Android.bp (revision 1c2bbba85eccddce6de79cbbf1645fda32e723f0)
1package {
2    // See: http://go/android-license-faq
3    // A large-scale-change added 'default_applicable_licenses' to import
4    // all of the 'license_kinds' from "external_auto_license"
5    // to get the below license kinds:
6    //   SPDX-license-identifier-Apache-2.0
7    default_applicable_licenses: ["external_auto_license"],
8}
9
10filegroup {
11    name: "auto_value_plugin_resources",
12    path: "src/main/java",
13    srcs: ["src/main/java/com/google/auto/value/processor/*.vm"],
14}
15
16java_library_host {
17    name: "libauto_value_plugin",
18    srcs: ["src/main/java/com/google/auto/value/processor/**/*.java"],
19    java_resources: [":auto_value_plugin_resources"],
20    static_libs: [
21        "auto_android_annotation_stubs",
22        "auto_service_annotations",
23        "error_prone_annotations",
24
25        "asm-9.6",
26        "auto_common",
27        "auto_value_extension",
28        "escapevelocity",
29        "guava",
30        "javapoet",
31        "kotlin-stdlib",
32        "kotlinx_metadata_jvm",
33    ],
34    visibility: ["//visibility:public"],
35}
36
37java_library_host {
38    name: "auto_value_extension",
39    srcs: ["src/main/java/com/google/auto/value/extension/*.java"],
40    libs: [
41        "guava",
42    ],
43    visibility: ["//visibility:public"],
44}
45
46java_library {
47    name: "auto_value_annotations",
48    host_supported: true,
49    srcs: ["src/main/java/com/google/auto/value/*.java"],
50    sdk_version: "core_current",
51    // AutoValue is a pure java library without any dependency on android framework, however due to
52    // a dependency from an apex it is required to have a min_sdk_version
53    min_sdk_version: "19",
54    visibility: ["//visibility:public"],
55    // b/267831518: Pin tradefed and dependencies to Java 11.
56    java_version: "11",
57    apex_available: [
58        "//apex_available:platform",
59        "com.android.extservices",
60        "com.android.adservices",
61        "com.android.tethering",
62        "com.android.uwb",
63    ],
64    target: {
65        windows: {
66            enabled: true,
67        },
68    },
69}
70
71java_plugin {
72    name: "auto_value_plugin",
73    static_libs: ["libauto_value_plugin"],
74    processor_class: "com.google.auto.value.processor.AutoValueProcessor",
75    visibility: ["//visibility:public"],
76}
77
78java_plugin {
79    name: "auto_value_builder_plugin",
80    static_libs: ["libauto_value_plugin"],
81    processor_class: "com.google.auto.value.processor.AutoBuilderProcessor",
82    visibility: ["//visibility:public"],
83}
84
85java_plugin {
86    name: "auto_oneof_plugin",
87    static_libs: [
88        "libauto_value_plugin",
89
90        "auto_android_annotation_stubs",
91        "auto_common",
92        "libauto_service_plugin",
93        "auto_value_extension",
94        "escapevelocity",
95        "guava",
96        "javapoet",
97    ],
98    processor_class: "com.google.auto.value.processor.AutoOneOfProcessor",
99    visibility: ["//visibility:public"],
100}
101
102java_plugin {
103    name: "auto_annotation_plugin",
104    static_libs: [
105        "libauto_value_plugin",
106
107        "auto_android_annotation_stubs",
108        "auto_common",
109        "libauto_service_plugin",
110        "auto_value_extension",
111        "escapevelocity",
112        "guava",
113        "javapoet",
114    ],
115    processor_class: "com.google.auto.value.processor.AutoAnnotationProcessor",
116    visibility: ["//visibility:public"],
117}
118
119java_library {
120    name: "auto_value_memoized_extension_annotations",
121    host_supported: true,
122    srcs: ["src/main/java/com/google/auto/value/extension/memoized/*.java"],
123    sdk_version: "core_current",
124    visibility: ["//visibility:public"],
125}
126
127java_plugin {
128    name: "auto_value_memoized_extension_plugin",
129    srcs: ["src/main/java/com/google/auto/value/extension/memoized/processor/*.java"],
130    static_libs: [
131        "auto_android_annotation_stubs",
132        "auto_common",
133        "auto_service_annotations",
134        "auto_value_extension",
135        "error_prone_annotations",
136        "escapevelocity",
137        "guava",
138        "javapoet",
139        "jsr305",
140    ],
141    plugins: ["auto_service_plugin"],
142    processor_class: "com.google.auto.value.extension.memoized.processor.MemoizedValidator",
143    visibility: ["//visibility:public"],
144}
145