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