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