xref: /aosp_15_r20/external/dagger2/java/dagger/model/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#   Dagger's core APIs exposed for plugins
17
18load("@rules_java//java:defs.bzl", "java_library")
19load(
20    "//:build_defs.bzl",
21    "DOCLINT_HTML_AND_SYNTAX",
22    "DOCLINT_REFERENCES",
23)
24
25package(default_visibility = [
26    # The dagger/spi should be the only direct dependent on this target.
27    # If you need to depend on :model, depend on dagger/spi instead so
28    # that pom files correctly pick up the spi maven dependency.
29    # TODO(bcorso): Consider if :model should have its own maven coordinates.
30    "//java/dagger/spi:__pkg__",
31])
32
33filegroup(
34    name = "model-srcs",
35    srcs = glob(
36        ["*.java"],
37    ),
38)
39
40java_library(
41    name = "model",
42    srcs = [":model-srcs"],
43    javacopts = DOCLINT_HTML_AND_SYNTAX + DOCLINT_REFERENCES,
44    deps = [
45        "//java/dagger:core",
46        "//java/dagger/internal/codegen/extension",
47        "//third_party/java/auto:common",
48        "//third_party/java/auto:value",
49        "//third_party/java/error_prone:annotations",
50        "//third_party/java/guava/base",
51        "//third_party/java/guava/collect",
52        "//third_party/java/guava/graph",
53        "//third_party/java/javapoet",
54        "//third_party/java/jsr330_inject",
55    ],
56)
57