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