xref: /aosp_15_r20/external/dagger2/javatests/dagger/hilt/android/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#   Tests for internal code for implementing Hilt processors.
16
17load("//third_party/kotlin/build_extensions:rules.bzl", "kt_android_library")
18
19package(default_visibility = ["//:src"])
20
21android_library(
22    name = "resources",
23    manifest = "AndroidManifest.xml",
24    resource_files = glob(["res/**"]),
25    deps = [
26        "@maven//:androidx_navigation_navigation_common",
27        "@maven//:androidx_navigation_navigation_fragment",
28        "@maven//:androidx_navigation_navigation_runtime",
29    ],
30)
31
32# Checks that multiple test roots can be compiled together. This library
33# only compiles the sources. they are tested in the android_local_tests.
34android_library(
35    name = "multi_test_root_tests",
36    srcs = [
37        "ActivityScenarioRuleTest.java",
38        "CustomTestApplicationTest.java",
39        "MultiTestRoot1Test.java",
40        "MultiTestRoot2Test.java",
41        "MultiTestRootExternalModules.java",
42    ],
43    exports_manifest = 1,
44    javacopts = ["-Adagger.hilt.shareTestComponents=true"],
45    manifest = "AndroidManifest.xml",
46    deps = [
47        "//:android_local_test_exports",
48        "//:dagger_with_compiler",
49        "//java/dagger/hilt:entry_point",
50        "//java/dagger/hilt:install_in",
51        "//java/dagger/hilt/android:android_entry_point",
52        "//java/dagger/hilt/android:package_info",
53        "//java/dagger/hilt/android/testing:bind_value",
54        "//java/dagger/hilt/android/testing:custom_test_application",
55        "//java/dagger/hilt/android/testing:hilt_android_test",
56        "//java/dagger/hilt/android/testing:uninstall_modules",
57        "//third_party/java/truth",
58        "@maven//:androidx_test_core",
59        "@maven//:androidx_test_ext_junit",
60        "@maven//:junit_junit",
61        "@maven//:org_robolectric_robolectric",
62    ],
63)
64
65android_local_test(
66    name = "ActivityScenarioRuleTest",
67    manifest_values = {
68        "minSdkVersion": "14",
69    },
70    deps = [
71        ":multi_test_root_tests",
72    ],
73)
74
75android_local_test(
76    name = "CustomTestApplicationTest",
77    manifest_values = {
78        "minSdkVersion": "14",
79    },
80    deps = [
81        ":multi_test_root_tests",
82    ],
83)
84
85android_local_test(
86    name = "MultiTestRoot1Test",
87    manifest_values = {
88        "minSdkVersion": "14",
89    },
90    deps = [
91        ":multi_test_root_tests",
92    ],
93)
94
95android_local_test(
96    name = "MultiTestRoot2Test",
97    manifest_values = {
98        "minSdkVersion": "14",
99    },
100    deps = [
101        ":multi_test_root_tests",
102    ],
103)
104
105android_local_test(
106    name = "AliasOfMultipleScopesTest",
107    srcs = ["AliasOfMultipleScopesTest.java"],
108    manifest = "AndroidManifest.xml",
109    manifest_values = {
110        "minSdkVersion": "14",
111    },
112    deps = [
113        "//:android_local_test_exports",
114        "//java/dagger/hilt:define_component",
115        "//java/dagger/hilt:entry_point",
116        "//java/dagger/hilt:install_in",
117        "//java/dagger/hilt/android:android_entry_point",
118        "//java/dagger/hilt/android:package_info",
119        "//java/dagger/hilt/android/qualifiers",
120        "//java/dagger/hilt/android/scopes",
121        "//java/dagger/hilt/android/testing:hilt_android_rule",
122        "//java/dagger/hilt/android/testing:hilt_android_test",
123        "//java/dagger/hilt/migration:alias_of",
124        "//third_party/java/truth",
125    ],
126)
127
128android_library(
129    name = "custom_inject_classes",
130    srcs = ["CustomInjectClasses.java"],
131    deps = [
132        "//:android_local_test_exports",
133        "//:dagger_with_compiler",
134        "//java/dagger/hilt:install_in",
135        "//java/dagger/hilt/android:hilt_android_app",
136        "//java/dagger/hilt/android:package_info",
137        "//java/dagger/hilt/android/migration:custom_inject",
138        "//third_party/java/jsr330_inject",
139    ],
140)
141
142android_local_test(
143    name = "CustomInjectTest",
144    size = "small",
145    srcs = ["CustomInjectTest.java"],
146    manifest_values = {
147        "minSdkVersion": "14",
148    },
149    deps = [
150        ":custom_inject_classes",
151        "//:android_local_test_exports",
152        "//java/dagger/hilt/android:package_info",
153        "//third_party/java/truth",
154    ],
155)
156
157android_local_test(
158    name = "EarlyEntryPointHiltAndroidAppRuntimeTest",
159    size = "small",
160    srcs = ["EarlyEntryPointHiltAndroidAppRuntimeTest.java"],
161    manifest_values = {
162        "minSdkVersion": "14",
163    },
164    deps = [
165        ":EarlyEntryPointHiltAndroidAppRuntimeClasses",
166        "//:android_local_test_exports",
167        "//java/dagger/hilt:entry_point",
168        "//java/dagger/hilt/android:early_entry_point",
169        "//java/dagger/hilt/android:package_info",
170        "//third_party/java/truth",
171        "@maven//:junit_junit",
172    ],
173)
174
175android_library(
176    name = "EarlyEntryPointHiltAndroidAppRuntimeClasses",
177    srcs = ["EarlyEntryPointHiltAndroidAppRuntimeClasses.java"],
178    deps = [
179        "//:android_local_test_exports",
180        "//java/dagger/hilt:entry_point",
181        "//java/dagger/hilt/android:early_entry_point",
182        "//java/dagger/hilt/android:hilt_android_app",
183        "//java/dagger/hilt/android:package_info",
184    ],
185)
186
187android_local_test(
188    name = "EarlyEntryPointHiltAndroidTestRuntimeTest",
189    size = "small",
190    srcs = [
191        "EarlyEntryPointHiltAndroidTestRuntimeClasses.java",
192        "EarlyEntryPointHiltAndroidTestRuntimeTest.java",
193    ],
194    manifest_values = {
195        "minSdkVersion": "14",
196    },
197    deps = [
198        "//:android_local_test_exports",
199        "//:dagger_with_compiler",
200        "//java/dagger/hilt:define_component",
201        "//java/dagger/hilt:entry_point",
202        "//java/dagger/hilt:install_in",
203        "//java/dagger/hilt/android:early_entry_point",
204        "//java/dagger/hilt/android:package_info",
205        "//java/dagger/hilt/android/testing:hilt_android_test",
206        "//third_party/java/truth",
207    ],
208)
209
210android_local_test(
211    name = "EarlyEntryPointCustomApplicationTest",
212    size = "small",
213    srcs = [
214        "EarlyEntryPointCustomApplicationClasses.java",
215        "EarlyEntryPointCustomApplicationTest.java",
216    ],
217    manifest_values = {
218        "minSdkVersion": "14",
219    },
220    deps = [
221        "//:android_local_test_exports",
222        "//:dagger_with_compiler",
223        "//java/dagger/hilt:entry_point",
224        "//java/dagger/hilt:install_in",
225        "//java/dagger/hilt/android:early_entry_point",
226        "//java/dagger/hilt/android:package_info",
227        "//java/dagger/hilt/android/testing:custom_test_application",
228        "//java/dagger/hilt/android/testing:hilt_android_test",
229        "//third_party/java/truth",
230    ],
231)
232
233android_local_test(
234    name = "EarlyEntryPointNoEntryPointsDefinedTest",
235    size = "small",
236    srcs = ["EarlyEntryPointNoEntryPointsDefinedTest.java"],
237    manifest_values = {
238        "minSdkVersion": "14",
239    },
240    deps = [
241        "//:android_local_test_exports",
242        "//:dagger_with_compiler",
243        "//java/dagger/hilt:entry_point",
244        "//java/dagger/hilt:install_in",
245        "//java/dagger/hilt/android:early_entry_point",
246        "//java/dagger/hilt/android:package_info",
247        "//java/dagger/hilt/android/testing:hilt_android_test",
248        "//third_party/java/truth",
249    ],
250)
251
252android_local_test(
253    name = "FragmentContextOnAttachTest",
254    size = "small",
255    srcs = ["FragmentContextOnAttachTest.java"],
256    manifest_values = {
257        "minSdkVersion": "14",
258    },
259    deps = [
260        "//:android_local_test_exports",
261        "//:dagger_with_compiler",
262        "//java/dagger/hilt:install_in",
263        "//java/dagger/hilt/android:android_entry_point",
264        "//java/dagger/hilt/android:package_info",
265        "//java/dagger/hilt/android/flags:fragment_get_context_fix",
266        "//java/dagger/hilt/android/testing:bind_value",
267        "//java/dagger/hilt/android/testing:hilt_android_test",
268        "//third_party/java/truth",
269    ],
270)
271
272android_local_test(
273    name = "AndroidEntryPointBaseClassTest",
274    size = "small",
275    srcs = [
276        "AndroidEntryPointBaseClassOtherPkg.java",
277        "AndroidEntryPointBaseClassTest.java",
278    ],
279    javacopts = [
280        # Note: Hilt's bytecode injection doesn't work in Blaze but we disable
281        # superclass validation in this test just to verify everything builds.
282        "-Adagger.hilt.android.internal.disableAndroidSuperclassValidation=true",
283    ],
284    manifest_values = {
285        "minSdkVersion": "14",
286    },
287    deps = [
288        "//:android_local_test_exports",
289        "//java/dagger/hilt:install_in",
290        "//java/dagger/hilt/android:android_entry_point",
291        "//java/dagger/hilt/android:package_info",
292        "//third_party/java/truth",
293    ],
294)
295
296android_local_test(
297    name = "ModuleTest",
298    srcs = ["ModuleTest.java"],
299    manifest_values = {
300        "minSdkVersion": "14",
301    },
302    deps = [
303        "//:android_local_test_exports",
304        "//:dagger_with_compiler",
305        "//java/dagger/hilt:install_in",
306        "//java/dagger/hilt/android:package_info",
307        "//java/dagger/hilt/android/testing:hilt_android_test",
308        "//third_party/java/jsr330_inject",
309        "//third_party/java/truth",
310    ],
311)
312
313android_local_test(
314    name = "InjectionTest",
315    size = "small",
316    srcs = ["InjectionTest.java"],
317    manifest_values = {
318        "minSdkVersion": "14",
319    },
320    deps = [
321        "//:android_local_test_exports",
322        "//:dagger_with_compiler",
323        "//java/dagger/hilt:install_in",
324        "//java/dagger/hilt/android:android_entry_point",
325        "//java/dagger/hilt/android:package_info",
326        "//java/dagger/hilt/android/testing:hilt_android_test",
327        "//third_party/java/jsr330_inject",
328        "//third_party/java/truth",
329    ],
330)
331
332# InstallInObjectModuleTest and InternalKtModuleTest are excluded because they don't build
333# due to https://github.com/bazelbuild/bazel/issues/16087
334
335android_local_test(
336    name = "DefaultViewModelFactoryTest",
337    srcs = ["DefaultViewModelFactoryTest.java"],
338    manifest = "AndroidManifest.xml",
339    manifest_values = {
340        "minSdkVersion": "14",
341    },
342    deps = [
343        "//:android_local_test_exports",
344        "//:dagger_with_compiler",
345        "//java/dagger/hilt:install_in",
346        "//java/dagger/hilt/android:android_entry_point",
347        "//java/dagger/hilt/android:package_info",
348        "//java/dagger/hilt/android/lifecycle:hilt_view_model",
349        "//java/dagger/hilt/android/testing:bind_value",
350        "//java/dagger/hilt/android/testing:hilt_android_test",
351        "//third_party/java/jsr330_inject",
352        "//third_party/java/truth",
353        "@maven//:androidx_activity_activity",
354        "@maven//:androidx_fragment_fragment",
355        "@maven//:androidx_lifecycle_lifecycle_common",
356        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
357        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
358        "@maven//:junit_junit",
359    ],
360)
361
362android_local_test(
363    name = "QualifierInKotlinFieldsTest",
364    srcs = ["QualifierInKotlinFieldsTest.java"],
365    manifest = "AndroidManifest.xml",
366    manifest_values = {
367        "minSdkVersion": "14",
368    },
369    deps = [
370        ":QualifierInFieldsClass",
371        "//:android_local_test_exports",
372        "//:dagger_with_compiler",
373        "//java/dagger/hilt/android:android_entry_point",
374        "//java/dagger/hilt/android:package_info",
375        "//java/dagger/hilt/android/testing:hilt_android_test",
376        "//third_party/java/jsr330_inject",
377        "//third_party/java/truth",
378        "@maven//:androidx_activity_activity",
379        "@maven//:androidx_fragment_fragment",
380        "@maven//:androidx_lifecycle_lifecycle_common",
381        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
382        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
383        "@maven//:junit_junit",
384    ],
385)
386
387kt_android_library(
388    name = "QualifierInFieldsClass",
389    testonly = True,
390    srcs = ["QualifierInFieldsClass.kt"],
391    deps = [
392        "//:dagger_with_compiler",
393        "//java/dagger/hilt/android/qualifiers",
394    ],
395)
396
397android_local_test(
398    name = "OptionalInjectWithHiltTest",
399    size = "small",
400    srcs = [
401        "OptionalInjectWithHiltTest.java",
402    ],
403    manifest = "AndroidManifest.xml",
404    manifest_values = {
405        "minSdkVersion": "14",
406    },
407    deps = [
408        ":OptionalInjectTestClasses",
409        "//:android_local_test_exports",
410        "//java/dagger/hilt/android:android_entry_point",
411        "//java/dagger/hilt/android:package_info",
412        "//java/dagger/hilt/android/migration:optional_inject",
413        "//java/dagger/hilt/android/testing:hilt_android_test",
414        "//third_party/java/truth",
415        "@maven//:androidx_activity_activity",
416        "@maven//:androidx_fragment_fragment",
417        "@maven//:androidx_lifecycle_lifecycle_common",
418        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
419        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
420    ],
421)
422
423android_local_test(
424    name = "OptionalInjectWithoutHiltTest",
425    size = "small",
426    srcs = [
427        "OptionalInjectWithoutHiltTest.java",
428    ],
429    manifest = "AndroidManifest.xml",
430    manifest_values = {
431        "minSdkVersion": "14",
432    },
433    deps = [
434        ":OptionalInjectTestClasses",
435        "//:android_local_test_exports",
436        "//java/dagger/hilt/android:package_info",
437        "//java/dagger/hilt/android/migration:optional_inject",
438        "//third_party/java/truth",
439        "@maven//:androidx_activity_activity",
440        "@maven//:androidx_fragment_fragment",
441        "@maven//:androidx_lifecycle_lifecycle_common",
442        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
443        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
444    ],
445)
446
447android_library(
448    name = "OptionalInjectTestClasses",
449    srcs = ["OptionalInjectTestClasses.java"],
450    manifest = "AndroidManifest.xml",
451    deps = [
452        "//:dagger_with_compiler",
453        "//java/dagger/hilt:install_in",
454        "//java/dagger/hilt/android:android_entry_point",
455        "//java/dagger/hilt/android:package_info",
456        "//java/dagger/hilt/android/migration:optional_inject",
457        "//third_party/java/jsr330_inject",
458        "@maven//:androidx_activity_activity",
459        "@maven//:androidx_fragment_fragment",
460        "@maven//:androidx_lifecycle_lifecycle_common",
461        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
462        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
463    ],
464)
465
466android_local_test(
467    name = "ActivityRetainedClearedListenerTest",
468    srcs = ["ActivityRetainedClearedListenerTest.java"],
469    manifest = "AndroidManifest.xml",
470    manifest_values = {
471        "minSdkVersion": "14",
472    },
473    deps = [
474        "//:android_local_test_exports",
475        "//:dagger_with_compiler",
476        "//java/dagger/hilt:install_in",
477        "//java/dagger/hilt/android:activity_retained_lifecycle",
478        "//java/dagger/hilt/android:android_entry_point",
479        "//java/dagger/hilt/android:package_info",
480        "//java/dagger/hilt/android/testing:hilt_android_test",
481        "//third_party/java/jsr330_inject",
482        "//third_party/java/truth",
483        "@maven//:androidx_activity_activity",
484        "@maven//:androidx_fragment_fragment",
485        "@maven//:androidx_lifecycle_lifecycle_common",
486        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
487        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
488        "@maven//:junit_junit",
489    ],
490)
491
492android_local_test(
493    name = "ActivityInjectedViewModelTest",
494    srcs = ["ActivityInjectedViewModelTest.java"],
495    manifest = "AndroidManifest.xml",
496    manifest_values = {
497        "minSdkVersion": "14",
498    },
499    deps = [
500        "//:android_local_test_exports",
501        "//:dagger_with_compiler",
502        "//java/dagger/hilt:install_in",
503        "//java/dagger/hilt/android:android_entry_point",
504        "//java/dagger/hilt/android:package_info",
505        "//java/dagger/hilt/android/testing:hilt_android_test",
506        "//third_party/java/jsr330_inject",
507        "//third_party/java/truth",
508        "@maven//:androidx_activity_activity",
509        "@maven//:androidx_fragment_fragment",
510        "@maven//:androidx_lifecycle_lifecycle_common",
511        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
512        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
513        "@maven//:junit_junit",
514    ],
515)
516
517android_local_test(
518    name = "ViewModelScopedTest",
519    srcs = ["ViewModelScopedTest.java"],
520    manifest = "AndroidManifest.xml",
521    manifest_values = {
522        "minSdkVersion": "14",
523    },
524    deps = [
525        "//:android_local_test_exports",
526        "//:dagger_with_compiler",
527        "//java/dagger/hilt:install_in",
528        "//java/dagger/hilt/android:android_entry_point",
529        "//java/dagger/hilt/android:package_info",
530        "//java/dagger/hilt/android:view_model_lifecycle",
531        "//java/dagger/hilt/android/lifecycle:hilt_view_model",
532        "//java/dagger/hilt/android/scopes",
533        "//java/dagger/hilt/android/testing:hilt_android_test",
534        "//third_party/java/jsr330_inject",
535        "//third_party/java/truth",
536        "@maven//:androidx_activity_activity",
537        "@maven//:androidx_fragment_fragment",
538        "@maven//:androidx_lifecycle_lifecycle_common",
539        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
540        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
541        "@maven//:junit_junit",
542    ],
543)
544
545android_local_test(
546    name = "ViewModelAssistedTest",
547    srcs = ["ViewModelAssistedTest.java"],
548    javacopts = ["-Adagger.hilt.enableAssistedInjectViewModels=true"],
549    manifest = "AndroidManifest.xml",
550    manifest_values = {
551        "minSdkVersion": "14",
552    },
553    deps = [
554        "//:android_local_test_exports",
555        "//:dagger_with_compiler",
556        "//java/dagger/hilt:install_in",
557        "//java/dagger/hilt/android:android_entry_point",
558        "//java/dagger/hilt/android:package_info",
559        "//java/dagger/hilt/android:view_model_lifecycle",
560        "//java/dagger/hilt/android/internal/lifecycle",
561        "//java/dagger/hilt/android/lifecycle:hilt_view_model",
562        "//java/dagger/hilt/android/lifecycle:hilt_view_model_extensions",
563        "//java/dagger/hilt/android/scopes",
564        "//java/dagger/hilt/android/testing:hilt_android_test",
565        "//third_party/java/jsr330_inject",
566        "//third_party/java/truth",
567        "@maven//:androidx_activity_activity",
568        "@maven//:androidx_fragment_fragment",
569        "@maven//:androidx_lifecycle_lifecycle_common",
570        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
571        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
572        "@maven//:androidx_test_core",
573        "@maven//:junit_junit",
574        "@maven//:org_jetbrains_kotlin_kotlin_stdlib",
575    ],
576)
577
578android_local_test(
579    name = "ViewModelSavedStateOwnerTest",
580    srcs = ["ViewModelSavedStateOwnerTest.java"],
581    manifest = "AndroidManifest.xml",
582    manifest_values = {
583        "minSdkVersion": "14",
584    },
585    deps = [
586        ":resources",
587        "//:android_local_test_exports",
588        "//:dagger_with_compiler",
589        "//java/dagger/hilt:install_in",
590        "//java/dagger/hilt/android:android_entry_point",
591        "//java/dagger/hilt/android:package_info",
592        "//java/dagger/hilt/android:unstable_api",
593        "//java/dagger/hilt/android/lifecycle:activity_retained_saved_state",
594        "//java/dagger/hilt/android/lifecycle:hilt_view_model",
595        "//java/dagger/hilt/android/scopes",
596        "//java/dagger/hilt/android/testing:hilt_android_test",
597        "//third_party/java/jsr330_inject",
598        "//third_party/java/truth",
599        "@maven//:androidx_activity_activity",
600        "@maven//:androidx_annotation_annotation_experimental",
601        "@maven//:androidx_fragment_fragment",
602        "@maven//:androidx_lifecycle_lifecycle_common",
603        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
604        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
605        "@maven//:androidx_navigation_navigation_common",
606        "@maven//:androidx_navigation_navigation_fragment",
607        "@maven//:androidx_navigation_navigation_runtime",
608        "@maven//:junit_junit",
609    ],
610)
611
612android_local_test(
613    name = "ViewModelWithBaseTest",
614    srcs = ["ViewModelWithBaseTest.java"],
615    manifest = "AndroidManifest.xml",
616    manifest_values = {
617        "minSdkVersion": "14",
618    },
619    deps = [
620        "//:android_local_test_exports",
621        "//:dagger_with_compiler",
622        "//java/dagger/hilt:install_in",
623        "//java/dagger/hilt/android:android_entry_point",
624        "//java/dagger/hilt/android:package_info",
625        "//java/dagger/hilt/android/lifecycle:hilt_view_model",
626        "//java/dagger/hilt/android/testing:hilt_android_test",
627        "//third_party/java/jsr330_inject",
628        "//third_party/java/truth",
629        "@maven//:androidx_activity_activity",
630        "@maven//:androidx_fragment_fragment",
631        "@maven//:androidx_lifecycle_lifecycle_common",
632        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
633        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
634        "@maven//:junit_junit",
635    ],
636)
637
638android_local_test(
639    name = "ActivityInjectedSavedStateViewModelTest",
640    srcs = ["ActivityInjectedSavedStateViewModelTest.java"],
641    manifest = "AndroidManifest.xml",
642    manifest_values = {
643        "minSdkVersion": "14",
644    },
645    deps = [
646        "//:android_local_test_exports",
647        "//:dagger_with_compiler",
648        "//java/dagger/hilt:install_in",
649        "//java/dagger/hilt/android:android_entry_point",
650        "//java/dagger/hilt/android:package_info",
651        "//java/dagger/hilt/android/testing:hilt_android_test",
652        "//third_party/java/jsr330_inject",
653        "//third_party/java/truth",
654        "@maven//:junit_junit",
655    ],
656)
657
658android_library(
659    name = "uses_component_common",
660    srcs = [
661        "UsesComponentHelper.java",
662        "UsesComponentTestClasses.java",
663    ],
664    deps = [
665        "//:dagger_with_compiler",
666        "//java/dagger/hilt:define_component",
667        "//java/dagger/hilt:entry_point",
668        "//java/dagger/hilt:install_in",
669        "//java/dagger/hilt/android/components",
670        "//third_party/java/jsr330_inject",
671    ],
672)
673
674# This has to be split into a separate target in order to avoid
675# being compiled as "test bindings" in the compilation unit of
676# the test class itself.
677android_library(
678    name = "uses_component_test_module",
679    srcs = ["UsesComponentTestModule.java"],
680    deps = [
681        ":uses_component_common",
682        "//:dagger_with_compiler",
683        "//java/dagger/hilt:install_in",
684        "//java/dagger/hilt/android/components",
685    ],
686)
687
688android_library(
689    name = "shared_component_test_classes",
690    srcs = [
691        "UsesLocalComponentTestBindingsTest.java",
692        "UsesLocalComponentUninstallModuleTest.java",
693        "UsesSharedComponent1Test.java",
694        "UsesSharedComponent2Test.java",
695        "UsesSharedComponentEnclosedTest.java",
696        "//javatests/dagger/hilt/android/testsubpackage:UsesLocalComponentTestBindingsTest.java",
697        "//javatests/dagger/hilt/android/testsubpackage:UsesSharedComponent1Test.java",
698    ],
699    exports_manifest = 1,
700    javacopts = ["-Adagger.hilt.shareTestComponents=true"],
701    manifest = "AndroidManifest.xml",
702    deps = [
703        ":uses_component_common",
704        ":uses_component_test_module",
705        "//:android_local_test_exports",
706        "//:dagger_with_compiler",
707        "//java/dagger/hilt:entry_point",
708        "//java/dagger/hilt:install_in",
709        "//java/dagger/hilt/android:android_entry_point",
710        "//java/dagger/hilt/android:hilt_android_app",
711        "//java/dagger/hilt/android:package_info",
712        "//java/dagger/hilt/android/testing:bind_value",
713        "//java/dagger/hilt/android/testing:custom_test_application",
714        "//java/dagger/hilt/android/testing:hilt_android_test",
715        "//java/dagger/hilt/android/testing:uninstall_modules",
716        "//third_party/java/jsr330_inject",
717        "//third_party/java/truth",
718        "@maven//:androidx_test_core",
719        "@maven//:androidx_test_ext_junit",
720        "@maven//:junit_junit",
721        "@maven//:org_robolectric_annotations",
722        "@maven//:org_robolectric_robolectric",
723    ],
724)
725
726# Separate target that uses @TestInstallIn to replace the global binding
727android_library(
728    name = "test_install_in_test_classes",
729    srcs = [
730        "TestInstallInModules.java",
731        "UsesSharedComponentTestInstallInTest.java",
732    ],
733    javacopts = ["-Adagger.hilt.shareTestComponents=true"],
734    deps = [
735        ":uses_component_common",
736        ":uses_component_test_module",
737        "//:android_local_test_exports",
738        "//:dagger_with_compiler",
739        "//java/dagger/hilt:install_in",
740        "//java/dagger/hilt/android:hilt_android_app",
741        "//java/dagger/hilt/android:package_info",
742        "//java/dagger/hilt/android/components",
743        "//java/dagger/hilt/android/internal/lifecycle",  # b/247145646
744        "//java/dagger/hilt/android/testing:bind_value",
745        "//java/dagger/hilt/android/testing:hilt_android_test",
746        "//java/dagger/hilt/testing:test_install_in",
747        "//third_party/java/jsr330_inject",
748        "//third_party/java/truth",
749        "@maven//:androidx_test_core",
750        "@maven//:androidx_test_ext_junit",
751        "@maven//:junit_junit",
752        "@maven//:org_robolectric_annotations",
753        "@maven//:org_robolectric_robolectric",
754    ],
755)
756
757android_local_test(
758    name = "UsesLocalComponentTestBindingsTest",
759    manifest_values = {
760        "minSdkVersion": "14",
761    },
762    deps = [
763        ":shared_component_test_classes",
764    ],
765)
766
767android_local_test(
768    name = "UsesLocalComponentUninstallModuleTest",
769    manifest_values = {
770        "minSdkVersion": "14",
771    },
772    deps = [
773        ":shared_component_test_classes",
774    ],
775)
776
777android_local_test(
778    name = "UsesSharedComponent1Test",
779    manifest_values = {
780        "minSdkVersion": "14",
781    },
782    deps = [
783        ":shared_component_test_classes",
784    ],
785)
786
787android_local_test(
788    name = "UsesSharedComponent2Test",
789    manifest_values = {
790        "minSdkVersion": "14",
791    },
792    deps = [
793        ":shared_component_test_classes",
794    ],
795)
796
797android_local_test(
798    name = "UsesSharedComponentEnclosedTest",
799    manifest_values = {
800        "minSdkVersion": "14",
801    },
802    deps = [
803        ":shared_component_test_classes",
804    ],
805)
806
807android_local_test(
808    name = "UsesSharedComponentTestInstallInTest",
809    manifest_values = {
810        "minSdkVersion": "14",
811    },
812    deps = [
813        ":test_install_in_test_classes",
814    ],
815)
816