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