xref: /aosp_15_r20/external/dagger2/java/dagger/hilt/BUILD (revision f585d8a307d0621d6060bd7e80091fdcbf94fe27)
1# Copyright (C) 2020 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
15load("//tools:maven.bzl", "gen_maven_artifact")
16load("//:build_defs.bzl", "POM_VERSION")
17
18# Description:
19#   A library that wraps the Dagger API to make DI usage and testing easier.
20
21package(default_visibility = ["//:src"])
22
23java_library(
24    name = "install_in",
25    srcs = ["InstallIn.java"],
26    exported_plugins = [
27        "//java/dagger/hilt/processor/internal/aggregateddeps:plugin",
28    ],
29    exports = [
30        "//java/dagger/hilt/processor/internal/aggregateddeps:annotation",
31    ],
32    deps = [
33        ":generates_root_input",
34        ":package_info",
35    ],
36)
37
38java_library(
39    name = "entry_point",
40    srcs = [
41        "EntryPoint.java",
42        "EntryPoints.java",
43    ],
44    exported_plugins = [
45        # This is required so that we can fail if @InstallIn is missing.
46        # TODO(bcorso): Consider using a separate processor to validate @EntryPoint.
47        "//java/dagger/hilt/processor/internal/aggregateddeps:plugin",
48    ],
49    proguard_specs = ["proguard-rules.pro"],
50    deps = [
51        ":generates_root_input",
52        ":package_info",
53        "//java/dagger/hilt/internal:component_manager",
54        "//java/dagger/hilt/internal:generated_component",
55        "//java/dagger/hilt/internal:preconditions",
56        "//java/dagger/hilt/internal:test_singleton_component",
57        "//third_party/java/jsr305_annotations",
58    ],
59)
60
61java_library(
62    name = "generates_root_input",
63    srcs = [
64        "GeneratesRootInput.java",
65    ],
66    exported_plugins = [
67        "//java/dagger/hilt/processor/internal/generatesrootinput:processor",
68    ],
69    exports = [
70        "//java/dagger/hilt/internal/generatesrootinput",
71    ],
72    deps = [
73        ":package_info",
74    ],
75)
76
77java_library(
78    name = "define_component",
79    srcs = [
80        "DefineComponent.java",
81    ],
82    exported_plugins = [
83        "//java/dagger/hilt/processor/internal/definecomponent:processor",
84    ],
85    exports = [
86        "//java/dagger/hilt/internal/definecomponent",
87    ],
88    deps = [
89        ":generates_root_input",
90        ":package_info",
91        "//java/dagger/hilt/internal/definecomponent",
92    ],
93)
94
95java_library(
96    name = "package_info",
97    srcs = ["package-info.java"],
98    deps = [
99        "//third_party/java/jsr305_annotations",
100    ],
101)
102
103filegroup(
104    name = "javadoc-srcs",
105    srcs = [
106        ":hilt_android_filegroup",
107        ":hilt_android_testing_filegroup",
108        ":hilt_filegroup",
109        ":hilt_testing_filegroup",
110    ],
111)
112
113filegroup(
114    name = "hilt_filegroup",
115    srcs = glob(["*"]) + [
116        "//java/dagger/hilt/codegen:srcs_filegroup",
117        "//java/dagger/hilt/components:srcs_filegroup",
118        "//java/dagger/hilt/internal:srcs_filegroup",
119        "//java/dagger/hilt/internal/aliasof:srcs_filegroup",
120        "//java/dagger/hilt/internal/definecomponent:srcs_filegroup",
121        "//java/dagger/hilt/internal/generatesrootinput:srcs_filegroup",
122        "//java/dagger/hilt/migration:srcs_filegroup",
123    ],
124)
125
126filegroup(
127    name = "hilt_testing_filegroup",
128    srcs = [
129        "//java/dagger/hilt/testing:srcs_filegroup",
130    ],
131)
132
133filegroup(
134    name = "hilt_android_filegroup",
135    srcs = [
136        "//java/dagger/hilt/android:srcs_filegroup",
137        "//java/dagger/hilt/android/components:srcs_filegroup",
138        "//java/dagger/hilt/android/flags:srcs_filegroup",
139        "//java/dagger/hilt/android/internal:srcs_filegroup",
140        "//java/dagger/hilt/android/internal/builders:srcs_filegroup",
141        "//java/dagger/hilt/android/internal/lifecycle:srcs_filegroup",
142        "//java/dagger/hilt/android/internal/managers:srcs_filegroup",
143        "//java/dagger/hilt/android/internal/migration:srcs_filegroup",
144        "//java/dagger/hilt/android/internal/modules:srcs_filegroup",
145        "//java/dagger/hilt/android/lifecycle:srcs_filegroup",
146        "//java/dagger/hilt/android/migration:srcs_filegroup",
147        "//java/dagger/hilt/android/plugin/main:srcs_filegroup",
148        "//java/dagger/hilt/android/qualifiers:srcs_filegroup",
149        "//java/dagger/hilt/android/scopes:srcs_filegroup",
150    ],
151)
152
153filegroup(
154    name = "hilt_android_testing_filegroup",
155    srcs = [
156        "//java/dagger/hilt/android/internal/testing:srcs_filegroup",
157        "//java/dagger/hilt/android/testing:srcs_filegroup",
158    ],
159)
160
161filegroup(
162    name = "hilt_processing_filegroup",
163    srcs = [
164        "//java/dagger/hilt/android/processor:srcs_filegroup",
165        "//java/dagger/hilt/android/processor/internal:srcs_filegroup",
166        "//java/dagger/hilt/android/processor/internal/androidentrypoint:srcs_filegroup",
167        "//java/dagger/hilt/android/processor/internal/bindvalue:srcs_filegroup",
168        "//java/dagger/hilt/android/processor/internal/customtestapplication:srcs_filegroup",
169        "//java/dagger/hilt/android/processor/internal/viewmodel:srcs_filegroup",
170        "//java/dagger/hilt/processor:srcs_filegroup",
171        "//java/dagger/hilt/processor/internal:srcs_filegroup",
172        "//java/dagger/hilt/processor/internal/aggregateddeps:srcs_filegroup",
173        "//java/dagger/hilt/processor/internal/aliasof:srcs_filegroup",
174        "//java/dagger/hilt/processor/internal/definecomponent:srcs_filegroup",
175        "//java/dagger/hilt/processor/internal/disableinstallincheck:srcs_filegroup",
176        "//java/dagger/hilt/processor/internal/generatesrootinput:srcs_filegroup",
177        "//java/dagger/hilt/processor/internal/optionvalues:srcs_filegroup",
178        "//java/dagger/hilt/processor/internal/originatingelement:srcs_filegroup",
179        "//java/dagger/hilt/processor/internal/root:srcs_filegroup",
180        "//java/dagger/hilt/processor/internal/root/ir:srcs_filegroup",
181        "//java/dagger/hilt/processor/internal/uninstallmodules:srcs_filegroup",
182    ],
183)
184
185java_library(
186    name = "artifact-core-lib",
187    tags = ["maven_coordinates=com.google.dagger:hilt-core:" + POM_VERSION],
188    exports = [
189        ":define_component",
190        ":entry_point",
191        ":generates_root_input",
192        ":install_in",
193        ":package_info",
194        "//java/dagger:core",
195        "//java/dagger/hilt/components",
196        "//java/dagger/hilt/migration:alias_of",
197        "//java/dagger/hilt/migration:disable_install_in_check",
198    ],
199)
200
201gen_maven_artifact(
202    name = "artifact-core",
203    artifact_coordinates = "com.google.dagger:hilt-core:" + POM_VERSION,
204    artifact_name = "Hilt Core",
205    artifact_target = ":artifact-core-lib",
206    artifact_target_libs = [
207        "//java/dagger/hilt:define_component",
208        "//java/dagger/hilt:entry_point",
209        "//java/dagger/hilt:generates_root_input",
210        "//java/dagger/hilt:install_in",
211        "//java/dagger/hilt:package_info",
212        "//java/dagger/hilt/codegen:originating_element",
213        "//java/dagger/hilt/codegen:package_info",
214        "//java/dagger/hilt/components",
215        "//java/dagger/hilt/components:package_info",
216        "//java/dagger/hilt/internal:component_manager",
217        "//java/dagger/hilt/internal:generated_component",
218        "//java/dagger/hilt/internal:preconditions",
219        "//java/dagger/hilt/internal:test_singleton_component",
220        "//java/dagger/hilt/internal:unsafe_casts",
221        "//java/dagger/hilt/internal/aliasof",
222        "//java/dagger/hilt/internal/definecomponent",
223        "//java/dagger/hilt/internal/generatesrootinput",
224        "//java/dagger/hilt/migration:alias_of",
225        "//java/dagger/hilt/migration:disable_install_in_check",
226        "//java/dagger/hilt/migration:package_info",
227        "//java/dagger/hilt/processor/internal/aggregateddeps:annotation",
228    ],
229    artifact_target_maven_deps = [
230        "com.google.code.findbugs:jsr305",
231        "com.google.dagger:dagger",
232        "javax.inject:javax.inject",
233    ],
234    artifact_target_maven_deps_banned = [
235        "com.google.guava:guava",
236        "javax.annotation:javax.annotation-api",
237    ],
238    javadoc_exclude_packages = [
239        "dagger.hilt.internal",
240    ],
241    javadoc_root_packages = [
242        "dagger.hilt",
243    ],
244    javadoc_srcs = [
245        "//java/dagger/hilt:hilt_filegroup",
246    ],
247)
248