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