xref: /aosp_15_r20/external/dagger2/java/dagger/android/processor/BUILD (revision f585d8a307d0621d6060bd7e80091fdcbf94fe27)
1# Copyright (C) 2017 The Dagger Authors.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15# Description:
16#   Public Dagger API for Android
17
18load("@rules_java//java:defs.bzl", "java_library", "java_plugin")
19load(
20    "//:build_defs.bzl",
21    "DOCLINT_HTML_AND_SYNTAX",
22    "DOCLINT_REFERENCES",
23    "POM_VERSION",
24)
25load("//tools:maven.bzl", "gen_maven_artifact")
26
27package(default_visibility = ["//:src"])
28
29filegroup(
30    name = "srcs",
31    srcs = glob(["*.java"]),
32)
33
34java_library(
35    name = "base_processing_step",
36    srcs = ["BaseProcessingStep.java"],
37    deps = [
38        "//java/dagger/internal/codegen/extension",
39        "//java/dagger/internal/codegen/xprocessing",
40        "//third_party/java/guava/base",
41        "//third_party/java/guava/collect",
42        "//third_party/java/javapoet",
43    ],
44)
45
46java_library(
47    name = "processor",
48    srcs = glob(
49        ["*.java"],
50        exclude = ["BaseProcessingStep.java"],
51    ),
52    javacopts = DOCLINT_HTML_AND_SYNTAX + DOCLINT_REFERENCES,
53    tags = ["maven_coordinates=com.google.dagger:dagger-android-processor:" + POM_VERSION],
54    deps = [
55        ":base_processing_step",
56        "//java/dagger:core",
57        "//java/dagger/internal/codegen/xprocessing",
58        "//java/dagger/spi",
59        "//third_party/java/auto:service",
60        "//third_party/java/auto:value",
61        "//third_party/java/guava/base",
62        "//third_party/java/guava/collect",
63        "//third_party/java/incap",
64        "//third_party/java/javapoet",
65        "@maven//:com_google_devtools_ksp_symbol_processing_api",
66    ],
67)
68
69gen_maven_artifact(
70    name = "artifact",
71    artifact_coordinates = "com.google.dagger:dagger-android-processor:" + POM_VERSION,
72    artifact_name = "Dagger Android Processor",
73    artifact_target = ":processor",
74    artifact_target_libs = [
75        "//java/dagger/internal/codegen/xprocessing",
76        "//java/dagger/android/processor:base_processing_step",
77    ],
78    artifact_target_maven_deps = [
79        "com.google.dagger:dagger",
80        "com.google.devtools.ksp:symbol-processing-api",
81        "com.google.guava:guava",
82        "com.squareup:javapoet",
83        "com.google.code.findbugs:jsr305",
84        "com.google.dagger:dagger-spi",
85        "com.google.guava:failureaccess",
86        "com.squareup:kotlinpoet",
87        "net.ltgt.gradle.incap:incap",
88        "org.jetbrains.kotlin:kotlin-stdlib",
89    ],
90    javadoc_root_packages = [
91        "dagger.android.processor",
92    ],
93    javadoc_srcs = [":srcs"],
94)
95
96java_plugin(
97    name = "plugin",
98    generates_api = 1,
99    processor_class = "dagger.android.processor.AndroidProcessor",
100    deps = [":processor"],
101)
102