1# Copyright (C) 2020 The Dagger Authors. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14# Description: 15# Testing libraries for Hilt Android. 16 17load("//:build_defs.bzl", "POM_VERSION") 18load("//tools:maven.bzl", "gen_maven_artifact") 19 20package(default_visibility = ["//:src"]) 21 22android_library( 23 name = "custom_test_application", 24 testonly = 1, 25 srcs = ["CustomTestApplication.java"], 26 exported_plugins = [ 27 "//java/dagger/hilt/android/processor/internal/customtestapplication:processor", 28 ], 29 exports = [ 30 "//java/dagger/hilt/android/internal/testing:test_application_component_manager", 31 "//java/dagger/hilt/android/internal/testing:test_application_component_manager_holder", 32 "//java/dagger/hilt/internal:component_manager", 33 ], 34 deps = [ 35 ":package_info", 36 "//java/dagger/hilt:generates_root_input", 37 ], 38) 39 40android_library( 41 name = "hilt_android_test", 42 testonly = 1, 43 srcs = ["HiltAndroidTest.java"], 44 exported_plugins = [ 45 "//java/dagger/hilt/processor/internal/root:component_tree_deps_plugin", 46 "//java/dagger/hilt/processor/internal/root:root_plugin", 47 "//java/dagger/hilt/android/processor/internal/androidentrypoint:plugin", 48 "//java/dagger/hilt/android/processor/internal/viewmodel:validation_plugin", 49 ], 50 exports = [ 51 ":hilt_android_rule", 52 ":hilt_test_application", 53 ":on_component_ready_runner", 54 ":package_info", 55 "//:dagger_with_compiler", 56 "//java/dagger/hilt:install_in", 57 "//java/dagger/hilt/android/components", 58 "//java/dagger/hilt/android/internal", 59 "//java/dagger/hilt/android/internal/builders", 60 "//java/dagger/hilt/android/internal/legacy:aggregated_element_proxy", 61 "//java/dagger/hilt/android/internal/managers", 62 "//java/dagger/hilt/android/internal/modules", 63 "//java/dagger/hilt/android/internal/testing:early_test_singleton_component_creator", 64 "//java/dagger/hilt/android/internal/testing:test_application_component_manager", 65 "//java/dagger/hilt/android/internal/testing:test_application_component_manager_holder", 66 "//java/dagger/hilt/android/internal/testing:test_component_data", 67 "//java/dagger/hilt/android/internal/testing:test_injector", 68 "//java/dagger/hilt/android/internal/testing/root:default", 69 "//java/dagger/hilt/android/scopes", 70 "//java/dagger/hilt/internal:component_entry_point", 71 "//java/dagger/hilt/internal:component_manager", 72 "//java/dagger/hilt/internal:generated_component", 73 "//java/dagger/hilt/internal:generated_entry_point", 74 "//java/dagger/hilt/internal:preconditions", 75 "//java/dagger/hilt/internal:test_singleton_component", 76 "//java/dagger/hilt/internal/aggregatedroot", 77 "//java/dagger/hilt/internal/componenttreedeps", 78 "//java/dagger/hilt/internal/processedrootsentinel", 79 "//java/dagger/hilt/migration:disable_install_in_check", 80 "@maven//:androidx_annotation_annotation", 81 "@maven//:androidx_multidex_multidex", 82 "@maven//:androidx_test_core", 83 ], 84 deps = [ 85 "//java/dagger/hilt:generates_root_input", 86 ], 87) 88 89android_library( 90 name = "hilt_android_rule", 91 testonly = 1, 92 srcs = ["HiltAndroidRule.java"], 93 deps = [ 94 ":package_info", 95 "//java/dagger/hilt/android/internal/testing:mark_that_rules_ran_rule", 96 "//java/dagger/hilt/internal:preconditions", 97 "@maven//:junit_junit", 98 ], 99) 100 101android_library( 102 name = "hilt_test_application", 103 testonly = 1, 104 srcs = [ 105 "HiltTestApplication.java", 106 ], 107 deps = [ 108 ":on_component_ready_runner", 109 ":package_info", 110 "//java/dagger/hilt/android/internal/testing:test_application_component_manager", 111 "//java/dagger/hilt/android/internal/testing:test_application_component_manager_holder", 112 "//java/dagger/hilt/internal:component_manager", 113 "@maven//:androidx_multidex_multidex", 114 ], 115) 116 117android_library( 118 name = "on_component_ready_runner", 119 testonly = 1, 120 srcs = ["OnComponentReadyRunner.java"], 121 deps = [ 122 ":package_info", 123 "//:dagger_with_compiler", 124 "//java/dagger/hilt:entry_point", 125 "//java/dagger/hilt/android/internal", 126 "//java/dagger/hilt/android/internal/testing:test_application_component_manager_holder", 127 "//java/dagger/hilt/internal:component_manager", 128 "//java/dagger/hilt/internal:preconditions", 129 "//third_party/java/auto:value", 130 ], 131) 132 133android_library( 134 name = "uninstall_modules", 135 testonly = 1, 136 srcs = ["UninstallModules.java"], 137 exported_plugins = [ 138 "//java/dagger/hilt/processor/internal/uninstallmodules:processor", 139 ], 140 exports = [ 141 "//java/dagger/hilt/android/internal/uninstallmodules", 142 ], 143 deps = [ 144 ":package_info", 145 "//java/dagger/hilt:generates_root_input", 146 ], 147) 148 149android_library( 150 name = "bind_value", 151 testonly = 1, 152 srcs = [ 153 "BindElementsIntoSet.java", 154 "BindValue.java", 155 "BindValueIntoMap.java", 156 "BindValueIntoSet.java", 157 ], 158 exported_plugins = [ 159 "//java/dagger/hilt/android/processor/internal/bindvalue:bind_value_processor", 160 ], 161 exports = [ 162 "//java/dagger/hilt:install_in", 163 "//java/dagger/hilt/android/qualifiers", 164 ], 165 deps = [ 166 ":package_info", 167 "//java/dagger/hilt:generates_root_input", 168 ], 169) 170 171android_library( 172 name = "skip_test_injection", 173 testonly = 1, 174 srcs = ["SkipTestInjection.java"], 175 deps = [ 176 ":package_info", 177 ], 178) 179 180java_library( 181 name = "package_info", 182 srcs = ["package-info.java"], 183 deps = [ 184 "//third_party/java/jsr305_annotations", 185 ], 186) 187 188android_library( 189 name = "artifact-lib", 190 testonly = 1, 191 tags = ["maven_coordinates=com.google.dagger:hilt-android-testing:" + POM_VERSION], 192 exports = [ 193 ":bind_value", 194 ":custom_test_application", 195 ":hilt_android_test", 196 ":package_info", 197 ":uninstall_modules", 198 "//java/dagger/hilt/android:artifact-lib", 199 "//java/dagger/hilt/testing:test_install_in", 200 ], 201) 202 203gen_maven_artifact( 204 name = "artifact", 205 testonly = 1, 206 artifact_coordinates = "com.google.dagger:hilt-android-testing:" + POM_VERSION, 207 artifact_name = "Hilt Android Testing", 208 artifact_target = ":artifact-lib", 209 artifact_target_libs = [ 210 "//java/dagger/hilt/android/internal/testing:early_test_singleton_component_creator", 211 "//java/dagger/hilt/android/internal/testing:mark_that_rules_ran_rule", 212 "//java/dagger/hilt/android/internal/testing:test_application_component_manager", 213 "//java/dagger/hilt/android/internal/testing:test_application_component_manager_holder", 214 "//java/dagger/hilt/android/internal/testing:test_component_data", 215 "//java/dagger/hilt/android/internal/testing:test_injector", 216 "//java/dagger/hilt/android/internal/testing/root:default", 217 "//java/dagger/hilt/android/internal/uninstallmodules:uninstallmodules", 218 "//java/dagger/hilt/android/testing:bind_value", 219 "//java/dagger/hilt/android/testing:custom_test_application", 220 "//java/dagger/hilt/android/testing:hilt_android_rule", 221 "//java/dagger/hilt/android/testing:hilt_android_test", 222 "//java/dagger/hilt/android/testing:hilt_test_application", 223 "//java/dagger/hilt/android/testing:on_component_ready_runner", 224 "//java/dagger/hilt/android/testing:package_info", 225 "//java/dagger/hilt/testing:test_install_in", 226 "//java/dagger/hilt/testing:package_info", 227 "//java/dagger/hilt/android/testing:uninstall_modules", 228 ], 229 artifact_target_maven_deps = [ 230 "androidx.activity:activity", 231 "androidx.annotation:annotation", 232 "androidx.annotation:annotation-experimental", 233 "androidx.fragment:fragment", 234 "androidx.lifecycle:lifecycle-common", 235 "androidx.lifecycle:lifecycle-viewmodel", 236 "androidx.lifecycle:lifecycle-viewmodel-savedstate", 237 "androidx.multidex:multidex", 238 "androidx.savedstate:savedstate", 239 "androidx.test:core", 240 "com.google.code.findbugs:jsr305", 241 "com.google.dagger:dagger", 242 "com.google.dagger:hilt-android", 243 "javax.inject:javax.inject", 244 "junit:junit", 245 "org.jetbrains.kotlin:kotlin-stdlib", 246 ], 247 artifact_target_maven_deps_banned = [ 248 "com.google.guava:guava", 249 "javax.annotation:javax.annotation-api", 250 ], 251 javadoc_android_api_level = 32, 252 javadoc_exclude_packages = [ 253 "dagger.hilt.internal", 254 "dagger.hilt.android.internal", 255 ], 256 javadoc_root_packages = [ 257 "dagger.hilt.android.testing", 258 ], 259 javadoc_srcs = [ 260 "//java/dagger/hilt:hilt_android_testing_filegroup", 261 "//java/dagger/hilt:hilt_testing_filegroup", 262 ], 263 manifest = "AndroidManifest.xml", 264 packaging = "aar", 265) 266 267filegroup( 268 name = "srcs_filegroup", 269 srcs = glob(["*"]), 270) 271