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