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 15load("//tools:maven.bzl", "gen_maven_artifact") 16load("//:build_defs.bzl", "POM_VERSION") 17 18# Description: 19# A library that wraps the Dagger API to make DI usage and testing easier. 20 21package(default_visibility = ["//:src"]) 22 23java_library( 24 name = "install_in", 25 srcs = ["InstallIn.java"], 26 exported_plugins = [ 27 "//java/dagger/hilt/processor/internal/aggregateddeps:plugin", 28 ], 29 exports = [ 30 "//java/dagger/hilt/processor/internal/aggregateddeps:annotation", 31 ], 32 deps = [ 33 ":generates_root_input", 34 ":package_info", 35 ], 36) 37 38java_library( 39 name = "entry_point", 40 srcs = [ 41 "EntryPoint.java", 42 "EntryPoints.java", 43 ], 44 exported_plugins = [ 45 # This is required so that we can fail if @InstallIn is missing. 46 # TODO(bcorso): Consider using a separate processor to validate @EntryPoint. 47 "//java/dagger/hilt/processor/internal/aggregateddeps:plugin", 48 ], 49 proguard_specs = ["proguard-rules.pro"], 50 deps = [ 51 ":generates_root_input", 52 ":package_info", 53 "//java/dagger/hilt/internal:component_manager", 54 "//java/dagger/hilt/internal:generated_component", 55 "//java/dagger/hilt/internal:preconditions", 56 "//java/dagger/hilt/internal:test_singleton_component", 57 "//third_party/java/jsr305_annotations", 58 ], 59) 60 61java_library( 62 name = "generates_root_input", 63 srcs = [ 64 "GeneratesRootInput.java", 65 ], 66 exported_plugins = [ 67 "//java/dagger/hilt/processor/internal/generatesrootinput:processor", 68 ], 69 exports = [ 70 "//java/dagger/hilt/internal/generatesrootinput", 71 ], 72 deps = [ 73 ":package_info", 74 ], 75) 76 77java_library( 78 name = "define_component", 79 srcs = [ 80 "DefineComponent.java", 81 ], 82 exported_plugins = [ 83 "//java/dagger/hilt/processor/internal/definecomponent:processor", 84 ], 85 exports = [ 86 "//java/dagger/hilt/internal/definecomponent", 87 ], 88 deps = [ 89 ":generates_root_input", 90 ":package_info", 91 "//java/dagger/hilt/internal/definecomponent", 92 ], 93) 94 95java_library( 96 name = "package_info", 97 srcs = ["package-info.java"], 98 deps = [ 99 "//third_party/java/jsr305_annotations", 100 ], 101) 102 103filegroup( 104 name = "javadoc-srcs", 105 srcs = [ 106 ":hilt_android_filegroup", 107 ":hilt_android_testing_filegroup", 108 ":hilt_filegroup", 109 ":hilt_testing_filegroup", 110 ], 111) 112 113filegroup( 114 name = "hilt_filegroup", 115 srcs = glob(["*"]) + [ 116 "//java/dagger/hilt/codegen:srcs_filegroup", 117 "//java/dagger/hilt/components:srcs_filegroup", 118 "//java/dagger/hilt/internal:srcs_filegroup", 119 "//java/dagger/hilt/internal/aliasof:srcs_filegroup", 120 "//java/dagger/hilt/internal/definecomponent:srcs_filegroup", 121 "//java/dagger/hilt/internal/generatesrootinput:srcs_filegroup", 122 "//java/dagger/hilt/migration:srcs_filegroup", 123 ], 124) 125 126filegroup( 127 name = "hilt_testing_filegroup", 128 srcs = [ 129 "//java/dagger/hilt/testing:srcs_filegroup", 130 ], 131) 132 133filegroup( 134 name = "hilt_android_filegroup", 135 srcs = [ 136 "//java/dagger/hilt/android:srcs_filegroup", 137 "//java/dagger/hilt/android/components:srcs_filegroup", 138 "//java/dagger/hilt/android/flags:srcs_filegroup", 139 "//java/dagger/hilt/android/internal:srcs_filegroup", 140 "//java/dagger/hilt/android/internal/builders:srcs_filegroup", 141 "//java/dagger/hilt/android/internal/lifecycle:srcs_filegroup", 142 "//java/dagger/hilt/android/internal/managers:srcs_filegroup", 143 "//java/dagger/hilt/android/internal/migration:srcs_filegroup", 144 "//java/dagger/hilt/android/internal/modules:srcs_filegroup", 145 "//java/dagger/hilt/android/lifecycle:srcs_filegroup", 146 "//java/dagger/hilt/android/migration:srcs_filegroup", 147 "//java/dagger/hilt/android/plugin/main:srcs_filegroup", 148 "//java/dagger/hilt/android/qualifiers:srcs_filegroup", 149 "//java/dagger/hilt/android/scopes:srcs_filegroup", 150 ], 151) 152 153filegroup( 154 name = "hilt_android_testing_filegroup", 155 srcs = [ 156 "//java/dagger/hilt/android/internal/testing:srcs_filegroup", 157 "//java/dagger/hilt/android/testing:srcs_filegroup", 158 ], 159) 160 161filegroup( 162 name = "hilt_processing_filegroup", 163 srcs = [ 164 "//java/dagger/hilt/android/processor:srcs_filegroup", 165 "//java/dagger/hilt/android/processor/internal:srcs_filegroup", 166 "//java/dagger/hilt/android/processor/internal/androidentrypoint:srcs_filegroup", 167 "//java/dagger/hilt/android/processor/internal/bindvalue:srcs_filegroup", 168 "//java/dagger/hilt/android/processor/internal/customtestapplication:srcs_filegroup", 169 "//java/dagger/hilt/android/processor/internal/viewmodel:srcs_filegroup", 170 "//java/dagger/hilt/processor:srcs_filegroup", 171 "//java/dagger/hilt/processor/internal:srcs_filegroup", 172 "//java/dagger/hilt/processor/internal/aggregateddeps:srcs_filegroup", 173 "//java/dagger/hilt/processor/internal/aliasof:srcs_filegroup", 174 "//java/dagger/hilt/processor/internal/definecomponent:srcs_filegroup", 175 "//java/dagger/hilt/processor/internal/disableinstallincheck:srcs_filegroup", 176 "//java/dagger/hilt/processor/internal/generatesrootinput:srcs_filegroup", 177 "//java/dagger/hilt/processor/internal/optionvalues:srcs_filegroup", 178 "//java/dagger/hilt/processor/internal/originatingelement:srcs_filegroup", 179 "//java/dagger/hilt/processor/internal/root:srcs_filegroup", 180 "//java/dagger/hilt/processor/internal/root/ir:srcs_filegroup", 181 "//java/dagger/hilt/processor/internal/uninstallmodules:srcs_filegroup", 182 ], 183) 184 185java_library( 186 name = "artifact-core-lib", 187 tags = ["maven_coordinates=com.google.dagger:hilt-core:" + POM_VERSION], 188 exports = [ 189 ":define_component", 190 ":entry_point", 191 ":generates_root_input", 192 ":install_in", 193 ":package_info", 194 "//java/dagger:core", 195 "//java/dagger/hilt/components", 196 "//java/dagger/hilt/migration:alias_of", 197 "//java/dagger/hilt/migration:disable_install_in_check", 198 ], 199) 200 201gen_maven_artifact( 202 name = "artifact-core", 203 artifact_coordinates = "com.google.dagger:hilt-core:" + POM_VERSION, 204 artifact_name = "Hilt Core", 205 artifact_target = ":artifact-core-lib", 206 artifact_target_libs = [ 207 "//java/dagger/hilt:define_component", 208 "//java/dagger/hilt:entry_point", 209 "//java/dagger/hilt:generates_root_input", 210 "//java/dagger/hilt:install_in", 211 "//java/dagger/hilt:package_info", 212 "//java/dagger/hilt/codegen:originating_element", 213 "//java/dagger/hilt/codegen:package_info", 214 "//java/dagger/hilt/components", 215 "//java/dagger/hilt/components:package_info", 216 "//java/dagger/hilt/internal:component_manager", 217 "//java/dagger/hilt/internal:generated_component", 218 "//java/dagger/hilt/internal:preconditions", 219 "//java/dagger/hilt/internal:test_singleton_component", 220 "//java/dagger/hilt/internal:unsafe_casts", 221 "//java/dagger/hilt/internal/aliasof", 222 "//java/dagger/hilt/internal/definecomponent", 223 "//java/dagger/hilt/internal/generatesrootinput", 224 "//java/dagger/hilt/migration:alias_of", 225 "//java/dagger/hilt/migration:disable_install_in_check", 226 "//java/dagger/hilt/migration:package_info", 227 "//java/dagger/hilt/processor/internal/aggregateddeps:annotation", 228 ], 229 artifact_target_maven_deps = [ 230 "com.google.code.findbugs:jsr305", 231 "com.google.dagger:dagger", 232 "javax.inject:javax.inject", 233 ], 234 artifact_target_maven_deps_banned = [ 235 "com.google.guava:guava", 236 "javax.annotation:javax.annotation-api", 237 ], 238 javadoc_exclude_packages = [ 239 "dagger.hilt.internal", 240 ], 241 javadoc_root_packages = [ 242 "dagger.hilt", 243 ], 244 javadoc_srcs = [ 245 "//java/dagger/hilt:hilt_filegroup", 246 ], 247) 248