• 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#   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 = "PackagePrivateConstructorTest",
364    srcs = ["PackagePrivateConstructorTest.java"],
365    manifest = "AndroidManifest.xml",
366    manifest_values = {
367        "minSdkVersion": "14",
368    },
369    deps = [
370        "//:android_local_test_exports",
371        "//java/dagger/hilt/android:android_entry_point",
372        "//java/dagger/hilt/android:package_info",
373        "//java/dagger/hilt/android/testing:hilt_android_test",
374        "//javatests/dagger/hilt/android/testsubpackage:PackagePrivateConstructorTestClasses",
375    ],
376)
377
378android_local_test(
379    name = "QualifierInKotlinFieldsTest",
380    srcs = ["QualifierInKotlinFieldsTest.java"],
381    manifest = "AndroidManifest.xml",
382    manifest_values = {
383        "minSdkVersion": "14",
384    },
385    deps = [
386        ":QualifierInFieldsClass",
387        "//:android_local_test_exports",
388        "//:dagger_with_compiler",
389        "//java/dagger/hilt/android:android_entry_point",
390        "//java/dagger/hilt/android:package_info",
391        "//java/dagger/hilt/android/testing:hilt_android_test",
392        "//third_party/java/jsr330_inject",
393        "//third_party/java/truth",
394        "@maven//:androidx_activity_activity",
395        "@maven//:androidx_fragment_fragment",
396        "@maven//:androidx_lifecycle_lifecycle_common",
397        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
398        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
399        "@maven//:junit_junit",
400    ],
401)
402
403kt_android_library(
404    name = "QualifierInFieldsClass",
405    testonly = True,
406    srcs = ["QualifierInFieldsClass.kt"],
407    deps = [
408        "//:dagger_with_compiler",
409        "//java/dagger/hilt/android/qualifiers",
410    ],
411)
412
413android_local_test(
414    name = "OptionalInjectWithHiltTest",
415    size = "small",
416    srcs = [
417        "OptionalInjectWithHiltTest.java",
418    ],
419    manifest = "AndroidManifest.xml",
420    manifest_values = {
421        "minSdkVersion": "14",
422    },
423    deps = [
424        ":OptionalInjectTestClasses",
425        "//:android_local_test_exports",
426        "//java/dagger/hilt/android:android_entry_point",
427        "//java/dagger/hilt/android:package_info",
428        "//java/dagger/hilt/android/migration:optional_inject",
429        "//java/dagger/hilt/android/testing:hilt_android_test",
430        "//third_party/java/truth",
431        "@maven//:androidx_activity_activity",
432        "@maven//:androidx_fragment_fragment",
433        "@maven//:androidx_lifecycle_lifecycle_common",
434        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
435        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
436    ],
437)
438
439android_local_test(
440    name = "OptionalInjectWithoutHiltTest",
441    size = "small",
442    srcs = [
443        "OptionalInjectWithoutHiltTest.java",
444    ],
445    manifest = "AndroidManifest.xml",
446    manifest_values = {
447        "minSdkVersion": "14",
448    },
449    deps = [
450        ":OptionalInjectTestClasses",
451        "//:android_local_test_exports",
452        "//java/dagger/hilt/android:package_info",
453        "//java/dagger/hilt/android/migration:optional_inject",
454        "//third_party/java/truth",
455        "@maven//:androidx_activity_activity",
456        "@maven//:androidx_fragment_fragment",
457        "@maven//:androidx_lifecycle_lifecycle_common",
458        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
459        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
460    ],
461)
462
463android_library(
464    name = "OptionalInjectTestClasses",
465    srcs = ["OptionalInjectTestClasses.java"],
466    manifest = "AndroidManifest.xml",
467    deps = [
468        "//:dagger_with_compiler",
469        "//java/dagger/hilt:install_in",
470        "//java/dagger/hilt/android:android_entry_point",
471        "//java/dagger/hilt/android:package_info",
472        "//java/dagger/hilt/android/migration:optional_inject",
473        "//third_party/java/jsr330_inject",
474        "@maven//:androidx_activity_activity",
475        "@maven//:androidx_fragment_fragment",
476        "@maven//:androidx_lifecycle_lifecycle_common",
477        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
478        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
479    ],
480)
481
482android_local_test(
483    name = "ActivityRetainedClearedListenerTest",
484    srcs = ["ActivityRetainedClearedListenerTest.java"],
485    manifest = "AndroidManifest.xml",
486    manifest_values = {
487        "minSdkVersion": "14",
488    },
489    deps = [
490        "//:android_local_test_exports",
491        "//:dagger_with_compiler",
492        "//java/dagger/hilt:install_in",
493        "//java/dagger/hilt/android:activity_retained_lifecycle",
494        "//java/dagger/hilt/android:android_entry_point",
495        "//java/dagger/hilt/android:package_info",
496        "//java/dagger/hilt/android/testing:hilt_android_test",
497        "//third_party/java/jsr330_inject",
498        "//third_party/java/truth",
499        "@maven//:androidx_activity_activity",
500        "@maven//:androidx_fragment_fragment",
501        "@maven//:androidx_lifecycle_lifecycle_common",
502        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
503        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
504        "@maven//:junit_junit",
505    ],
506)
507
508android_local_test(
509    name = "ActivityInjectedViewModelTest",
510    srcs = ["ActivityInjectedViewModelTest.java"],
511    manifest = "AndroidManifest.xml",
512    manifest_values = {
513        "minSdkVersion": "14",
514    },
515    deps = [
516        "//:android_local_test_exports",
517        "//:dagger_with_compiler",
518        "//java/dagger/hilt:install_in",
519        "//java/dagger/hilt/android:android_entry_point",
520        "//java/dagger/hilt/android:package_info",
521        "//java/dagger/hilt/android/testing:hilt_android_test",
522        "//third_party/java/jsr330_inject",
523        "//third_party/java/truth",
524        "@maven//:androidx_activity_activity",
525        "@maven//:androidx_fragment_fragment",
526        "@maven//:androidx_lifecycle_lifecycle_common",
527        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
528        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
529        "@maven//:junit_junit",
530    ],
531)
532
533android_local_test(
534    name = "ViewModelScopedTest",
535    srcs = ["ViewModelScopedTest.java"],
536    manifest = "AndroidManifest.xml",
537    manifest_values = {
538        "minSdkVersion": "14",
539    },
540    deps = [
541        "//:android_local_test_exports",
542        "//:dagger_with_compiler",
543        "//java/dagger/hilt:install_in",
544        "//java/dagger/hilt/android:android_entry_point",
545        "//java/dagger/hilt/android:package_info",
546        "//java/dagger/hilt/android:view_model_lifecycle",
547        "//java/dagger/hilt/android/lifecycle:hilt_view_model",
548        "//java/dagger/hilt/android/scopes",
549        "//java/dagger/hilt/android/testing:hilt_android_test",
550        "//third_party/java/jsr330_inject",
551        "//third_party/java/truth",
552        "@maven//:androidx_activity_activity",
553        "@maven//:androidx_fragment_fragment",
554        "@maven//:androidx_lifecycle_lifecycle_common",
555        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
556        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
557        "@maven//:junit_junit",
558    ],
559)
560
561android_local_test(
562    name = "ViewModelAssistedTest",
563    srcs = ["ViewModelAssistedTest.java"],
564    javacopts = ["-Adagger.hilt.enableAssistedInjectViewModels=true"],
565    manifest = "AndroidManifest.xml",
566    manifest_values = {
567        "minSdkVersion": "14",
568    },
569    deps = [
570        "//:android_local_test_exports",
571        "//:dagger_with_compiler",
572        "//java/dagger/hilt:install_in",
573        "//java/dagger/hilt/android:android_entry_point",
574        "//java/dagger/hilt/android:package_info",
575        "//java/dagger/hilt/android:view_model_lifecycle",
576        "//java/dagger/hilt/android/internal/lifecycle",
577        "//java/dagger/hilt/android/lifecycle:hilt_view_model",
578        "//java/dagger/hilt/android/lifecycle:hilt_view_model_extensions",
579        "//java/dagger/hilt/android/scopes",
580        "//java/dagger/hilt/android/testing:hilt_android_test",
581        "//third_party/java/jsr330_inject",
582        "//third_party/java/truth",
583        "@maven//:androidx_activity_activity",
584        "@maven//:androidx_fragment_fragment",
585        "@maven//:androidx_lifecycle_lifecycle_common",
586        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
587        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
588        "@maven//:androidx_test_core",
589        "@maven//:junit_junit",
590        "@maven//:org_jetbrains_kotlin_kotlin_stdlib",
591    ],
592)
593
594android_local_test(
595    name = "ViewModelSavedStateOwnerTest",
596    srcs = ["ViewModelSavedStateOwnerTest.java"],
597    manifest = "AndroidManifest.xml",
598    manifest_values = {
599        "minSdkVersion": "14",
600    },
601    deps = [
602        ":resources",
603        "//:android_local_test_exports",
604        "//:dagger_with_compiler",
605        "//java/dagger/hilt:install_in",
606        "//java/dagger/hilt/android:android_entry_point",
607        "//java/dagger/hilt/android:package_info",
608        "//java/dagger/hilt/android:unstable_api",
609        "//java/dagger/hilt/android/lifecycle:activity_retained_saved_state",
610        "//java/dagger/hilt/android/lifecycle:hilt_view_model",
611        "//java/dagger/hilt/android/scopes",
612        "//java/dagger/hilt/android/testing:hilt_android_test",
613        "//third_party/java/jsr330_inject",
614        "//third_party/java/truth",
615        "@maven//:androidx_activity_activity",
616        "@maven//:androidx_annotation_annotation_experimental",
617        "@maven//:androidx_fragment_fragment",
618        "@maven//:androidx_lifecycle_lifecycle_common",
619        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
620        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
621        "@maven//:androidx_navigation_navigation_common",
622        "@maven//:androidx_navigation_navigation_fragment",
623        "@maven//:androidx_navigation_navigation_runtime",
624        "@maven//:junit_junit",
625    ],
626)
627
628android_local_test(
629    name = "ViewModelWithBaseTest",
630    srcs = ["ViewModelWithBaseTest.java"],
631    manifest = "AndroidManifest.xml",
632    manifest_values = {
633        "minSdkVersion": "14",
634    },
635    deps = [
636        "//:android_local_test_exports",
637        "//:dagger_with_compiler",
638        "//java/dagger/hilt:install_in",
639        "//java/dagger/hilt/android:android_entry_point",
640        "//java/dagger/hilt/android:package_info",
641        "//java/dagger/hilt/android/lifecycle:hilt_view_model",
642        "//java/dagger/hilt/android/testing:hilt_android_test",
643        "//third_party/java/jsr330_inject",
644        "//third_party/java/truth",
645        "@maven//:androidx_activity_activity",
646        "@maven//:androidx_fragment_fragment",
647        "@maven//:androidx_lifecycle_lifecycle_common",
648        "@maven//:androidx_lifecycle_lifecycle_viewmodel",
649        "@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
650        "@maven//:junit_junit",
651    ],
652)
653
654android_local_test(
655    name = "ActivityInjectedSavedStateViewModelTest",
656    srcs = ["ActivityInjectedSavedStateViewModelTest.java"],
657    manifest = "AndroidManifest.xml",
658    manifest_values = {
659        "minSdkVersion": "14",
660    },
661    deps = [
662        "//:android_local_test_exports",
663        "//:dagger_with_compiler",
664        "//java/dagger/hilt:install_in",
665        "//java/dagger/hilt/android:android_entry_point",
666        "//java/dagger/hilt/android:package_info",
667        "//java/dagger/hilt/android/testing:hilt_android_test",
668        "//third_party/java/jsr330_inject",
669        "//third_party/java/truth",
670        "@maven//:junit_junit",
671    ],
672)
673
674android_library(
675    name = "uses_component_common",
676    srcs = [
677        "UsesComponentHelper.java",
678        "UsesComponentTestClasses.java",
679    ],
680    deps = [
681        "//:dagger_with_compiler",
682        "//java/dagger/hilt:define_component",
683        "//java/dagger/hilt:entry_point",
684        "//java/dagger/hilt:install_in",
685        "//java/dagger/hilt/android/components",
686        "//third_party/java/jsr330_inject",
687    ],
688)
689
690# This has to be split into a separate target in order to avoid
691# being compiled as "test bindings" in the compilation unit of
692# the test class itself.
693android_library(
694    name = "uses_component_test_module",
695    srcs = ["UsesComponentTestModule.java"],
696    deps = [
697        ":uses_component_common",
698        "//:dagger_with_compiler",
699        "//java/dagger/hilt:install_in",
700        "//java/dagger/hilt/android/components",
701    ],
702)
703
704android_library(
705    name = "shared_component_test_classes",
706    srcs = [
707        "UsesLocalComponentTestBindingsTest.java",
708        "UsesLocalComponentUninstallModuleTest.java",
709        "UsesSharedComponent1Test.java",
710        "UsesSharedComponent2Test.java",
711        "UsesSharedComponentEnclosedTest.java",
712        "//javatests/dagger/hilt/android/testsubpackage:UsesLocalComponentTestBindingsTest.java",
713        "//javatests/dagger/hilt/android/testsubpackage:UsesSharedComponent1Test.java",
714    ],
715    exports_manifest = 1,
716    javacopts = ["-Adagger.hilt.shareTestComponents=true"],
717    manifest = "AndroidManifest.xml",
718    deps = [
719        ":uses_component_common",
720        ":uses_component_test_module",
721        "//:android_local_test_exports",
722        "//:dagger_with_compiler",
723        "//java/dagger/hilt:entry_point",
724        "//java/dagger/hilt:install_in",
725        "//java/dagger/hilt/android:android_entry_point",
726        "//java/dagger/hilt/android:hilt_android_app",
727        "//java/dagger/hilt/android:package_info",
728        "//java/dagger/hilt/android/testing:bind_value",
729        "//java/dagger/hilt/android/testing:custom_test_application",
730        "//java/dagger/hilt/android/testing:hilt_android_test",
731        "//java/dagger/hilt/android/testing:uninstall_modules",
732        "//third_party/java/jsr330_inject",
733        "//third_party/java/truth",
734        "@maven//:androidx_test_core",
735        "@maven//:androidx_test_ext_junit",
736        "@maven//:junit_junit",
737        "@maven//:org_robolectric_annotations",
738        "@maven//:org_robolectric_robolectric",
739    ],
740)
741
742# Separate target that uses @TestInstallIn to replace the global binding
743android_library(
744    name = "test_install_in_test_classes",
745    srcs = [
746        "TestInstallInModules.java",
747        "UsesSharedComponentTestInstallInTest.java",
748    ],
749    javacopts = ["-Adagger.hilt.shareTestComponents=true"],
750    deps = [
751        ":uses_component_common",
752        ":uses_component_test_module",
753        "//:android_local_test_exports",
754        "//:dagger_with_compiler",
755        "//java/dagger/hilt:install_in",
756        "//java/dagger/hilt/android:hilt_android_app",
757        "//java/dagger/hilt/android:package_info",
758        "//java/dagger/hilt/android/components",
759        "//java/dagger/hilt/android/internal/lifecycle",  # b/247145646
760        "//java/dagger/hilt/android/testing:bind_value",
761        "//java/dagger/hilt/android/testing:hilt_android_test",
762        "//java/dagger/hilt/testing:test_install_in",
763        "//third_party/java/jsr330_inject",
764        "//third_party/java/truth",
765        "@maven//:androidx_test_core",
766        "@maven//:androidx_test_ext_junit",
767        "@maven//:junit_junit",
768        "@maven//:org_robolectric_annotations",
769        "@maven//:org_robolectric_robolectric",
770    ],
771)
772
773android_local_test(
774    name = "UsesLocalComponentTestBindingsTest",
775    manifest_values = {
776        "minSdkVersion": "14",
777    },
778    deps = [
779        ":shared_component_test_classes",
780    ],
781)
782
783android_local_test(
784    name = "UsesLocalComponentUninstallModuleTest",
785    manifest_values = {
786        "minSdkVersion": "14",
787    },
788    deps = [
789        ":shared_component_test_classes",
790    ],
791)
792
793android_local_test(
794    name = "UsesSharedComponent1Test",
795    manifest_values = {
796        "minSdkVersion": "14",
797    },
798    deps = [
799        ":shared_component_test_classes",
800    ],
801)
802
803android_local_test(
804    name = "UsesSharedComponent2Test",
805    manifest_values = {
806        "minSdkVersion": "14",
807    },
808    deps = [
809        ":shared_component_test_classes",
810    ],
811)
812
813android_local_test(
814    name = "UsesSharedComponentEnclosedTest",
815    manifest_values = {
816        "minSdkVersion": "14",
817    },
818    deps = [
819        ":shared_component_test_classes",
820    ],
821)
822
823android_local_test(
824    name = "UsesSharedComponentTestInstallInTest",
825    manifest_values = {
826        "minSdkVersion": "14",
827    },
828    deps = [
829        ":test_install_in_test_classes",
830    ],
831)
832