• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2019 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#   Internal code for implementing Hilt processors.
17
18load("@io_bazel_rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library")
19load("@rules_java//java:defs.bzl", "java_library")
20
21package(default_visibility = ["//:src"])
22
23java_library(
24    name = "base_processor",
25    srcs = [
26        "BaseProcessingStep.java",
27        "JavacBaseProcessingStepProcessor.java",
28        "KspBaseProcessingStepProcessor.java",
29        "ProcessorErrorHandler.java",
30    ],
31    deps = [
32        ":compiler_options",
33        ":hilt_processing_env_configs",
34        ":processor_errors",
35        "//java/dagger/internal/codegen/extension",
36        "//java/dagger/internal/codegen/xprocessing",
37        "//third_party/java/auto:value",
38        "//third_party/java/guava/base",
39        "//third_party/java/guava/collect",
40        "//third_party/java/javapoet",
41        "@maven//:com_google_devtools_ksp_symbol_processing_api",
42    ],
43)
44
45java_library(
46    name = "hilt_processing_env_configs",
47    srcs = ["HiltProcessingEnvConfigs.java"],
48    deps = [
49        "//java/dagger/internal/codegen/xprocessing",
50    ],
51)
52
53java_library(
54    name = "processor_errors",
55    srcs = [
56        "BadInputException.java",
57        "ErrorTypeException.java",
58        "ProcessorErrors.java",
59    ],
60    deps = [
61        "//java/dagger/internal/codegen/xprocessing",
62        "//third_party/java/error_prone:annotations",
63        "//third_party/java/guava/base",
64        "//third_party/java/guava/collect",
65        "//third_party/java/jsr305_annotations",
66    ],
67)
68
69java_library(
70    name = "processors",
71    srcs = [
72        "Processors.java",
73    ],
74    deps = [
75        ":classnames",
76        ":processor_errors",
77        "//java/dagger/hilt/processor/internal/kotlin",
78        "//java/dagger/internal/codegen/extension",
79        "//java/dagger/internal/codegen/xprocessing",
80        "//third_party/java/guava/base",
81        "//third_party/java/guava/collect",
82        "//third_party/java/javapoet",
83        "@maven//:com_google_devtools_ksp_symbol_processing_api",
84        "@maven//:org_jetbrains_kotlin_kotlin_stdlib",
85    ],
86)
87
88java_library(
89    name = "method_signature",
90    srcs = [
91        "MethodSignature.java",
92    ],
93    deps = [
94        "//java/dagger/internal/codegen/extension",
95        "//java/dagger/internal/codegen/xprocessing",
96        "//third_party/java/auto:value",
97        "//third_party/java/guava/collect",
98        "//third_party/java/javapoet",
99    ],
100)
101
102java_library(
103    name = "classnames",
104    srcs = [
105        "ClassNames.java",
106    ],
107    deps = [
108        "//third_party/java/javapoet",
109    ],
110)
111
112java_library(
113    name = "component_names",
114    srcs = [
115        "ComponentNames.java",
116    ],
117    deps = [
118        ":processors",
119        "//third_party/java/guava/base",
120        "//third_party/java/guava/collect",
121        "//third_party/java/javapoet",
122    ],
123)
124
125java_library(
126    name = "aggregated_elements",
127    srcs = [
128        "AggregatedElements.java",
129    ],
130    deps = [
131        ":classnames",
132        ":processor_errors",
133        ":processors",
134        "//java/dagger/internal/codegen/extension",
135        "//java/dagger/internal/codegen/xprocessing",
136        "//third_party/java/auto:common",
137        "//third_party/java/guava/collect",
138        "//third_party/java/javapoet",
139    ],
140)
141
142java_library(
143    name = "component_descriptor",
144    srcs = ["ComponentDescriptor.java"],
145    deps = [
146        "//third_party/java/auto:value",
147        "//third_party/java/guava/collect",
148        "//third_party/java/javapoet",
149    ],
150)
151
152java_library(
153    name = "components",
154    srcs = [
155        "Components.java",
156    ],
157    deps = [
158        ":classnames",
159        ":processor_errors",
160        ":processors",
161        "//java/dagger/internal/codegen/extension",
162        "//java/dagger/internal/codegen/xprocessing",
163        "//third_party/java/guava/base",
164        "//third_party/java/guava/collect",
165        "//third_party/java/javapoet",
166    ],
167)
168
169java_library(
170    name = "compiler_options",
171    srcs = ["HiltCompilerOptions.java"],
172    deps = [
173        ":processor_errors",
174        "//java/dagger/hilt/processor/internal/optionvalues",
175        "//java/dagger/internal/codegen/extension",
176        "//java/dagger/internal/codegen/xprocessing",
177        "//third_party/java/guava/base",
178        "//third_party/java/guava/collect",
179        "//third_party/java/javapoet",
180    ],
181)
182
183kt_jvm_library(
184    name = "dagger_models",
185    srcs = ["DaggerModels.kt"],
186    deps = [
187        ":processors",
188        "//:spi",
189        "//third_party/java/auto:common",
190        "//third_party/java/javapoet",
191        "@maven//:com_google_devtools_ksp_symbol_processing_api",
192    ],
193)
194
195# See: https://github.com/bazelbuild/rules_kotlin/issues/324
196alias(
197    name = "libdagger_models-src.jar",
198    actual = ":dagger_models-sources.jar",
199)
200
201filegroup(
202    name = "srcs_filegroup",
203    srcs = glob(["*"]),
204)
205