• 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("//tools:maven.bzl", "gen_maven_artifact")
16load("//:build_defs.bzl", "POM_VERSION_ALPHA")
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    deps = [
50        ":generates_root_input",
51        ":package_info",
52        "//java/dagger/hilt/internal:component_manager",
53        "//java/dagger/hilt/internal:generated_component",
54        "@google_bazel_common//third_party/java/jsr305_annotations",
55    ],
56)
57
58java_library(
59    name = "generates_root_input",
60    srcs = [
61        "GeneratesRootInput.java",
62    ],
63    exported_plugins = [
64        "//java/dagger/hilt/processor/internal/generatesrootinput:processor",
65    ],
66    exports = [
67        "//java/dagger/hilt/internal/generatesrootinput",
68    ],
69    deps = [
70        ":package_info",
71    ],
72)
73
74java_library(
75    name = "define_component",
76    srcs = [
77        "DefineComponent.java",
78    ],
79    exported_plugins = [
80        "//java/dagger/hilt/processor/internal/definecomponent:processor",
81    ],
82    exports = [
83        "//java/dagger/hilt/internal/definecomponent",
84    ],
85    deps = [
86        ":generates_root_input",
87        ":package_info",
88        "//java/dagger/hilt/internal/definecomponent",
89    ],
90)
91
92java_library(
93    name = "package_info",
94    srcs = ["package-info.java"],
95    deps = [
96        "@google_bazel_common//third_party/java/jsr305_annotations",
97    ],
98)
99
100filegroup(
101    name = "javadoc-srcs",
102    srcs = [
103        ":hilt_android_filegroup",
104        ":hilt_android_testing_filegroup",
105        ":hilt_filegroup",
106        ":hilt_testing_filegroup",
107    ],
108)
109
110filegroup(
111    name = "hilt_filegroup",
112    srcs = glob(["*"]) + [
113        "//java/dagger/hilt/codegen:srcs_filegroup",
114        "//java/dagger/hilt/components:srcs_filegroup",
115        "//java/dagger/hilt/migration:srcs_filegroup",
116        "//java/dagger/hilt/internal:srcs_filegroup",
117        "//java/dagger/hilt/internal/aliasof:srcs_filegroup",
118        "//java/dagger/hilt/internal/definecomponent:srcs_filegroup",
119        "//java/dagger/hilt/internal/generatesrootinput:srcs_filegroup",
120    ],
121)
122
123filegroup(
124    name = "hilt_testing_filegroup",
125    srcs = [
126        "//java/dagger/hilt/testing:srcs_filegroup",
127    ],
128)
129
130filegroup(
131    name = "hilt_android_filegroup",
132    srcs = [
133        "//java/dagger/hilt/android:srcs_filegroup",
134        "//java/dagger/hilt/android/components:srcs_filegroup",
135        "//java/dagger/hilt/android/internal:srcs_filegroup",
136        "//java/dagger/hilt/android/internal/builders:srcs_filegroup",
137        "//java/dagger/hilt/android/internal/lifecycle:srcs_filegroup",
138        "//java/dagger/hilt/android/internal/managers:srcs_filegroup",
139        "//java/dagger/hilt/android/internal/migration:srcs_filegroup",
140        "//java/dagger/hilt/android/internal/modules:srcs_filegroup",
141        "//java/dagger/hilt/android/lifecycle:srcs_filegroup",
142        "//java/dagger/hilt/android/migration:srcs_filegroup",
143        "//java/dagger/hilt/android/plugin:srcs_filegroup",
144        "//java/dagger/hilt/android/qualifiers:srcs_filegroup",
145        "//java/dagger/hilt/android/scopes:srcs_filegroup",
146    ],
147)
148
149filegroup(
150    name = "hilt_android_testing_filegroup",
151    srcs = [
152        "//java/dagger/hilt/android/internal/testing:srcs_filegroup",
153        "//java/dagger/hilt/android/testing:srcs_filegroup",
154    ],
155)
156
157filegroup(
158    name = "hilt_processing_filegroup",
159    srcs = [
160        "//java/dagger/hilt/android/processor:srcs_filegroup",
161        "//java/dagger/hilt/android/processor/internal:srcs_filegroup",
162        "//java/dagger/hilt/android/processor/internal/androidentrypoint:srcs_filegroup",
163        "//java/dagger/hilt/android/processor/internal/bindvalue:srcs_filegroup",
164        "//java/dagger/hilt/android/processor/internal/customtestapplication:srcs_filegroup",
165        "//java/dagger/hilt/android/processor/internal/uninstallmodules:srcs_filegroup",
166        "//java/dagger/hilt/android/processor/internal/viewmodel:srcs_filegroup",
167        "//java/dagger/hilt/processor:srcs_filegroup",
168        "//java/dagger/hilt/processor/internal:srcs_filegroup",
169        "//java/dagger/hilt/processor/internal/aggregateddeps:srcs_filegroup",
170        "//java/dagger/hilt/processor/internal/aliasof:srcs_filegroup",
171        "//java/dagger/hilt/processor/internal/definecomponent:srcs_filegroup",
172        "//java/dagger/hilt/processor/internal/disableinstallincheck:srcs_filegroup",
173        "//java/dagger/hilt/processor/internal/generatesrootinput:srcs_filegroup",
174        "//java/dagger/hilt/processor/internal/originatingelement:srcs_filegroup",
175        "//java/dagger/hilt/processor/internal/root:srcs_filegroup",
176    ],
177)
178
179java_library(
180    name = "artifact-core-lib",
181    tags = ["maven_coordinates=com.google.dagger:hilt-core:" + POM_VERSION_ALPHA],
182    exports = [
183        ":define_component",
184        ":entry_point",
185        ":generates_root_input",
186        ":install_in",
187        ":package_info",
188        "//java/dagger:core",
189        "//java/dagger/hilt/components",
190        "//java/dagger/hilt/migration:alias_of",
191        "//java/dagger/hilt/migration:disable_install_in_check",
192    ],
193)
194
195gen_maven_artifact(
196    name = "artifact-core",
197    artifact_coordinates = "com.google.dagger:hilt-core:" + POM_VERSION_ALPHA,
198    artifact_name = "Hilt Core",
199    artifact_target = ":artifact-core-lib",
200    artifact_target_libs = [
201        "//java/dagger/hilt:define_component",
202        "//java/dagger/hilt:entry_point",
203        "//java/dagger/hilt:generates_root_input",
204        "//java/dagger/hilt:install_in",
205        "//java/dagger/hilt:package_info",
206        "//java/dagger/hilt/codegen:originating_element",
207        "//java/dagger/hilt/codegen:package_info",
208        "//java/dagger/hilt/components",
209        "//java/dagger/hilt/components:package_info",
210        "//java/dagger/hilt/internal:component_manager",
211        "//java/dagger/hilt/internal:generated_component",
212        "//java/dagger/hilt/internal:preconditions",
213        "//java/dagger/hilt/internal:unsafe_casts",
214        "//java/dagger/hilt/internal/aliasof",
215        "//java/dagger/hilt/internal/definecomponent",
216        "//java/dagger/hilt/internal/generatesrootinput",
217        "//java/dagger/hilt/migration:alias_of",
218        "//java/dagger/hilt/migration:disable_install_in_check",
219        "//java/dagger/hilt/migration:package_info",
220        "//java/dagger/hilt/processor/internal/aggregateddeps:annotation",
221    ],
222    artifact_target_maven_deps = [
223        "com.google.code.findbugs:jsr305",
224        "com.google.dagger:dagger",
225        "javax.inject:javax.inject",
226    ],
227    artifact_target_maven_deps_banned = [
228        "com.google.guava:guava",
229        "javax.annotation:jsr250-api",
230    ],
231    javadoc_exclude_packages = [
232        "dagger.hilt.internal",
233    ],
234    javadoc_root_packages = [
235        "dagger.hilt",
236    ],
237    javadoc_srcs = [
238        "//java/dagger/hilt:hilt_filegroup",
239    ],
240)
241