1*f585d8a3SJacky Wang# Copyright (C) 2017 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("@rules_java//java:defs.bzl", "java_library") 16*f585d8a3SJacky Wangload("@google_bazel_common//tools/javadoc:javadoc.bzl", "javadoc_library") 17*f585d8a3SJacky Wangload("@google_bazel_common//tools/jarjar:jarjar.bzl", "jarjar_library") 18*f585d8a3SJacky Wangload("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "define_kt_toolchain") 19*f585d8a3SJacky Wang 20*f585d8a3SJacky Wangpackage(default_visibility = ["//visibility:public"]) 21*f585d8a3SJacky Wang 22*f585d8a3SJacky Wangdefine_kt_toolchain( 23*f585d8a3SJacky Wang name = "kotlin_toolchain", 24*f585d8a3SJacky Wang api_version = "1.4", 25*f585d8a3SJacky Wang jvm_target = "1.8", 26*f585d8a3SJacky Wang language_version = "1.4", 27*f585d8a3SJacky Wang) 28*f585d8a3SJacky Wang 29*f585d8a3SJacky Wangpackage_group( 30*f585d8a3SJacky Wang name = "src", 31*f585d8a3SJacky Wang packages = ["//..."], 32*f585d8a3SJacky Wang) 33*f585d8a3SJacky Wang 34*f585d8a3SJacky Wangjava_library( 35*f585d8a3SJacky Wang name = "dagger_with_compiler", 36*f585d8a3SJacky Wang exported_plugins = ["//java/dagger/internal/codegen:component-codegen"], 37*f585d8a3SJacky Wang exports = ["//java/dagger:core"], 38*f585d8a3SJacky Wang) 39*f585d8a3SJacky Wang 40*f585d8a3SJacky Wangjava_library( 41*f585d8a3SJacky Wang name = "producers_with_compiler", 42*f585d8a3SJacky Wang exports = [ 43*f585d8a3SJacky Wang ":dagger_with_compiler", 44*f585d8a3SJacky Wang "//java/dagger/producers", 45*f585d8a3SJacky Wang ], 46*f585d8a3SJacky Wang) 47*f585d8a3SJacky Wang 48*f585d8a3SJacky Wangjava_library( 49*f585d8a3SJacky Wang name = "spi", 50*f585d8a3SJacky Wang exports = ["//java/dagger/spi"], 51*f585d8a3SJacky Wang) 52*f585d8a3SJacky Wang 53*f585d8a3SJacky Wangjava_library( 54*f585d8a3SJacky Wang name = "compiler_internals", 55*f585d8a3SJacky Wang exports = [ 56*f585d8a3SJacky Wang "//java/dagger/internal/codegen:processor", 57*f585d8a3SJacky Wang "//java/dagger/internal/codegen/base", 58*f585d8a3SJacky Wang "//java/dagger/internal/codegen/binding", 59*f585d8a3SJacky Wang "//java/dagger/internal/codegen/validation", 60*f585d8a3SJacky Wang "//java/dagger/internal/codegen/writing", 61*f585d8a3SJacky Wang ], 62*f585d8a3SJacky Wang) 63*f585d8a3SJacky Wang 64*f585d8a3SJacky Wangandroid_library( 65*f585d8a3SJacky Wang name = "android", 66*f585d8a3SJacky Wang exported_plugins = ["//java/dagger/android/processor:plugin"], 67*f585d8a3SJacky Wang exports = ["//java/dagger/android"], 68*f585d8a3SJacky Wang) 69*f585d8a3SJacky Wang 70*f585d8a3SJacky Wangandroid_library( 71*f585d8a3SJacky Wang name = "android-support", 72*f585d8a3SJacky Wang exports = [ 73*f585d8a3SJacky Wang ":android", 74*f585d8a3SJacky Wang "//java/dagger/android/support", 75*f585d8a3SJacky Wang ], 76*f585d8a3SJacky Wang) 77*f585d8a3SJacky Wang 78*f585d8a3SJacky Wangjarjar_library( 79*f585d8a3SJacky Wang name = "shaded_grpc_server_processor", 80*f585d8a3SJacky Wang jars = [ 81*f585d8a3SJacky Wang "//java/dagger/grpc/server/processor", 82*f585d8a3SJacky Wang "//third_party/java/auto:common", 83*f585d8a3SJacky Wang ], 84*f585d8a3SJacky Wang rules = [ 85*f585d8a3SJacky Wang "rule com.google.auto.common.** dagger.grpc.shaded.auto.common.@1", 86*f585d8a3SJacky Wang ], 87*f585d8a3SJacky Wang) 88*f585d8a3SJacky Wang 89*f585d8a3SJacky Wangandroid_library( 90*f585d8a3SJacky Wang name = "android_local_test_exports", 91*f585d8a3SJacky Wang exports = [ 92*f585d8a3SJacky Wang # TODO(bcorso): see if we can remove jsr250 dep from autovalue to prevent this. 93*f585d8a3SJacky Wang "@maven//:javax_annotation_javax_annotation_api", # For @Generated 94*f585d8a3SJacky Wang "@maven//:org_robolectric_shadows_framework", # For ActivityController 95*f585d8a3SJacky Wang "@maven//:androidx_lifecycle_lifecycle_common", # For Lifecycle.State 96*f585d8a3SJacky Wang "@maven//:androidx_activity_activity", # For ComponentActivity 97*f585d8a3SJacky Wang "@maven//:androidx_test_core", # For ApplicationProvider 98*f585d8a3SJacky Wang "@maven//:androidx_test_ext_junit", 99*f585d8a3SJacky Wang "@maven//:org_robolectric_annotations", 100*f585d8a3SJacky Wang "@maven//:org_robolectric_robolectric", 101*f585d8a3SJacky Wang "@robolectric//bazel:android-all", 102*f585d8a3SJacky Wang ], 103*f585d8a3SJacky Wang) 104*f585d8a3SJacky Wang 105*f585d8a3SJacky Wang# coalesced javadocs used for the gh-pages site 106*f585d8a3SJacky Wangjavadoc_library( 107*f585d8a3SJacky Wang name = "user-docs", 108*f585d8a3SJacky Wang testonly = 1, 109*f585d8a3SJacky Wang srcs = [ 110*f585d8a3SJacky Wang "//java/dagger:javadoc-srcs", 111*f585d8a3SJacky Wang "//java/dagger/android:android-srcs", 112*f585d8a3SJacky Wang "//java/dagger/android/support:support-srcs", 113*f585d8a3SJacky Wang "//java/dagger/grpc/server:javadoc-srcs", 114*f585d8a3SJacky Wang "//java/dagger/grpc/server/processor:javadoc-srcs", 115*f585d8a3SJacky Wang "//java/dagger/hilt:javadoc-srcs", 116*f585d8a3SJacky Wang "//java/dagger/producers:producers-srcs", 117*f585d8a3SJacky Wang "//java/dagger/spi:spi-srcs", 118*f585d8a3SJacky Wang ], 119*f585d8a3SJacky Wang android_api_level = 32, 120*f585d8a3SJacky Wang # TODO(ronshapiro): figure out how to specify the version number for release builds 121*f585d8a3SJacky Wang doctitle = "Dagger Dependency Injection API", 122*f585d8a3SJacky Wang exclude_packages = [ 123*f585d8a3SJacky Wang "dagger.hilt.android.internal", 124*f585d8a3SJacky Wang "dagger.hilt.internal", 125*f585d8a3SJacky Wang "dagger.internal", 126*f585d8a3SJacky Wang "dagger.producers.internal", 127*f585d8a3SJacky Wang "dagger.producers.monitoring.internal", 128*f585d8a3SJacky Wang ], 129*f585d8a3SJacky Wang root_packages = ["dagger"], 130*f585d8a3SJacky Wang deps = [ 131*f585d8a3SJacky Wang "//java/dagger:core", 132*f585d8a3SJacky Wang "//java/dagger/android", 133*f585d8a3SJacky Wang "//java/dagger/android/support", 134*f585d8a3SJacky Wang "//java/dagger/grpc/server", 135*f585d8a3SJacky Wang "//java/dagger/grpc/server/processor", 136*f585d8a3SJacky Wang "//java/dagger/hilt/android:artifact-lib", 137*f585d8a3SJacky Wang "//java/dagger/hilt/android/testing:artifact-lib", 138*f585d8a3SJacky Wang "//java/dagger/producers", 139*f585d8a3SJacky Wang "//java/dagger/spi", 140*f585d8a3SJacky Wang ], 141*f585d8a3SJacky Wang) 142