xref: /aosp_15_r20/external/dagger2/java/dagger/grpc/server/BUILD (revision f585d8a307d0621d6060bd7e80091fdcbf94fe27)
1*f585d8a3SJacky Wang# A framework supporting Dagger-injected gRPC servers.
2*f585d8a3SJacky Wang
3*f585d8a3SJacky Wangload("@rules_java//java:defs.bzl", "java_library")
4*f585d8a3SJacky Wangload(
5*f585d8a3SJacky Wang    "//:build_defs.bzl",
6*f585d8a3SJacky Wang    "DOCLINT_HTML_AND_SYNTAX",
7*f585d8a3SJacky Wang    "DOCLINT_REFERENCES",
8*f585d8a3SJacky Wang    "POM_VERSION",
9*f585d8a3SJacky Wang)
10*f585d8a3SJacky Wangload("//tools:maven.bzl", "pom_file")
11*f585d8a3SJacky Wangload("@google_bazel_common//tools/javadoc:javadoc.bzl", "javadoc_library")
12*f585d8a3SJacky Wang
13*f585d8a3SJacky Wangpackage(default_visibility = ["//:src"])
14*f585d8a3SJacky Wang
15*f585d8a3SJacky WangANNOTATIONS_SRCS = [
16*f585d8a3SJacky Wang    "CallScoped.java",
17*f585d8a3SJacky Wang    "ForGrpcService.java",
18*f585d8a3SJacky Wang    "GrpcService.java",
19*f585d8a3SJacky Wang]
20*f585d8a3SJacky Wang
21*f585d8a3SJacky Wangjava_library(
22*f585d8a3SJacky Wang    name = "annotations",
23*f585d8a3SJacky Wang    srcs = ANNOTATIONS_SRCS,
24*f585d8a3SJacky Wang    javacopts = DOCLINT_HTML_AND_SYNTAX,
25*f585d8a3SJacky Wang    tags = ["maven_coordinates=com.google.dagger:dagger-grpc-server-annotations:" + POM_VERSION],
26*f585d8a3SJacky Wang    deps = [
27*f585d8a3SJacky Wang        "//third_party/java/jsr330_inject",
28*f585d8a3SJacky Wang    ],
29*f585d8a3SJacky Wang)
30*f585d8a3SJacky Wang
31*f585d8a3SJacky Wang# TODO(dpb): Split out the grpc:inprocess and grpc:netty deps into separate libraries.
32*f585d8a3SJacky Wangjava_library(
33*f585d8a3SJacky Wang    name = "server",
34*f585d8a3SJacky Wang    srcs = glob(
35*f585d8a3SJacky Wang        ["*.java"],
36*f585d8a3SJacky Wang        exclude = ANNOTATIONS_SRCS,
37*f585d8a3SJacky Wang    ),
38*f585d8a3SJacky Wang    exported_plugins = ["//java/dagger/grpc/server/processor:plugin"],
39*f585d8a3SJacky Wang    javacopts = DOCLINT_HTML_AND_SYNTAX + DOCLINT_REFERENCES,
40*f585d8a3SJacky Wang    tags = ["maven_coordinates=com.google.dagger:dagger-grpc-server:" + POM_VERSION],
41*f585d8a3SJacky Wang    exports = [":annotations"],
42*f585d8a3SJacky Wang    deps = [
43*f585d8a3SJacky Wang        "//:dagger_with_compiler",
44*f585d8a3SJacky Wang        "//third_party/java/auto:value",
45*f585d8a3SJacky Wang        "//third_party/java/grpc:context",
46*f585d8a3SJacky Wang        "//third_party/java/grpc:core",
47*f585d8a3SJacky Wang        "//third_party/java/grpc:netty",
48*f585d8a3SJacky Wang        "//third_party/java/grpc:protobuf",
49*f585d8a3SJacky Wang        "//third_party/java/guava/base",
50*f585d8a3SJacky Wang        "//third_party/java/guava/collect",
51*f585d8a3SJacky Wang        "//third_party/java/jsr330_inject",
52*f585d8a3SJacky Wang        "//third_party/java/protobuf",
53*f585d8a3SJacky Wang    ],
54*f585d8a3SJacky Wang)
55*f585d8a3SJacky Wang
56*f585d8a3SJacky Wangpom_file(
57*f585d8a3SJacky Wang    name = "annotations-pom",
58*f585d8a3SJacky Wang    artifact_id = "dagger-grpc-server-annotations",
59*f585d8a3SJacky Wang    artifact_name = "Dagger gRPC Server Annotations",
60*f585d8a3SJacky Wang    targets = [":annotations"],
61*f585d8a3SJacky Wang)
62*f585d8a3SJacky Wang
63*f585d8a3SJacky Wangpom_file(
64*f585d8a3SJacky Wang    name = "server-pom",
65*f585d8a3SJacky Wang    artifact_id = "dagger-grpc-server",
66*f585d8a3SJacky Wang    artifact_name = "Dagger gRPC Server",
67*f585d8a3SJacky Wang    targets = [":server"],
68*f585d8a3SJacky Wang)
69*f585d8a3SJacky Wang
70*f585d8a3SJacky Wangfilegroup(
71*f585d8a3SJacky Wang    name = "javadoc-srcs",
72*f585d8a3SJacky Wang    srcs = glob(["*.java"]),
73*f585d8a3SJacky Wang)
74*f585d8a3SJacky Wang
75*f585d8a3SJacky Wangjavadoc_library(
76*f585d8a3SJacky Wang    name = "javadoc",
77*f585d8a3SJacky Wang    srcs = [":javadoc-srcs"],
78*f585d8a3SJacky Wang    root_packages = ["dagger.grpc.server"],
79*f585d8a3SJacky Wang    deps = [
80*f585d8a3SJacky Wang        ":annotations",
81*f585d8a3SJacky Wang        ":server",
82*f585d8a3SJacky Wang    ],
83*f585d8a3SJacky Wang)
84