Files
grpc/test/csharp/codegen/BUILD
David Sanderson 717c0fae4b Fix grpc_proto_plugin() genrule warnings (#39060) (#39165)
We here address the following warnings:

    WARNING: /Users/dws/src/grpc-dws/src/compiler/BUILD:87:18: target 'grpc_cpp_plugin' is both a rule and a file; please choose another name for the rule
    WARNING: /Users/dws/src/grpc-dws/src/compiler/BUILD:93:18: target 'grpc_csharp_plugin' is both a rule and a file; please choose another name for the rule
    WARNING: /Users/dws/src/grpc-dws/src/compiler/BUILD:99:18: target 'grpc_node_plugin' is both a rule and a file; please choose another name for the rule
    WARNING: /Users/dws/src/grpc-dws/src/compiler/BUILD:105:18: target 'grpc_objective_c_plugin' is both a rule and a file; please choose another name for the rule
    WARNING: /Users/dws/src/grpc-dws/src/compiler/BUILD:111:18: target 'grpc_php_plugin' is both a rule and a file; please choose another name for the rule
    WARNING: /Users/dws/src/grpc-dws/src/compiler/BUILD:117:18: target 'grpc_python_plugin' is both a rule and a file; please choose another name for the rule
    WARNING: /Users/dws/src/grpc-dws/src/compiler/BUILD:123:18: target 'grpc_ruby_plugin' is both a rule and a file; please choose another name for the rule

that come from asking Bazel to build the following:

    @com_github_grpc_grpc//src/compiler:grpc_cpp_plugin
    @com_github_grpc_grpc//src/compiler:grpc_csharp_plugin
    @com_github_grpc_grpc//src/compiler:grpc_node_plugin
    @com_github_grpc_grpc//src/compiler:grpc_objective_c_plugin
    @com_github_grpc_grpc//src/compiler:grpc_php_plugin
    @com_github_grpc_grpc//src/compiler:grpc_python_plugin
    @com_github_grpc_grpc//src/compiler:grpc_ruby_plugin

The macro grpc_proto_plugin() in bazel/grpc_build_system.bzl has a genrule that uses the same name for both the rule and its output file.  This macro gets used in src/compiler/BUILD to define the above plugin targets.

We address this by giving the rule's output file a different name from the rule.  This avoids needing to update all the existing references to the plugin rules.

Closes #39060

Closes #39165

PiperOrigin-RevId: 766690690
2025-06-03 09:12:26 -07:00

93 lines
2.7 KiB
Python

# Copyright 2017 gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
load("//bazel:grpc_build_system.bzl", "grpc_sh_test")
licenses(["notice"])
grpc_sh_test(
name = "csharp_codegen_simple_test",
size = "small",
srcs = ["csharp_codegen_simple_test.sh"],
data = [
"simple/expected/HelloworldGrpc.cs",
"simple/proto/helloworld.proto",
"//src/compiler:grpc_csharp_plugin",
"@bazel_tools//tools/bash/runfiles",
"@com_google_protobuf//:protoc",
],
env = {
"RLOCATIONPATH_PROTOC": "$(rlocationpath @com_google_protobuf//:protoc)",
"RLOCATIONPATH_PLUGIN": "$(rlocationpath //src/compiler:grpc_csharp_plugin)",
},
tags = [
"no_windows",
"noasan",
"nomsan",
"notsan",
"noubsan",
],
uses_polling = False,
)
grpc_sh_test(
name = "csharp_codegen_deprecated_test",
size = "small",
srcs = ["csharp_codegen_deprecated_test.sh"],
data = [
"deprecated/proto/depmethod.proto",
"deprecated/proto/depnothing.proto",
"deprecated/proto/depservice.proto",
"//src/compiler:grpc_csharp_plugin",
"@bazel_tools//tools/bash/runfiles",
"@com_google_protobuf//:protoc",
],
env = {
"RLOCATIONPATH_PROTOC": "$(rlocationpath @com_google_protobuf//:protoc)",
"RLOCATIONPATH_PLUGIN": "$(rlocationpath //src/compiler:grpc_csharp_plugin)",
},
tags = [
"no_windows",
"noasan",
"nomsan",
"notsan",
"noubsan",
],
uses_polling = False,
)
grpc_sh_test(
name = "csharp_codegen_base_namespace_test",
size = "small",
srcs = ["csharp_codegen_base_namespace_test.sh"],
data = [
"basenamespace/proto/namespacetest.proto",
"//src/compiler:grpc_csharp_plugin",
"@bazel_tools//tools/bash/runfiles",
"@com_google_protobuf//:protoc",
],
env = {
"RLOCATIONPATH_PROTOC": "$(rlocationpath @com_google_protobuf//:protoc)",
"RLOCATIONPATH_PLUGIN": "$(rlocationpath //src/compiler:grpc_csharp_plugin)",
},
tags = [
"no_windows",
"noasan",
"nomsan",
"notsan",
"noubsan",
],
uses_polling = False,
)