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