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_ALPHA") 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 deps = [ 50 ":generates_root_input", 51 ":package_info", 52 "//java/dagger/hilt/internal:component_manager", 53 "//java/dagger/hilt/internal:generated_component", 54 "@google_bazel_common//third_party/java/jsr305_annotations", 55 ], 56) 57 58java_library( 59 name = "generates_root_input", 60 srcs = [ 61 "GeneratesRootInput.java", 62 ], 63 exported_plugins = [ 64 "//java/dagger/hilt/processor/internal/generatesrootinput:processor", 65 ], 66 exports = [ 67 "//java/dagger/hilt/internal/generatesrootinput", 68 ], 69 deps = [ 70 ":package_info", 71 ], 72) 73 74java_library( 75 name = "define_component", 76 srcs = [ 77 "DefineComponent.java", 78 ], 79 exported_plugins = [ 80 "//java/dagger/hilt/processor/internal/definecomponent:processor", 81 ], 82 exports = [ 83 "//java/dagger/hilt/internal/definecomponent", 84 ], 85 deps = [ 86 ":generates_root_input", 87 ":package_info", 88 "//java/dagger/hilt/internal/definecomponent", 89 ], 90) 91 92java_library( 93 name = "package_info", 94 srcs = ["package-info.java"], 95 deps = [ 96 "@google_bazel_common//third_party/java/jsr305_annotations", 97 ], 98) 99 100filegroup( 101 name = "javadoc-srcs", 102 srcs = [ 103 ":hilt_android_filegroup", 104 ":hilt_android_testing_filegroup", 105 ":hilt_filegroup", 106 ":hilt_testing_filegroup", 107 ], 108) 109 110filegroup( 111 name = "hilt_filegroup", 112 srcs = glob(["*"]) + [ 113 "//java/dagger/hilt/codegen:srcs_filegroup", 114 "//java/dagger/hilt/components:srcs_filegroup", 115 "//java/dagger/hilt/migration:srcs_filegroup", 116 "//java/dagger/hilt/internal:srcs_filegroup", 117 "//java/dagger/hilt/internal/aliasof:srcs_filegroup", 118 "//java/dagger/hilt/internal/definecomponent:srcs_filegroup", 119 "//java/dagger/hilt/internal/generatesrootinput:srcs_filegroup", 120 ], 121) 122 123filegroup( 124 name = "hilt_testing_filegroup", 125 srcs = [ 126 "//java/dagger/hilt/testing:srcs_filegroup", 127 ], 128) 129 130filegroup( 131 name = "hilt_android_filegroup", 132 srcs = [ 133 "//java/dagger/hilt/android:srcs_filegroup", 134 "//java/dagger/hilt/android/components:srcs_filegroup", 135 "//java/dagger/hilt/android/internal:srcs_filegroup", 136 "//java/dagger/hilt/android/internal/builders:srcs_filegroup", 137 "//java/dagger/hilt/android/internal/lifecycle:srcs_filegroup", 138 "//java/dagger/hilt/android/internal/managers:srcs_filegroup", 139 "//java/dagger/hilt/android/internal/migration:srcs_filegroup", 140 "//java/dagger/hilt/android/internal/modules:srcs_filegroup", 141 "//java/dagger/hilt/android/lifecycle:srcs_filegroup", 142 "//java/dagger/hilt/android/migration:srcs_filegroup", 143 "//java/dagger/hilt/android/plugin:srcs_filegroup", 144 "//java/dagger/hilt/android/qualifiers:srcs_filegroup", 145 "//java/dagger/hilt/android/scopes:srcs_filegroup", 146 ], 147) 148 149filegroup( 150 name = "hilt_android_testing_filegroup", 151 srcs = [ 152 "//java/dagger/hilt/android/internal/testing:srcs_filegroup", 153 "//java/dagger/hilt/android/testing:srcs_filegroup", 154 ], 155) 156 157filegroup( 158 name = "hilt_processing_filegroup", 159 srcs = [ 160 "//java/dagger/hilt/android/processor:srcs_filegroup", 161 "//java/dagger/hilt/android/processor/internal:srcs_filegroup", 162 "//java/dagger/hilt/android/processor/internal/androidentrypoint:srcs_filegroup", 163 "//java/dagger/hilt/android/processor/internal/bindvalue:srcs_filegroup", 164 "//java/dagger/hilt/android/processor/internal/customtestapplication:srcs_filegroup", 165 "//java/dagger/hilt/android/processor/internal/uninstallmodules:srcs_filegroup", 166 "//java/dagger/hilt/android/processor/internal/viewmodel:srcs_filegroup", 167 "//java/dagger/hilt/processor:srcs_filegroup", 168 "//java/dagger/hilt/processor/internal:srcs_filegroup", 169 "//java/dagger/hilt/processor/internal/aggregateddeps:srcs_filegroup", 170 "//java/dagger/hilt/processor/internal/aliasof:srcs_filegroup", 171 "//java/dagger/hilt/processor/internal/definecomponent:srcs_filegroup", 172 "//java/dagger/hilt/processor/internal/disableinstallincheck:srcs_filegroup", 173 "//java/dagger/hilt/processor/internal/generatesrootinput:srcs_filegroup", 174 "//java/dagger/hilt/processor/internal/originatingelement:srcs_filegroup", 175 "//java/dagger/hilt/processor/internal/root:srcs_filegroup", 176 ], 177) 178 179java_library( 180 name = "artifact-core-lib", 181 tags = ["maven_coordinates=com.google.dagger:hilt-core:" + POM_VERSION_ALPHA], 182 exports = [ 183 ":define_component", 184 ":entry_point", 185 ":generates_root_input", 186 ":install_in", 187 ":package_info", 188 "//java/dagger:core", 189 "//java/dagger/hilt/components", 190 "//java/dagger/hilt/migration:alias_of", 191 "//java/dagger/hilt/migration:disable_install_in_check", 192 ], 193) 194 195gen_maven_artifact( 196 name = "artifact-core", 197 artifact_coordinates = "com.google.dagger:hilt-core:" + POM_VERSION_ALPHA, 198 artifact_name = "Hilt Core", 199 artifact_target = ":artifact-core-lib", 200 artifact_target_libs = [ 201 "//java/dagger/hilt:define_component", 202 "//java/dagger/hilt:entry_point", 203 "//java/dagger/hilt:generates_root_input", 204 "//java/dagger/hilt:install_in", 205 "//java/dagger/hilt:package_info", 206 "//java/dagger/hilt/codegen:originating_element", 207 "//java/dagger/hilt/codegen:package_info", 208 "//java/dagger/hilt/components", 209 "//java/dagger/hilt/components:package_info", 210 "//java/dagger/hilt/internal:component_manager", 211 "//java/dagger/hilt/internal:generated_component", 212 "//java/dagger/hilt/internal:preconditions", 213 "//java/dagger/hilt/internal:unsafe_casts", 214 "//java/dagger/hilt/internal/aliasof", 215 "//java/dagger/hilt/internal/definecomponent", 216 "//java/dagger/hilt/internal/generatesrootinput", 217 "//java/dagger/hilt/migration:alias_of", 218 "//java/dagger/hilt/migration:disable_install_in_check", 219 "//java/dagger/hilt/migration:package_info", 220 "//java/dagger/hilt/processor/internal/aggregateddeps:annotation", 221 ], 222 artifact_target_maven_deps = [ 223 "com.google.code.findbugs:jsr305", 224 "com.google.dagger:dagger", 225 "javax.inject:javax.inject", 226 ], 227 artifact_target_maven_deps_banned = [ 228 "com.google.guava:guava", 229 "javax.annotation:jsr250-api", 230 ], 231 javadoc_exclude_packages = [ 232 "dagger.hilt.internal", 233 ], 234 javadoc_root_packages = [ 235 "dagger.hilt", 236 ], 237 javadoc_srcs = [ 238 "//java/dagger/hilt:hilt_filegroup", 239 ], 240) 241