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 15# Description: 16# A library based on Hilt that provides standard components and automated injection for Android. 17load("//:build_defs.bzl", "POM_VERSION_ALPHA") 18load("//tools:maven.bzl", "gen_maven_artifact") 19 20package(default_visibility = ["//:src"]) 21 22android_library( 23 name = "android_entry_point", 24 srcs = [ 25 "AndroidEntryPoint.java", 26 "WithFragmentBindings.java", 27 ], 28 exported_plugins = [ 29 "//java/dagger/hilt/android/processor/internal/androidentrypoint:plugin", 30 ], 31 exports = [ 32 "//java/dagger/hilt:install_in", 33 "//java/dagger/hilt/android/components", 34 "//java/dagger/hilt/android/internal/builders", 35 "//java/dagger/hilt/android/internal/managers", 36 "//java/dagger/hilt/android/internal/managers:component_supplier", 37 "//java/dagger/hilt/android/internal/modules", 38 "//java/dagger/hilt/android/lifecycle", 39 "//java/dagger/hilt/codegen:originating_element", 40 "//java/dagger/hilt/internal:component_entry_point", 41 "//java/dagger/hilt/internal:component_manager", 42 "//java/dagger/hilt/internal:generated_entry_point", 43 "//java/dagger/hilt/internal:preconditions", 44 "@maven//:androidx_annotation_annotation", 45 "@maven//:androidx_fragment_fragment", 46 ], 47 deps = [ 48 ":package_info", 49 "//java/dagger/hilt:generates_root_input", 50 ], 51) 52 53android_library( 54 name = "hilt_android_app", 55 srcs = ["HiltAndroidApp.java"], 56 exported_plugins = [ 57 "//java/dagger/hilt/android/processor/internal/androidentrypoint:plugin", 58 "//java/dagger/hilt/android/processor/internal/viewmodel:validation_plugin", 59 "//java/dagger/hilt/processor/internal/root:plugin", 60 ], 61 exports = [ 62 "//:dagger_with_compiler", 63 "//java/dagger/hilt:install_in", 64 "//java/dagger/hilt/android/components", 65 "//java/dagger/hilt/android/internal/managers", 66 "//java/dagger/hilt/android/internal/managers:component_supplier", 67 "//java/dagger/hilt/android/internal/modules", 68 "//java/dagger/hilt/codegen:originating_element", 69 "//java/dagger/hilt/internal:component_manager", 70 "//java/dagger/hilt/internal:generated_component", 71 "//java/dagger/hilt/internal:generated_entry_point", 72 "//java/dagger/hilt/migration:disable_install_in_check", 73 "@maven//:androidx_annotation_annotation", 74 ], 75 deps = [ 76 ":package_info", 77 "//java/dagger/hilt:generates_root_input", 78 ], 79) 80 81android_library( 82 name = "entry_point_accessors", 83 srcs = ["EntryPointAccessors.java"], 84 deps = [ 85 ":package_info", 86 "//java/dagger/hilt:entry_point", 87 "@google_bazel_common//third_party/java/jsr305_annotations", 88 "@maven//:androidx_fragment_fragment", 89 ], 90) 91 92android_library( 93 name = "activity_retained_lifecycle", 94 srcs = ["ActivityRetainedLifecycle.java"], 95 deps = [ 96 ":package_info", 97 "@maven//:androidx_annotation_annotation", 98 ], 99) 100 101android_library( 102 name = "artifact-lib", 103 tags = ["maven_coordinates=com.google.dagger:hilt-android:" + POM_VERSION_ALPHA], 104 exports = [ 105 ":android_entry_point", 106 ":entry_point_accessors", 107 ":hilt_android_app", 108 ":package_info", 109 "//java/dagger/hilt:artifact-core-lib", 110 "//java/dagger/hilt/android/migration:optional_inject", 111 "//java/dagger/lint:lint-android-artifact-lib", 112 ], 113) 114 115java_library( 116 name = "package_info", 117 srcs = ["package-info.java"], 118 deps = [ 119 "@google_bazel_common//third_party/java/jsr305_annotations", 120 ], 121) 122 123gen_maven_artifact( 124 name = "artifact", 125 artifact_coordinates = "com.google.dagger:hilt-android:" + POM_VERSION_ALPHA, 126 artifact_name = "Hilt Android", 127 artifact_target = ":artifact-lib", 128 artifact_target_libs = [ 129 ":entry_point_accessors", 130 "//java/dagger/hilt/android:activity_retained_lifecycle", 131 "//java/dagger/hilt/android:android_entry_point", 132 "//java/dagger/hilt/android:hilt_android_app", 133 "//java/dagger/hilt/android:package_info", 134 "//java/dagger/hilt/android/components", 135 "//java/dagger/hilt/android/components:view_model_component", 136 "//java/dagger/hilt/android/components:package_info", 137 "//java/dagger/hilt/android/internal", 138 "//java/dagger/hilt/android/internal/builders", 139 "//java/dagger/hilt/android/internal/lifecycle", 140 "//java/dagger/hilt/android/internal/managers", 141 "//java/dagger/hilt/android/internal/managers:component_supplier", 142 "//java/dagger/hilt/android/internal/migration:injected_by_hilt", 143 "//java/dagger/hilt/android/internal/modules", 144 "//java/dagger/hilt/android/lifecycle", 145 "//java/dagger/hilt/android/migration:optional_inject", 146 "//java/dagger/hilt/android/migration:package_info", 147 "//java/dagger/hilt/android/qualifiers", 148 "//java/dagger/hilt/android/qualifiers:package_info", 149 "//java/dagger/hilt/android/scopes", 150 "//java/dagger/hilt/android/scopes:activity_retained_scoped", 151 "//java/dagger/hilt/android/scopes:view_model_scoped", 152 "//java/dagger/hilt/android/scopes:package_info", 153 "//java/dagger/hilt/internal:component_entry_point", 154 "//java/dagger/hilt/internal:generated_entry_point", 155 ], 156 artifact_target_maven_deps = [ 157 "androidx.activity:activity", 158 "androidx.annotation:annotation", 159 "androidx.fragment:fragment", 160 "androidx.lifecycle:lifecycle-viewmodel", 161 "androidx.lifecycle:lifecycle-viewmodel-savedstate", 162 "androidx.savedstate:savedstate", 163 "com.google.code.findbugs:jsr305", 164 "com.google.dagger:dagger-lint-aar", 165 "com.google.dagger:dagger", 166 "com.google.dagger:hilt-core", 167 "javax.inject:javax.inject", 168 ], 169 artifact_target_maven_deps_banned = [ 170 "com.google.guava:guava", 171 "javax.annotation:jsr250-api", 172 ], 173 javadoc_android_api_level = 30, 174 javadoc_exclude_packages = [ 175 "dagger.hilt.android.internal", 176 ], 177 javadoc_root_packages = [ 178 "dagger.hilt.android", 179 ], 180 javadoc_srcs = [ 181 "//java/dagger/hilt:hilt_android_filegroup", 182 ], 183 manifest = "AndroidManifest.xml", 184 packaging = "aar", 185 proguard_specs = [ 186 "//java/dagger/hilt/android/lifecycle:proguard-rules.pro", 187 ], 188) 189 190filegroup( 191 name = "srcs_filegroup", 192 srcs = glob(["*"]), 193) 194