• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# gRPC Bazel BUILD file.
2#
3# Copyright 2016 gRPC authors.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9#     http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17licenses(["notice"])
18
19exports_files(["LICENSE"])
20
21package(
22    default_visibility = ["//visibility:public"],
23    features = [
24        "-layering_check",
25        "-parse_headers",
26    ],
27)
28
29load(
30    "//bazel:grpc_build_system.bzl",
31    "grpc_cc_library",
32    "grpc_proto_plugin",
33)
34
35grpc_cc_library(
36    name = "grpc_plugin_support",
37    srcs = [
38        "cpp_generator.cc",
39        "csharp_generator.cc",
40        "node_generator.cc",
41        "objective_c_generator.cc",
42        "php_generator.cc",
43        "python_generator.cc",
44        "ruby_generator.cc",
45    ],
46    hdrs = [
47        "config.h",
48        "config_protobuf.h",
49        "cpp_generator.h",
50        "cpp_generator_helpers.h",
51        "cpp_plugin.h",
52        "csharp_generator.h",
53        "csharp_generator_helpers.h",
54        "generator_helpers.h",
55        "node_generator.h",
56        "node_generator_helpers.h",
57        "objective_c_generator.h",
58        "objective_c_generator_helpers.h",
59        "php_generator.h",
60        "php_generator_helpers.h",
61        "protobuf_plugin.h",
62        "python_generator.h",
63        "python_generator_helpers.h",
64        "python_private_generator.h",
65        "ruby_generator.h",
66        "ruby_generator_helpers-inl.h",
67        "ruby_generator_map-inl.h",
68        "ruby_generator_string-inl.h",
69        "schema_interface.h",
70    ],
71    external_deps = [
72        "protobuf_clib",
73    ],
74    language = "c++",
75    deps = [
76        "//:grpc++_config_proto",
77    ],
78)
79
80grpc_proto_plugin(
81    name = "grpc_cpp_plugin",
82    srcs = ["cpp_plugin.cc"],
83    deps = [":grpc_plugin_support"],
84)
85
86grpc_proto_plugin(
87    name = "grpc_csharp_plugin",
88    srcs = ["csharp_plugin.cc"],
89    deps = [":grpc_plugin_support"],
90)
91
92grpc_proto_plugin(
93    name = "grpc_node_plugin",
94    srcs = ["node_plugin.cc"],
95    deps = [":grpc_plugin_support"],
96)
97
98grpc_proto_plugin(
99    name = "grpc_objective_c_plugin",
100    srcs = ["objective_c_plugin.cc"],
101    deps = [":grpc_plugin_support"],
102)
103
104grpc_proto_plugin(
105    name = "grpc_php_plugin",
106    srcs = ["php_plugin.cc"],
107    deps = [":grpc_plugin_support"],
108)
109
110grpc_proto_plugin(
111    name = "grpc_python_plugin",
112    srcs = ["python_plugin.cc"],
113    deps = [":grpc_plugin_support"],
114)
115
116grpc_proto_plugin(
117    name = "grpc_ruby_plugin",
118    srcs = ["ruby_plugin.cc"],
119    deps = [":grpc_plugin_support"],
120)
121