xref: /aosp_15_r20/external/dagger2/java/dagger/spi/BUILD (revision f585d8a307d0621d6060bd7e80091fdcbf94fe27)
1# Copyright (C) 2018 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#   The Service Provider Interface for Dagger's binding graph model
17
18load("@rules_java//java:defs.bzl", "java_library")
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 = "spi-srcs",
31    srcs = glob(["*.java"]) + [
32        "//java/dagger/model:model-srcs",
33        "//java/dagger/spi/model:model-srcs",
34    ],
35)
36
37java_library(
38    name = "spi",
39    srcs = glob(["*.java"]),
40    javacopts = DOCLINT_HTML_AND_SYNTAX + DOCLINT_REFERENCES,
41    tags = ["maven_coordinates=com.google.dagger:dagger-spi:" + POM_VERSION],
42    exports = [
43        "//java/dagger/model",
44        "//java/dagger/spi/model",
45    ],
46    deps = [
47        "//java/dagger:core",
48        "//java/dagger/model",
49        "//third_party/java/auto:value",
50        "//third_party/java/error_prone:annotations",
51    ],
52)
53
54gen_maven_artifact(
55    name = "artifact",
56    artifact_coordinates = "com.google.dagger:dagger-spi:" + POM_VERSION,
57    artifact_name = "Dagger SPI",
58    artifact_target = ":spi",
59    artifact_target_libs = [
60        "//java/dagger/internal/codegen/extension",
61        "//java/dagger/model",
62        "//java/dagger/spi/model",
63    ],
64    artifact_target_maven_deps = [
65        "com.google.code.findbugs:jsr305",
66        "com.google.dagger:dagger",
67        "com.google.devtools.ksp:symbol-processing-api",
68        "com.google.guava:failureaccess",
69        "com.google.guava:guava",
70        "com.squareup:javapoet",
71        "javax.inject:javax.inject",
72    ],
73    javadoc_root_packages = [
74        "dagger.model",
75        "dagger.spi",
76    ],
77    javadoc_srcs = [":spi-srcs"],
78    # The shaded deps are added using jarjar, but they won't be shaded until later
79    # due to: https://github.com/google/dagger/issues/2765. For the shaded rules see
80    # util/deploy-dagger.sh
81    shaded_deps = [
82        "//third_party/java/auto:common",
83        "@maven//:org_jetbrains_kotlinx_kotlinx_metadata_jvm",
84        "//java/dagger/internal/codegen/xprocessing:xprocessing-jar",
85    ],
86)
87