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