xref: /aosp_15_r20/external/dagger2/third_party/java/auto/BUILD (revision f585d8a307d0621d6060bd7e80091fdcbf94fe27)
1*f585d8a3SJacky Wang# Copyright (C) 2021 The Dagger Authors.
2*f585d8a3SJacky Wang#
3*f585d8a3SJacky Wang# Licensed under the Apache License, Version 2.0 (the "License");
4*f585d8a3SJacky Wang# you may not use this file except in compliance with the License.
5*f585d8a3SJacky Wang# You may obtain a copy of the License at
6*f585d8a3SJacky Wang#
7*f585d8a3SJacky Wang# http://www.apache.org/licenses/LICENSE-2.0
8*f585d8a3SJacky Wang#
9*f585d8a3SJacky Wang# Unless required by applicable law or agreed to in writing, software
10*f585d8a3SJacky Wang# distributed under the License is distributed on an "AS IS" BASIS,
11*f585d8a3SJacky Wang# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*f585d8a3SJacky Wang# See the License for the specific language governing permissions and
13*f585d8a3SJacky Wang# limitations under the License.
14*f585d8a3SJacky Wang
15*f585d8a3SJacky Wang# BUILD rules for https://github.com/google/auto
16*f585d8a3SJacky Wang
17*f585d8a3SJacky Wangload("@rules_java//java:defs.bzl", "java_library", "java_plugin")
18*f585d8a3SJacky Wang
19*f585d8a3SJacky Wangpackage(default_visibility = ["//:src"])
20*f585d8a3SJacky Wang
21*f585d8a3SJacky Wangalias(
22*f585d8a3SJacky Wang    name = "common",
23*f585d8a3SJacky Wang    actual = "@maven//:com_google_auto_auto_common",
24*f585d8a3SJacky Wang)
25*f585d8a3SJacky Wang
26*f585d8a3SJacky Wangjava_plugin(
27*f585d8a3SJacky Wang    name = "auto_value_processor",
28*f585d8a3SJacky Wang    processor_class = "com.google.auto.value.processor.AutoValueProcessor",
29*f585d8a3SJacky Wang    visibility = ["//visibility:private"],
30*f585d8a3SJacky Wang    deps = [
31*f585d8a3SJacky Wang        ":common",
32*f585d8a3SJacky Wang        ":service",
33*f585d8a3SJacky Wang        "//third_party/java/guava",
34*f585d8a3SJacky Wang        "@maven//:com_google_auto_value_auto_value",
35*f585d8a3SJacky Wang    ],
36*f585d8a3SJacky Wang)
37*f585d8a3SJacky Wang
38*f585d8a3SJacky Wangjava_plugin(
39*f585d8a3SJacky Wang    name = "auto_annotation_processor",
40*f585d8a3SJacky Wang    processor_class = "com.google.auto.value.processor.AutoAnnotationProcessor",
41*f585d8a3SJacky Wang    visibility = ["//visibility:private"],
42*f585d8a3SJacky Wang    deps = [
43*f585d8a3SJacky Wang        ":common",
44*f585d8a3SJacky Wang        ":service",
45*f585d8a3SJacky Wang        "//third_party/java/guava",
46*f585d8a3SJacky Wang        "@maven//:com_google_auto_value_auto_value",
47*f585d8a3SJacky Wang    ],
48*f585d8a3SJacky Wang)
49*f585d8a3SJacky Wang
50*f585d8a3SJacky Wangjava_plugin(
51*f585d8a3SJacky Wang    name = "auto_oneof_processor",
52*f585d8a3SJacky Wang    processor_class = "com.google.auto.value.processor.AutoOneOfProcessor",
53*f585d8a3SJacky Wang    visibility = ["//visibility:private"],
54*f585d8a3SJacky Wang    deps = [
55*f585d8a3SJacky Wang        ":common",
56*f585d8a3SJacky Wang        ":service",
57*f585d8a3SJacky Wang        "//third_party/java/guava",
58*f585d8a3SJacky Wang        "@maven//:com_google_auto_value_auto_value",
59*f585d8a3SJacky Wang    ],
60*f585d8a3SJacky Wang)
61*f585d8a3SJacky Wang
62*f585d8a3SJacky Wangjava_library(
63*f585d8a3SJacky Wang    name = "value",
64*f585d8a3SJacky Wang    exported_plugins = [
65*f585d8a3SJacky Wang        ":auto_annotation_processor",
66*f585d8a3SJacky Wang        ":auto_oneof_processor",
67*f585d8a3SJacky Wang        ":auto_value_processor",
68*f585d8a3SJacky Wang    ],
69*f585d8a3SJacky Wang    tags = ["maven:compile_only"],
70*f585d8a3SJacky Wang    exports = [
71*f585d8a3SJacky Wang        "//third_party/java/error_prone:annotations",
72*f585d8a3SJacky Wang        "@maven//:com_google_auto_value_auto_value_annotations",
73*f585d8a3SJacky Wang    ],
74*f585d8a3SJacky Wang)
75*f585d8a3SJacky Wang
76*f585d8a3SJacky Wangjava_plugin(
77*f585d8a3SJacky Wang    name = "auto_factory_processor",
78*f585d8a3SJacky Wang    generates_api = 1,
79*f585d8a3SJacky Wang    processor_class = "com.google.auto.factory.processor.AutoFactoryProcessor",
80*f585d8a3SJacky Wang    visibility = ["//visibility:private"],
81*f585d8a3SJacky Wang    deps = [
82*f585d8a3SJacky Wang        ":common",
83*f585d8a3SJacky Wang        ":service",
84*f585d8a3SJacky Wang        "//third_party/java/google_java_format",
85*f585d8a3SJacky Wang        "//third_party/java/guava",
86*f585d8a3SJacky Wang        "//third_party/java/javapoet",
87*f585d8a3SJacky Wang        "@maven//:com_google_auto_factory_auto_factory",
88*f585d8a3SJacky Wang    ],
89*f585d8a3SJacky Wang)
90*f585d8a3SJacky Wang
91*f585d8a3SJacky Wangjava_library(
92*f585d8a3SJacky Wang    name = "factory",
93*f585d8a3SJacky Wang    exported_plugins = [":auto_factory_processor"],
94*f585d8a3SJacky Wang    exports = ["@maven//:com_google_auto_factory_auto_factory"],
95*f585d8a3SJacky Wang)
96*f585d8a3SJacky Wang
97*f585d8a3SJacky Wangjava_plugin(
98*f585d8a3SJacky Wang    name = "auto_service_processor",
99*f585d8a3SJacky Wang    processor_class = "com.google.auto.service.processor.AutoServiceProcessor",
100*f585d8a3SJacky Wang    visibility = ["//visibility:private"],
101*f585d8a3SJacky Wang    deps = [
102*f585d8a3SJacky Wang        ":common",
103*f585d8a3SJacky Wang        "//third_party/java/guava",
104*f585d8a3SJacky Wang        "@maven//:com_google_auto_service_auto_service",
105*f585d8a3SJacky Wang        "@maven//:com_google_auto_service_auto_service_annotations",
106*f585d8a3SJacky Wang    ],
107*f585d8a3SJacky Wang)
108*f585d8a3SJacky Wang
109*f585d8a3SJacky Wangjava_library(
110*f585d8a3SJacky Wang    name = "service",
111*f585d8a3SJacky Wang    exported_plugins = [":auto_service_processor"],
112*f585d8a3SJacky Wang    tags = ["maven:compile_only"],
113*f585d8a3SJacky Wang    exports = ["@maven//:com_google_auto_service_auto_service_annotations"],
114*f585d8a3SJacky Wang)
115