xref: /aosp_15_r20/external/dagger2/java/dagger/internal/codegen/xprocessing/BUILD (revision f585d8a307d0621d6060bd7e80091fdcbf94fe27)
1# Copyright (C) 2021 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#   Import for including XProcessing in Dagger.
17
18load("@rules_java//java:defs.bzl", "java_import")
19
20package(default_visibility = ["//:src"])
21
22java_library(
23    name = "xprocessing",
24    # TODO(b/181056551): Ideally, all of the methods in these utility classes
25    # will move directly into XProcessing, and we can then remove these classes.
26    srcs = glob(["*.java"]),
27    exports = [
28        ":xprocessing-lib",
29    ],
30    deps = [
31        ":xprocessing-lib",
32        "//java/dagger/internal/codegen/extension",
33        "//java/dagger/spi",
34        "//third_party/java/auto:common",
35        "//third_party/java/guava/base",
36        "//third_party/java/guava/collect",
37        "//third_party/java/javapoet",
38        "//third_party/java/jsr305_annotations",
39        "//third_party/kotlin/kotlinpoet",
40        "@maven//:com_google_devtools_ksp_symbol_processing_api",
41        "@maven//:org_jetbrains_kotlin_kotlin_stdlib",
42    ],
43)
44
45alias(
46    name = "xprocessing-lib",
47    actual = ":xprocessing-jar",
48    visibility = ["//visibility:private"],
49)
50
51java_import(
52    name = "xprocessing-jar",
53    jars = ["xprocessing.jar"],
54    deps = [
55        "//third_party/kotlin/kotlinpoet",
56        "@maven//:com_google_devtools_ksp_symbol_processing_api",
57    ],
58)
59
60java_library(
61    name = "xprocessing-testing",
62    testonly = 1,
63    exports = [
64        ":xprocessing-testing-lib",
65        "@maven//:com_google_devtools_ksp_symbol_processing",
66        "@maven//:org_jetbrains_kotlin_kotlin_annotation_processing_embeddable",
67        "@maven//:org_jetbrains_kotlin_kotlin_compiler_embeddable",
68        "@maven//:org_jetbrains_kotlin_kotlin_daemon_embeddable",
69    ],
70)
71
72alias(
73    name = "xprocessing-testing-lib",
74    actual = ":xprocessing-testing-jar",
75    visibility = ["//visibility:private"],
76)
77
78java_import(
79    name = "xprocessing-testing-jar",
80    jars = ["xprocessing-testing.jar"],
81    visibility = ["//visibility:private"],
82)
83