• 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# Description:
15#   Testing libraries for Hilt Android.
16
17load("@rules_java//java:defs.bzl", "java_library")
18load("//:build_defs.bzl", "POM_VERSION")
19load("//tools/maven:maven.bzl", "gen_maven_artifact")
20
21package(default_visibility = ["//:src"])
22
23android_library(
24    name = "custom_test_application",
25    testonly = 1,
26    srcs = ["CustomTestApplication.java"],
27    exported_plugins = [
28        "//java/dagger/hilt/android/processor/internal/customtestapplication:processor",
29    ],
30    exports = [
31        "//java/dagger/hilt/android/internal/testing:test_application_component_manager",
32        "//java/dagger/hilt/android/internal/testing:test_application_component_manager_holder",
33        "//java/dagger/hilt/internal:component_manager",
34    ],
35    deps = [
36        ":package_info",
37        "//java/dagger/hilt:generates_root_input",
38    ],
39)
40
41android_library(
42    name = "hilt_android_test",
43    testonly = 1,
44    srcs = ["HiltAndroidTest.java"],
45    exported_plugins = [
46        "//java/dagger/hilt/processor/internal/root:component_tree_deps_plugin",
47        "//java/dagger/hilt/processor/internal/root:root_plugin",
48        "//java/dagger/hilt/android/processor/internal/androidentrypoint:plugin",
49        "//java/dagger/hilt/android/processor/internal/viewmodel:validation_plugin",
50    ],
51    exports = [
52        ":hilt_android_rule",
53        ":hilt_test_application",
54        ":on_component_ready_runner",
55        ":package_info",
56        "//:dagger_with_compiler",
57        "//java/dagger/hilt:install_in",
58        "//java/dagger/hilt/android/components",
59        "//java/dagger/hilt/android/internal",
60        "//java/dagger/hilt/android/internal/builders",
61        "//java/dagger/hilt/android/internal/legacy:aggregated_element_proxy",
62        "//java/dagger/hilt/android/internal/managers",
63        "//java/dagger/hilt/android/internal/modules",
64        "//java/dagger/hilt/android/internal/testing:early_test_singleton_component_creator",
65        "//java/dagger/hilt/android/internal/testing:test_application_component_manager",
66        "//java/dagger/hilt/android/internal/testing:test_application_component_manager_holder",
67        "//java/dagger/hilt/android/internal/testing:test_component_data",
68        "//java/dagger/hilt/android/internal/testing:test_injector",
69        "//java/dagger/hilt/android/internal/testing/root:default",
70        "//java/dagger/hilt/android/scopes",
71        "//java/dagger/hilt/internal:component_entry_point",
72        "//java/dagger/hilt/internal:component_manager",
73        "//java/dagger/hilt/internal:generated_component",
74        "//java/dagger/hilt/internal:generated_entry_point",
75        "//java/dagger/hilt/internal:preconditions",
76        "//java/dagger/hilt/internal:test_singleton_component",
77        "//java/dagger/hilt/internal/aggregatedroot",
78        "//java/dagger/hilt/internal/componenttreedeps",
79        "//java/dagger/hilt/internal/processedrootsentinel",
80        "//java/dagger/hilt/migration:disable_install_in_check",
81        "@maven//:androidx_annotation_annotation",
82        "@maven//:androidx_multidex_multidex",
83        "@maven//:androidx_test_core",
84    ],
85    deps = [
86        "//java/dagger/hilt:generates_root_input",
87    ],
88)
89
90android_library(
91    name = "hilt_android_rule",
92    testonly = 1,
93    srcs = ["HiltAndroidRule.java"],
94    deps = [
95        ":package_info",
96        "//java/dagger/hilt/android/internal/testing:mark_that_rules_ran_rule",
97        "//java/dagger/hilt/internal:preconditions",
98        "@maven//:junit_junit",
99    ],
100)
101
102android_library(
103    name = "hilt_test_application",
104    testonly = 1,
105    srcs = [
106        "HiltTestApplication.java",
107    ],
108    deps = [
109        ":on_component_ready_runner",
110        ":package_info",
111        "//java/dagger/hilt/android/internal/testing:test_application_component_manager",
112        "//java/dagger/hilt/android/internal/testing:test_application_component_manager_holder",
113        "//java/dagger/hilt/internal:component_manager",
114        "@maven//:androidx_multidex_multidex",
115    ],
116)
117
118android_library(
119    name = "on_component_ready_runner",
120    testonly = 1,
121    srcs = ["OnComponentReadyRunner.java"],
122    deps = [
123        ":package_info",
124        "//:dagger_with_compiler",
125        "//java/dagger/hilt:entry_point",
126        "//java/dagger/hilt/android/internal",
127        "//java/dagger/hilt/android/internal/testing:test_application_component_manager_holder",
128        "//java/dagger/hilt/internal:component_manager",
129        "//java/dagger/hilt/internal:preconditions",
130        "//third_party/java/auto:value",
131    ],
132)
133
134android_library(
135    name = "uninstall_modules",
136    testonly = 1,
137    srcs = ["UninstallModules.java"],
138    exported_plugins = [
139        "//java/dagger/hilt/processor/internal/uninstallmodules:processor",
140    ],
141    exports = [
142        "//java/dagger/hilt/android/internal/uninstallmodules",
143    ],
144    deps = [
145        ":package_info",
146        "//java/dagger/hilt:generates_root_input",
147    ],
148)
149
150android_library(
151    name = "bind_value",
152    testonly = 1,
153    srcs = [
154        "BindElementsIntoSet.java",
155        "BindValue.java",
156        "BindValueIntoMap.java",
157        "BindValueIntoSet.java",
158    ],
159    exported_plugins = [
160        "//java/dagger/hilt/android/processor/internal/bindvalue:bind_value_processor",
161    ],
162    exports = [
163        "//java/dagger/hilt:install_in",
164        "//java/dagger/hilt/android/qualifiers",
165    ],
166    deps = [
167        ":package_info",
168        "//java/dagger/hilt:generates_root_input",
169    ],
170)
171
172android_library(
173    name = "skip_test_injection",
174    testonly = 1,
175    srcs = ["SkipTestInjection.java"],
176    deps = [
177        ":package_info",
178    ],
179)
180
181java_library(
182    name = "package_info",
183    srcs = ["package-info.java"],
184    deps = [
185        "//third_party/java/jsr305_annotations",
186    ],
187)
188
189android_library(
190    name = "artifact-lib",
191    testonly = 1,
192    tags = ["maven_coordinates=com.google.dagger:hilt-android-testing:" + POM_VERSION],
193    exports = [
194        ":bind_value",
195        ":custom_test_application",
196        ":hilt_android_test",
197        ":package_info",
198        ":uninstall_modules",
199        "//java/dagger/hilt/android:artifact-lib",
200        "//java/dagger/hilt/testing:test_install_in",
201    ],
202)
203
204gen_maven_artifact(
205    name = "artifact",
206    testonly = 1,
207    artifact_coordinates = "com.google.dagger:hilt-android-testing:" + POM_VERSION,
208    artifact_name = "Hilt Android Testing",
209    artifact_target = ":artifact-lib",
210    artifact_target_libs = [
211        "//java/dagger/hilt/android/internal/testing:early_test_singleton_component_creator",
212        "//java/dagger/hilt/android/internal/testing:mark_that_rules_ran_rule",
213        "//java/dagger/hilt/android/internal/testing:test_application_component_manager",
214        "//java/dagger/hilt/android/internal/testing:test_application_component_manager_holder",
215        "//java/dagger/hilt/android/internal/testing:test_component_data",
216        "//java/dagger/hilt/android/internal/testing:test_injector",
217        "//java/dagger/hilt/android/internal/testing/root:default",
218        "//java/dagger/hilt/android/internal/uninstallmodules:uninstallmodules",
219        "//java/dagger/hilt/android/testing:bind_value",
220        "//java/dagger/hilt/android/testing:custom_test_application",
221        "//java/dagger/hilt/android/testing:hilt_android_rule",
222        "//java/dagger/hilt/android/testing:hilt_android_test",
223        "//java/dagger/hilt/android/testing:hilt_test_application",
224        "//java/dagger/hilt/android/testing:on_component_ready_runner",
225        "//java/dagger/hilt/android/testing:package_info",
226        "//java/dagger/hilt/testing:test_install_in",
227        "//java/dagger/hilt/testing:package_info",
228        "//java/dagger/hilt/android/testing:uninstall_modules",
229    ],
230    artifact_target_maven_deps = [
231        "androidx.activity:activity",
232        "androidx.annotation:annotation",
233        "androidx.annotation:annotation-experimental",
234        "androidx.fragment:fragment",
235        "androidx.lifecycle:lifecycle-common",
236        "androidx.lifecycle:lifecycle-viewmodel",
237        "androidx.lifecycle:lifecycle-viewmodel-savedstate",
238        "androidx.multidex:multidex",
239        "androidx.savedstate:savedstate",
240        "androidx.test:core",
241        "com.google.code.findbugs:jsr305",
242        "com.google.dagger:dagger",
243        "com.google.dagger:hilt-android",
244        "javax.inject:javax.inject",
245        "junit:junit",
246        "org.jetbrains.kotlin:kotlin-stdlib",
247    ],
248    artifact_target_maven_deps_banned = [
249        "com.google.guava:guava",
250        "javax.annotation:javax.annotation-api",
251    ],
252    javadoc_android_api_level = 34,
253    javadoc_exclude_packages = [
254        "dagger.hilt.internal",
255        "dagger.hilt.android.internal",
256    ],
257    javadoc_root_packages = [
258        "dagger.hilt.android.testing",
259    ],
260    javadoc_srcs = [
261        "//java/dagger/hilt:hilt_android_testing_filegroup",
262        "//java/dagger/hilt:hilt_testing_filegroup",
263    ],
264    manifest = "AndroidManifest.xml",
265    packaging = "aar",
266)
267
268filegroup(
269    name = "srcs_filegroup",
270    srcs = glob(["*"]),
271)
272