• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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", "java_library")
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/auto:value",
36        "//third_party/java/guava/base",
37        "//third_party/java/guava/collect",
38        "//third_party/java/javapoet",
39        "//third_party/java/jsr305_annotations",
40        "//third_party/kotlin/kotlinpoet",
41        "@maven//:com_google_devtools_ksp_symbol_processing_api",
42        "@maven//:org_jetbrains_kotlin_kotlin_stdlib",
43    ],
44)
45
46alias(
47    name = "xprocessing-lib",
48    actual = ":xprocessing-jar",
49    visibility = ["//visibility:private"],
50)
51
52java_import(
53    name = "xprocessing-jar",
54    jars = ["xprocessing.jar"],
55    deps = [
56        "//third_party/kotlin/kotlinpoet",
57        "@maven//:com_google_devtools_ksp_symbol_processing_api",
58    ],
59)
60
61java_library(
62    name = "xprocessing-testing",
63    testonly = 1,
64    exports = [
65        ":xprocessing-testing-lib",
66        "@maven//:com_google_devtools_ksp_symbol_processing",
67        "@maven//:com_google_devtools_ksp_symbol_processing_aa_embeddable",
68        "@maven//:com_google_devtools_ksp_symbol_processing_common_deps",
69        "@maven//:org_jetbrains_kotlin_kotlin_annotation_processing_embeddable",
70        "@maven//:org_jetbrains_kotlin_kotlin_compiler_embeddable",
71        "@maven//:org_jetbrains_kotlin_kotlin_daemon_embeddable",
72    ],
73)
74
75alias(
76    name = "xprocessing-testing-lib",
77    actual = ":xprocessing-testing-jar",
78    visibility = ["//visibility:private"],
79)
80
81java_import(
82    name = "xprocessing-testing-jar",
83    jars = ["xprocessing-testing.jar"],
84    visibility = ["//visibility:private"],
85)
86