1# Copyright (C) 2017 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 15package(default_visibility = ["//visibility:public"]) 16 17package_group( 18 name = "src", 19 packages = ["//..."], 20) 21 22load("@google_bazel_common//tools/javadoc:javadoc.bzl", "javadoc_library") 23 24java_library( 25 name = "dagger_with_compiler", 26 exported_plugins = ["//java/dagger/internal/codegen:component-codegen"], 27 exports = ["//java/dagger:core"], 28) 29 30java_library( 31 name = "producers_with_compiler", 32 exports = [ 33 ":dagger_with_compiler", 34 "//java/dagger/producers", 35 ], 36) 37 38android_library( 39 name = "android", 40 exported_plugins = ["//java/dagger/android/processor:plugin"], 41 exports = ["//java/dagger/android"], 42) 43 44android_library( 45 name = "android-support", 46 exports = [ 47 ":android", 48 "//java/dagger/android/support", 49 ], 50) 51 52load("@google_bazel_common//tools/jarjar:jarjar.bzl", "jarjar_library") 53 54SHADE_RULES = ["rule com.google.auto.common.** dagger.shaded.auto.common.@1"] 55 56jarjar_library( 57 name = "shaded_compiler", 58 jars = [ 59 "//java/dagger/internal/codegen:base", 60 "//java/dagger/internal/codegen:binding", 61 "//java/dagger/internal/codegen:binding_graph_validation", 62 "//java/dagger/internal/codegen:jdk-and-guava-extras", 63 "//java/dagger/internal/codegen:processor", 64 "//java/dagger/internal/codegen:validation", 65 "//java/dagger/internal/codegen:writing", 66 "//java/dagger/internal/codegen/javapoet", 67 "//java/dagger/internal/codegen/langmodel", 68 "//java/dagger/internal/codegen/serialization", 69 "//java/dagger/model:internal-proxies", 70 "//java/dagger/errorprone", 71 "@com_google_auto_auto_common//jar", 72 ], 73 rules = SHADE_RULES, 74) 75 76jarjar_library( 77 name = "shaded_compiler_src", 78 jars = [ 79 "//java/dagger/internal/codegen:libbase-src.jar", 80 "//java/dagger/internal/codegen:libbinding-src.jar", 81 "//java/dagger/internal/codegen:libbinding_graph_validation-src.jar", 82 "//java/dagger/internal/codegen:libjdk-and-guava-extras-src.jar", 83 "//java/dagger/internal/codegen:libprocessor-src.jar", 84 "//java/dagger/internal/codegen:libvalidation-src.jar", 85 "//java/dagger/internal/codegen:libwriting-src.jar", 86 "//java/dagger/internal/codegen/javapoet:libjavapoet-src.jar", 87 "//java/dagger/internal/codegen/langmodel:liblangmodel-src.jar", 88 # TODO(ronshapiro): is there a generated src.jar for protos in Bazel? 89 "//java/dagger/errorprone:liberrorprone-src.jar", 90 ], 91) 92 93jarjar_library( 94 name = "shaded_spi", 95 jars = [ 96 "//java/dagger/internal/codegen:jdk-and-guava-extras", 97 "//java/dagger/model", 98 "//java/dagger/spi", 99 "@com_google_auto_auto_common//jar", 100 ], 101 rules = SHADE_RULES, 102) 103 104jarjar_library( 105 name = "shaded_spi_src", 106 jars = [ 107 "//java/dagger/internal/codegen:libjdk-and-guava-extras-src.jar", 108 "//java/dagger/model:libmodel-src.jar", 109 "//java/dagger/spi:libspi-src.jar", 110 ], 111) 112 113javadoc_library( 114 name = "spi-javadoc", 115 srcs = [ 116 "//java/dagger/model:model-srcs", 117 "//java/dagger/spi:spi-srcs", 118 ], 119 root_packages = [ 120 "dagger.model", 121 "dagger.spi", 122 ], 123 deps = [ 124 "//java/dagger/model", 125 "//java/dagger/spi", 126 ], 127) 128 129jarjar_library( 130 name = "shaded_android_processor", 131 jars = [ 132 "//java/dagger/android/processor", 133 "@com_google_auto_auto_common//jar", 134 ], 135 rules = SHADE_RULES, 136) 137 138jarjar_library( 139 name = "shaded_grpc_server_processor", 140 jars = [ 141 "//java/dagger/grpc/server/processor", 142 "@com_google_auto_auto_common//jar", 143 ], 144 rules = SHADE_RULES, 145) 146 147# coalesced javadocs used for the gh-pages site 148javadoc_library( 149 name = "user-docs", 150 srcs = [ 151 "//java/dagger:javadoc-srcs", 152 "//java/dagger/android:android-srcs", 153 "//java/dagger/android/support:support-srcs", 154 "//java/dagger/grpc/server:javadoc-srcs", 155 "//java/dagger/grpc/server/processor:javadoc-srcs", 156 "//java/dagger/model:model-srcs", 157 "//java/dagger/producers:producers-srcs", 158 "//java/dagger/spi:spi-srcs", 159 ], 160 android_api_level = 26, 161 # TODO(ronshapiro): figure out how to specify the version number for release builds 162 doctitle = "Dagger Dependency Injection API", 163 exclude_packages = [ 164 "dagger.internal", 165 "dagger.producers.internal", 166 "dagger.producers.monitoring.internal", 167 ], 168 root_packages = ["dagger"], 169 deps = [ 170 "//java/dagger:core", 171 "//java/dagger/android", 172 "//java/dagger/android/support", 173 "//java/dagger/grpc/server", 174 "//java/dagger/grpc/server/processor", 175 "//java/dagger/model", 176 "//java/dagger/producers", 177 "//java/dagger/spi", 178 ], 179) 180