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