• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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