xref: /aosp_15_r20/external/dagger2/BUILD (revision f585d8a307d0621d6060bd7e80091fdcbf94fe27)
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