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