blob: 1f9bd0809cb4ebdd5b10102e7fdef04c1b3b5177 [file] [log] [blame]
# Copyright (C) 2020 The Dagger Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Description:
# Tests for internal code for implementing Hilt processors.
load("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "kt_android_library")
package(default_visibility = ["//:src"])
# Checks that multiple test roots can be compiled together. This library
# only compiles the sources. they are tested in the android_local_tests.
android_library(
name = "multi_test_root_tests",
srcs = [
"ActivityScenarioRuleTest.java",
"CustomTestApplicationTest.java",
"MultiTestRoot1Test.java",
"MultiTestRoot2Test.java",
"MultiTestRootExternalModules.java",
],
exports_manifest = 1,
manifest = "AndroidManifest.xml",
deps = [
"//:android_local_test_exports",
"//:dagger_with_compiler",
"//java/dagger/hilt:entry_point",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/android:android_entry_point",
"//java/dagger/hilt/android:package_info",
"//java/dagger/hilt/android/testing:bind_value",
"//java/dagger/hilt/android/testing:custom_test_application",
"//java/dagger/hilt/android/testing:hilt_android_test",
"//java/dagger/hilt/android/testing:uninstall_modules",
"@google_bazel_common//third_party/java/truth",
"@maven//:androidx_test_core",
"@maven//:androidx_test_ext_junit",
"@maven//:junit_junit",
"@maven//:org_robolectric_robolectric",
],
)
android_local_test(
name = "ActivityScenarioRuleTest",
manifest_values = {
"minSdkVersion": "14",
},
deps = [
":multi_test_root_tests",
],
)
android_local_test(
name = "CustomTestApplicationTest",
manifest_values = {
"minSdkVersion": "14",
},
deps = [
":multi_test_root_tests",
],
)
android_local_test(
name = "MultiTestRoot1Test",
manifest_values = {
"minSdkVersion": "14",
},
deps = [
":multi_test_root_tests",
],
)
android_local_test(
name = "MultiTestRoot2Test",
manifest_values = {
"minSdkVersion": "14",
},
deps = [
":multi_test_root_tests",
],
)
android_local_test(
name = "EarlyEntryPointHiltAndroidAppRuntimeTest",
size = "small",
srcs = ["EarlyEntryPointHiltAndroidAppRuntimeTest.java"],
manifest_values = {
"minSdkVersion": "14",
},
deps = [
":EarlyEntryPointHiltAndroidAppRuntimeClasses",
"//:android_local_test_exports",
"//java/dagger/hilt:entry_point",
"//java/dagger/hilt/android:early_entry_point",
"//java/dagger/hilt/android:package_info",
"@google_bazel_common//third_party/java/truth",
"@maven//:junit_junit",
],
)
android_library(
name = "EarlyEntryPointHiltAndroidAppRuntimeClasses",
srcs = ["EarlyEntryPointHiltAndroidAppRuntimeClasses.java"],
deps = [
"//java/dagger/hilt:entry_point",
"//java/dagger/hilt/android:early_entry_point",
"//java/dagger/hilt/android:hilt_android_app",
"//java/dagger/hilt/android:package_info",
],
)
android_local_test(
name = "EarlyEntryPointHiltAndroidTestRuntimeTest",
size = "small",
srcs = [
"EarlyEntryPointHiltAndroidTestRuntimeClasses.java",
"EarlyEntryPointHiltAndroidTestRuntimeTest.java",
],
manifest_values = {
"minSdkVersion": "14",
},
deps = [
"//:android_local_test_exports",
"//:dagger_with_compiler",
"//java/dagger/hilt:define_component",
"//java/dagger/hilt:entry_point",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/android:early_entry_point",
"//java/dagger/hilt/android:package_info",
"//java/dagger/hilt/android/testing:hilt_android_test",
"@google_bazel_common//third_party/java/truth",
],
)
android_local_test(
name = "EarlyEntryPointCustomApplicationTest",
size = "small",
srcs = [
"EarlyEntryPointCustomApplicationClasses.java",
"EarlyEntryPointCustomApplicationTest.java",
],
manifest_values = {
"minSdkVersion": "14",
},
deps = [
"//:android_local_test_exports",
"//:dagger_with_compiler",
"//java/dagger/hilt:entry_point",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/android:early_entry_point",
"//java/dagger/hilt/android:package_info",
"//java/dagger/hilt/android/testing:custom_test_application",
"//java/dagger/hilt/android/testing:hilt_android_test",
"@google_bazel_common//third_party/java/truth",
],
)
android_local_test(
name = "EarlyEntryPointNoEntryPointsDefinedTest",
size = "small",
srcs = ["EarlyEntryPointNoEntryPointsDefinedTest.java"],
manifest_values = {
"minSdkVersion": "14",
},
deps = [
"//:android_local_test_exports",
"//:dagger_with_compiler",
"//java/dagger/hilt:entry_point",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/android:early_entry_point",
"//java/dagger/hilt/android:package_info",
"//java/dagger/hilt/android/testing:hilt_android_test",
"@google_bazel_common//third_party/java/truth",
],
)
android_local_test(
name = "AndroidEntryPointBaseClassTest",
size = "small",
srcs = [
"AndroidEntryPointBaseClassOtherPkg.java",
"AndroidEntryPointBaseClassTest.java",
],
javacopts = [
# Note: Hilt's bytecode injection doesn't work in Blaze but we disable
# superclass validation in this test just to verify everything builds.
"-Adagger.hilt.android.internal.disableAndroidSuperclassValidation=true",
# Note: Used to test base classes across java packages.
"-Xep:PackageLocation:OFF",
],
manifest_values = {
"minSdkVersion": "14",
},
deps = [
"//:android_local_test_exports",
"//:dagger_with_compiler",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/android:android_entry_point",
"//java/dagger/hilt/android:package_info",
"@google_bazel_common//third_party/java/truth",
],
)
android_local_test(
name = "ModuleTest",
srcs = ["ModuleTest.java"],
manifest_values = {
"minSdkVersion": "14",
},
deps = [
"//:android_local_test_exports",
"//:dagger_with_compiler",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/android:package_info",
"//java/dagger/hilt/android/testing:hilt_android_test",
"@google_bazel_common//third_party/java/jsr330_inject",
"@google_bazel_common//third_party/java/truth",
],
)
android_local_test(
name = "InjectionTest",
size = "small",
srcs = ["InjectionTest.java"],
manifest_values = {
"minSdkVersion": "14",
},
deps = [
"//:android_local_test_exports",
"//:dagger_with_compiler",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/android:android_entry_point",
"//java/dagger/hilt/android:package_info",
"//java/dagger/hilt/android/testing:hilt_android_test",
"@google_bazel_common//third_party/java/jsr330_inject",
"@google_bazel_common//third_party/java/truth",
],
)
android_local_test(
name = "InstallInObjectModuleTest",
srcs = ["InstallInObjectModuleTest.java"],
manifest_values = {
"minSdkVersion": "14",
},
deps = [
":InstallInObjectModuleClasses",
"//:android_local_test_exports",
"//:dagger_with_compiler",
"//java/dagger/hilt:entry_point",
"//java/dagger/hilt/android:android_entry_point",
"//java/dagger/hilt/android:package_info",
"//java/dagger/hilt/android/testing:hilt_android_test",
"@google_bazel_common//third_party/java/junit",
"@google_bazel_common//third_party/java/truth",
],
)
kt_android_library(
name = "InstallInObjectModuleClasses",
testonly = True,
srcs = ["InstallInObjectModule.kt"],
deps = [
"//:dagger_with_compiler",
"//java/dagger/hilt:entry_point",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/components",
],
)
android_local_test(
name = "InternalKtModuleTest",
size = "small",
srcs = ["InternalKtModuleTest.java"],
manifest_values = {
"minSdkVersion": "14",
},
deps = [
"//:android_local_test_exports",
"//:dagger_with_compiler",
"//java/dagger/hilt:entry_point",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/android:package_info",
"//java/dagger/hilt/android/testing:hilt_android_test",
"//javatests/dagger/hilt/testmodules",
"@google_bazel_common//third_party/java/truth",
],
)
android_local_test(
name = "DefaultViewModelFactoryTest",
srcs = ["DefaultViewModelFactoryTest.java"],
manifest = "AndroidManifest.xml",
manifest_values = {
"minSdkVersion": "14",
},
deps = [
"//:android_local_test_exports",
"//:dagger_with_compiler",
"//java/dagger/hilt:entry_point",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/android:android_entry_point",
"//java/dagger/hilt/android:package_info",
"//java/dagger/hilt/android/lifecycle",
"//java/dagger/hilt/android/testing:bind_value",
"//java/dagger/hilt/android/testing:hilt_android_test",
"@google_bazel_common//third_party/java/jsr330_inject",
"@google_bazel_common//third_party/java/truth",
"@maven//:androidx_activity_activity",
"@maven//:androidx_fragment_fragment",
"@maven//:androidx_lifecycle_lifecycle_common",
"@maven//:androidx_lifecycle_lifecycle_viewmodel",
"@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
"@maven//:junit_junit",
],
)
android_local_test(
name = "QualifierInKotlinFieldsTest",
srcs = ["QualifierInKotlinFieldsTest.java"],
manifest = "AndroidManifest.xml",
manifest_values = {
"minSdkVersion": "14",
},
deps = [
":QualifierInFieldsClass",
"//:android_local_test_exports",
"//:dagger_with_compiler",
"//java/dagger/hilt/android:android_entry_point",
"//java/dagger/hilt/android:package_info",
"//java/dagger/hilt/android/testing:hilt_android_test",
"@google_bazel_common//third_party/java/jsr330_inject",
"@google_bazel_common//third_party/java/truth",
"@maven//:androidx_activity_activity",
"@maven//:androidx_fragment_fragment",
"@maven//:androidx_lifecycle_lifecycle_common",
"@maven//:androidx_lifecycle_lifecycle_viewmodel",
"@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
"@maven//:junit_junit",
],
)
kt_android_library(
name = "QualifierInFieldsClass",
testonly = True,
srcs = ["QualifierInFieldsClass.kt"],
deps = [
"//:dagger_with_compiler",
"//java/dagger/hilt/android/qualifiers",
],
)
android_local_test(
name = "ActivityRetainedClearedListenerTest",
srcs = ["ActivityRetainedClearedListenerTest.java"],
manifest = "AndroidManifest.xml",
manifest_values = {
"minSdkVersion": "14",
},
deps = [
"//:android_local_test_exports",
"//:dagger_with_compiler",
"//java/dagger/hilt:entry_point",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/android:activity_retained_lifecycle",
"//java/dagger/hilt/android:android_entry_point",
"//java/dagger/hilt/android:package_info",
"//java/dagger/hilt/android/testing:hilt_android_test",
"@google_bazel_common//third_party/java/jsr330_inject",
"@google_bazel_common//third_party/java/truth",
"@maven//:androidx_activity_activity",
"@maven//:androidx_fragment_fragment",
"@maven//:androidx_lifecycle_lifecycle_common",
"@maven//:androidx_lifecycle_lifecycle_viewmodel",
"@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
"@maven//:junit_junit",
],
)
android_local_test(
name = "ActivityInjectedViewModelTest",
srcs = ["ActivityInjectedViewModelTest.java"],
manifest = "AndroidManifest.xml",
manifest_values = {
"minSdkVersion": "14",
},
deps = [
"//:android_local_test_exports",
"//:dagger_with_compiler",
"//java/dagger/hilt:entry_point",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/android:android_entry_point",
"//java/dagger/hilt/android:package_info",
"//java/dagger/hilt/android/testing:hilt_android_test",
"@google_bazel_common//third_party/java/jsr330_inject",
"@google_bazel_common//third_party/java/truth",
"@maven//:androidx_activity_activity",
"@maven//:androidx_fragment_fragment",
"@maven//:androidx_lifecycle_lifecycle_common",
"@maven//:androidx_lifecycle_lifecycle_viewmodel",
"@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
"@maven//:junit_junit",
],
)
android_local_test(
name = "ViewModelScopedTest",
srcs = ["ViewModelScopedTest.java"],
manifest = "AndroidManifest.xml",
manifest_values = {
"minSdkVersion": "14",
},
deps = [
"//:android_local_test_exports",
"//:dagger_with_compiler",
"//java/dagger/hilt:entry_point",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/android:android_entry_point",
"//java/dagger/hilt/android:package_info",
"//java/dagger/hilt/android/lifecycle",
"//java/dagger/hilt/android/scopes",
"//java/dagger/hilt/android/testing:hilt_android_test",
"@google_bazel_common//third_party/java/jsr330_inject",
"@google_bazel_common//third_party/java/truth",
"@maven//:androidx_activity_activity",
"@maven//:androidx_fragment_fragment",
"@maven//:androidx_lifecycle_lifecycle_common",
"@maven//:androidx_lifecycle_lifecycle_viewmodel",
"@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
"@maven//:junit_junit",
],
)
android_local_test(
name = "ViewModelWithBaseTest",
srcs = ["ViewModelWithBaseTest.java"],
manifest = "AndroidManifest.xml",
manifest_values = {
"minSdkVersion": "14",
},
deps = [
"//:android_local_test_exports",
"//:dagger_with_compiler",
"//java/dagger/hilt:entry_point",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/android:android_entry_point",
"//java/dagger/hilt/android:package_info",
"//java/dagger/hilt/android/lifecycle",
"//java/dagger/hilt/android/testing:hilt_android_test",
"@google_bazel_common//third_party/java/jsr330_inject",
"@google_bazel_common//third_party/java/truth",
"@maven//:androidx_activity_activity",
"@maven//:androidx_fragment_fragment",
"@maven//:androidx_lifecycle_lifecycle_common",
"@maven//:androidx_lifecycle_lifecycle_viewmodel",
"@maven//:androidx_lifecycle_lifecycle_viewmodel_savedstate",
"@maven//:junit_junit",
],
)
android_local_test(
name = "ActivityInjectedSavedStateViewModelTest",
srcs = ["ActivityInjectedSavedStateViewModelTest.java"],
manifest = "AndroidManifest.xml",
manifest_values = {
"minSdkVersion": "14",
},
deps = [
"//:android_local_test_exports",
"//:dagger_with_compiler",
"//java/dagger/hilt:entry_point",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/android:android_entry_point",
"//java/dagger/hilt/android:package_info",
"//java/dagger/hilt/android/testing:hilt_android_test",
"//java/dagger/internal/guava:base-android",
"@google_bazel_common//third_party/java/jsr330_inject",
"@google_bazel_common//third_party/java/truth",
"@maven//:junit_junit",
],
)
android_library(
name = "uses_component_common",
srcs = [
"UsesComponentHelper.java",
"UsesComponentTestClasses.java",
],
deps = [
"//:dagger_with_compiler",
"//java/dagger/hilt:define_component",
"//java/dagger/hilt:entry_point",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/android/components",
"@google_bazel_common//third_party/java/jsr330_inject",
],
)
# This has to be split into a separate target in order to avoid
# being compiled as "test bindings" in the compilation unit of
# the test class itself.
android_library(
name = "uses_component_test_module",
srcs = ["UsesComponentTestModule.java"],
deps = [
":uses_component_common",
"//:dagger_with_compiler",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/android/components",
],
)
android_library(
name = "shared_component_test_classes",
srcs = [
"UsesLocalComponentTestBindingsTest.java",
"UsesLocalComponentUninstallModuleTest.java",
"UsesSharedComponent1Test.java",
"UsesSharedComponent2Test.java",
"UsesSharedComponentEnclosedTest.java",
"//javatests/dagger/hilt/android/testsubpackage:UsesLocalComponentTestBindingsTest.java",
"//javatests/dagger/hilt/android/testsubpackage:UsesSharedComponent1Test.java",
],
exports_manifest = 1,
javacopts = ["-Adagger.hilt.shareTestComponents=true"],
manifest = "AndroidManifest.xml",
deps = [
":uses_component_common",
":uses_component_test_module",
"//:android_local_test_exports",
"//:dagger_with_compiler",
"//java/dagger/hilt:entry_point",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/android:android_entry_point",
"//java/dagger/hilt/android:hilt_android_app",
"//java/dagger/hilt/android:package_info",
"//java/dagger/hilt/android/testing:bind_value",
"//java/dagger/hilt/android/testing:custom_test_application",
"//java/dagger/hilt/android/testing:hilt_android_test",
"//java/dagger/hilt/android/testing:uninstall_modules",
"@google_bazel_common//third_party/java/jsr330_inject",
"@google_bazel_common//third_party/java/truth",
"@maven//:androidx_test_core",
"@maven//:androidx_test_ext_junit",
"@maven//:junit_junit",
"@maven//:org_robolectric_annotations",
"@maven//:org_robolectric_robolectric",
],
)
# Separate target that uses @TestInstallIn to replace the global binding
android_library(
name = "test_install_in_test_classes",
srcs = [
"TestInstallInModules.java",
"UsesSharedComponentTestInstallInTest.java",
],
javacopts = ["-Adagger.hilt.shareTestComponents=true"],
deps = [
":uses_component_common",
":uses_component_test_module",
"//:android_local_test_exports",
"//:dagger_with_compiler",
"//java/dagger/hilt:install_in",
"//java/dagger/hilt/android:hilt_android_app",
"//java/dagger/hilt/android:package_info",
"//java/dagger/hilt/android/components",
"//java/dagger/hilt/android/testing:bind_value",
"//java/dagger/hilt/android/testing:hilt_android_test",
"//java/dagger/hilt/testing:test_install_in",
"@google_bazel_common//third_party/java/jsr330_inject",
"@google_bazel_common//third_party/java/truth",
"@maven//:androidx_test_core",
"@maven//:androidx_test_ext_junit",
"@maven//:junit_junit",
"@maven//:org_robolectric_annotations",
"@maven//:org_robolectric_robolectric",
],
)
android_local_test(
name = "UsesLocalComponentTestBindingsTest",
manifest_values = {
"minSdkVersion": "14",
},
deps = [
":shared_component_test_classes",
],
)
android_local_test(
name = "UsesLocalComponentUninstallModuleTest",
manifest_values = {
"minSdkVersion": "14",
},
deps = [
":shared_component_test_classes",
],
)
android_local_test(
name = "UsesSharedComponent1Test",
manifest_values = {
"minSdkVersion": "14",
},
deps = [
":shared_component_test_classes",
],
)
android_local_test(
name = "UsesSharedComponent2Test",
manifest_values = {
"minSdkVersion": "14",
},
deps = [
":shared_component_test_classes",
],
)
android_local_test(
name = "UsesSharedComponentEnclosedTest",
manifest_values = {
"minSdkVersion": "14",
},
deps = [
":shared_component_test_classes",
],
)
android_local_test(
name = "UsesSharedComponentTestInstallInTest",
manifest_values = {
"minSdkVersion": "14",
},
deps = [
":test_install_in_test_classes",
],
)