xref: /aosp_15_r20/external/grpc-grpc-java/compiler/BUILD.bazel (revision e07d83d3ffcef9ecfc9f7f475418ec639ff0e5fe)
1load("@rules_cc//cc:defs.bzl", "cc_binary")
2load("//:java_grpc_library.bzl", "java_rpc_toolchain")
3
4# This should not generally be referenced. Users should use java_grpc_library
5cc_binary(
6    name = "grpc_java_plugin",
7    srcs = [
8        "src/java_plugin/cpp/java_generator.cpp",
9        "src/java_plugin/cpp/java_generator.h",
10        "src/java_plugin/cpp/java_plugin.cpp",
11    ],
12    visibility = ["//visibility:public"],
13    deps = [
14        "@com_google_protobuf//:protoc_lib",
15    ],
16)
17
18java_library(
19    name = "java_grpc_library_deps__do_not_reference",
20    exports = [
21        "//api",
22        "//protobuf",
23        "//stub",
24        "//stub:javax_annotation",
25        "@com_google_code_findbugs_jsr305//jar",
26        "@com_google_guava_guava//jar",
27        "@com_google_protobuf//:protobuf_java",
28    ],
29)
30
31java_library(
32    name = "java_lite_grpc_library_deps__do_not_reference",
33    exports = [
34        "//api",
35        "//protobuf-lite",
36        "//stub",
37        "//stub:javax_annotation",
38        "@com_google_code_findbugs_jsr305//jar",
39        "@com_google_guava_guava//jar",
40    ],
41)
42
43java_rpc_toolchain(
44    name = "java_grpc_library_toolchain",
45    plugin = "//compiler:grpc_java_plugin",
46    runtime = [":java_grpc_library_deps__do_not_reference"],
47    visibility = ["//visibility:public"],
48)
49
50java_rpc_toolchain(
51    name = "java_lite_grpc_library_toolchain",
52    plugin = "//compiler:grpc_java_plugin",
53    plugin_arg = "lite",
54    runtime = [":java_lite_grpc_library_deps__do_not_reference"],
55    visibility = ["//visibility:public"],
56)
57