Skip to content

Commit 2a91b7a

Browse files
committed
Merge branch 'master' of github.com:rules-proto-grpc/rules_proto_grpc
2 parents 820ab1e + d72ced8 commit 2a91b7a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+2329
-1
lines changed

.bazelci/presubmit.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,31 +9,43 @@ tasks:
99
- "--host_cxxopt=-std=c++17"
1010
test_targets:
1111
- "//examples/routeguide:cpp_cpp"
12+
- "//examples/routeguide:cpp_csharp"
1213
- "//examples/routeguide:cpp_go"
1314
- "//examples/routeguide:cpp_java"
1415
- "//examples/routeguide:cpp_js"
1516
- "//examples/routeguide:cpp_python"
17+
- "//examples/routeguide:csharp_cpp"
18+
- "//examples/routeguide:csharp_csharp"
19+
- "//examples/routeguide:csharp_go"
20+
- "//examples/routeguide:csharp_java"
21+
- "//examples/routeguide:csharp_js"
22+
- "//examples/routeguide:csharp_python"
1623
- "//examples/routeguide:go_cpp"
24+
- "//examples/routeguide:go_csharp"
1725
- "//examples/routeguide:go_go"
1826
- "//examples/routeguide:go_java"
1927
- "//examples/routeguide:go_js"
2028
- "//examples/routeguide:go_python"
2129
- "//examples/routeguide:java_cpp"
30+
- "//examples/routeguide:java_csharp"
2231
- "//examples/routeguide:java_go"
2332
- "//examples/routeguide:java_java"
2433
- "//examples/routeguide:java_js"
2534
- "//examples/routeguide:java_python"
2635
- "//examples/routeguide:js_cpp"
36+
- "//examples/routeguide:js_csharp"
2737
- "//examples/routeguide:js_go"
2838
- "//examples/routeguide:js_java"
2939
- "//examples/routeguide:js_js"
3040
- "//examples/routeguide:js_python"
3141
- "//examples/routeguide:python_cpp"
42+
- "//examples/routeguide:python_csharp"
3243
- "//examples/routeguide:python_go"
3344
- "//examples/routeguide:python_java"
3445
- "//examples/routeguide:python_js"
3546
- "//examples/routeguide:python_python"
3647
- "//examples/routeguide:scala_cpp"
48+
- "//examples/routeguide:scala_csharp"
3749
- "//examples/routeguide:scala_go"
3850
- "//examples/routeguide:scala_java"
3951
- "//examples/routeguide:scala_js"
@@ -48,31 +60,43 @@ tasks:
4860
- "--host_cxxopt=-std=c++17"
4961
test_targets:
5062
- "//examples/routeguide:cpp_cpp"
63+
- "//examples/routeguide:cpp_csharp"
5164
- "//examples/routeguide:cpp_go"
5265
- "//examples/routeguide:cpp_java"
5366
- "//examples/routeguide:cpp_js"
5467
- "//examples/routeguide:cpp_python"
68+
- "//examples/routeguide:csharp_cpp"
69+
- "//examples/routeguide:csharp_csharp"
70+
- "//examples/routeguide:csharp_go"
71+
- "//examples/routeguide:csharp_java"
72+
- "//examples/routeguide:csharp_js"
73+
- "//examples/routeguide:csharp_python"
5574
- "//examples/routeguide:go_cpp"
75+
- "//examples/routeguide:go_csharp"
5676
- "//examples/routeguide:go_go"
5777
- "//examples/routeguide:go_java"
5878
- "//examples/routeguide:go_js"
5979
- "//examples/routeguide:go_python"
6080
- "//examples/routeguide:java_cpp"
81+
- "//examples/routeguide:java_csharp"
6182
- "//examples/routeguide:java_go"
6283
- "//examples/routeguide:java_java"
6384
- "//examples/routeguide:java_js"
6485
- "//examples/routeguide:java_python"
6586
- "//examples/routeguide:js_cpp"
87+
- "//examples/routeguide:js_csharp"
6688
- "//examples/routeguide:js_go"
6789
- "//examples/routeguide:js_java"
6890
- "//examples/routeguide:js_js"
6991
- "//examples/routeguide:js_python"
7092
- "//examples/routeguide:python_cpp"
93+
- "//examples/routeguide:python_csharp"
7194
- "//examples/routeguide:python_go"
7295
- "//examples/routeguide:python_java"
7396
- "//examples/routeguide:python_js"
7497
- "//examples/routeguide:python_python"
7598
- "//examples/routeguide:scala_cpp"
99+
- "//examples/routeguide:scala_csharp"
76100
- "//examples/routeguide:scala_go"
77101
- "//examples/routeguide:scala_java"
78102
- "//examples/routeguide:scala_js"
@@ -87,15 +111,23 @@ tasks:
87111
- "--host_cxxopt=-std=c++17"
88112
test_targets:
89113
- "//examples/routeguide:cpp_cpp"
114+
- "//examples/routeguide:cpp_csharp"
90115
- "//examples/routeguide:cpp_go"
91116
- "//examples/routeguide:cpp_python"
117+
- "//examples/routeguide:csharp_cpp"
118+
- "//examples/routeguide:csharp_csharp"
119+
- "//examples/routeguide:csharp_go"
120+
- "//examples/routeguide:csharp_python"
92121
- "//examples/routeguide:go_cpp"
122+
- "//examples/routeguide:go_csharp"
93123
- "//examples/routeguide:go_go"
94124
- "//examples/routeguide:go_python"
95125
- "//examples/routeguide:python_cpp"
126+
- "//examples/routeguide:python_csharp"
96127
- "//examples/routeguide:python_go"
97128
- "//examples/routeguide:python_python"
98129
- "//examples/routeguide:scala_cpp"
130+
- "//examples/routeguide:scala_csharp"
99131
- "//examples/routeguide:scala_go"
100132
- "//examples/routeguide:scala_python"
101133

@@ -165,6 +197,42 @@ tasks:
165197
- make cpp_cpp_proto_library_example
166198
- make cpp_cpp_grpc_library_example
167199

200+
csharp_ubuntu2204_examples:
201+
name: C#
202+
platform: ubuntu2204
203+
environment:
204+
BAZEL_EXTRA_FLAGS: "--cxxopt=-std=c++17 --host_cxxopt=-std=c++17"
205+
shell_commands:
206+
- set -x
207+
- make csharp_csharp_proto_compile_example
208+
- make csharp_csharp_grpc_compile_example
209+
- make csharp_csharp_proto_library_example
210+
- make csharp_csharp_grpc_library_example
211+
212+
csharp_macos_examples:
213+
name: C#
214+
platform: macos
215+
environment:
216+
BAZEL_EXTRA_FLAGS: "--cxxopt=-std=c++17 --host_cxxopt=-std=c++17"
217+
shell_commands:
218+
- set -x
219+
- make csharp_csharp_proto_compile_example
220+
- make csharp_csharp_grpc_compile_example
221+
- make csharp_csharp_proto_library_example
222+
- make csharp_csharp_grpc_library_example
223+
224+
csharp_macos_arm64_examples:
225+
name: C#
226+
platform: macos_arm64
227+
environment:
228+
BAZEL_EXTRA_FLAGS: "--cxxopt=-std=c++17 --host_cxxopt=-std=c++17"
229+
shell_commands:
230+
- set -x
231+
- make csharp_csharp_proto_compile_example
232+
- make csharp_csharp_grpc_compile_example
233+
- make csharp_csharp_proto_library_example
234+
- make csharp_csharp_grpc_library_example
235+
168236
doc_ubuntu2204_examples:
169237
name: Documentation
170238
platform: ubuntu2204

.bazelignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@ examples/cpp/cpp_grpc_compile
99
examples/cpp/cpp_proto_library
1010
examples/cpp/cpp_grpc_library
1111

12+
examples/csharp/csharp_proto_compile
13+
examples/csharp/csharp_grpc_compile
14+
examples/csharp/csharp_proto_library
15+
examples/csharp/csharp_grpc_library
16+
1217
examples/doc/doc_docbook_compile
1318
examples/doc/doc_html_compile
1419
examples/doc/doc_json_compile

MODULE.bazel

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ bazel_dep(name = "buildifier_prebuilt", version = "8.2.0.2")
22
bazel_dep(name = "gazelle", version = "0.44.0")
33
bazel_dep(name = "protobuf", version = "31.1")
44
bazel_dep(name = "rules_cc", version = "0.1.4")
5+
bazel_dep(name = "rules_dotnet", version = "0.19.2")
56
bazel_dep(name = "rules_go", version = "0.55.1")
67
bazel_dep(name = "rules_java", version = "8.14.0")
78
bazel_dep(name = "rules_scala", version = "7.0.0")
@@ -54,6 +55,13 @@ protoc.toolchain(
5455
version = "v31.1",
5556
)
5657

58+
# C#
59+
bazel_dep(name = "rules_proto_grpc_csharp", version = "0.0.0.rpg.version.placeholder")
60+
local_path_override(
61+
module_name = "rules_proto_grpc_csharp",
62+
path = "modules/csharp",
63+
)
64+
5765
# Documentation
5866
bazel_dep(name = "rules_proto_grpc_doc", version = "0.0.0.rpg.version.placeholder")
5967
local_path_override(

Makefile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,15 @@ buildifier:
2424
bazel run //tools:buildifier
2525

2626

27+
# Update C# paket lock and paket2bazel extension
28+
.PHONY: csharp_regenerate_packages
29+
csharp_regenerate_packages:
30+
cd modules/csharp/paket && dotnet new tool-manifest || true
31+
cd modules/csharp/paket && dotnet tool install paket
32+
cd modules/csharp/paket && dotnet paket install
33+
bazel run @rules_dotnet//tools/paket2bazel -- --dependencies-file $$(pwd)/modules/csharp/paket/paket.dependencies --output-folder $$(pwd)/modules/csharp/paket
34+
rm -r modules/csharp/paket/.config modules/csharp/paket/paket-files
35+
2736
# Run pnpm to upgrade JS dependencies
2837
.PHONY: js_resolve
2938
js_resolve:

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,10 @@ Full documentation for the current and previous versions [can be found here](htt
117117
| [C++](https://rules-proto-grpc.com/en/latest/lang/cpp.html) | [cpp_grpc_compile](https://rules-proto-grpc.com/en/latest/lang/cpp.html#cpp-grpc-compile) | Generates C++ protobuf and gRPC ``.h`` & ``.cc`` files ([example](/examples/cpp/cpp_grpc_compile)) |
118118
| [C++](https://rules-proto-grpc.com/en/latest/lang/cpp.html) | [cpp_proto_library](https://rules-proto-grpc.com/en/latest/lang/cpp.html#cpp-proto-library) | Generates a C++ protobuf library using ``cc_library``, with dependencies linked ([example](/examples/cpp/cpp_proto_library)) |
119119
| [C++](https://rules-proto-grpc.com/en/latest/lang/cpp.html) | [cpp_grpc_library](https://rules-proto-grpc.com/en/latest/lang/cpp.html#cpp-grpc-library) | Generates a C++ protobuf and gRPC library using ``cc_library``, with dependencies linked ([example](/examples/cpp/cpp_grpc_library)) |
120+
| [C#](https://rules-proto-grpc.com/en/latest/lang/csharp.html) | [csharp_proto_compile](https://rules-proto-grpc.com/en/latest/lang/csharp.html#csharp-proto-compile) | Generates C# protobuf ``.cs`` files ([example](/examples/csharp/csharp_proto_compile)) |
121+
| [C#](https://rules-proto-grpc.com/en/latest/lang/csharp.html) | [csharp_grpc_compile](https://rules-proto-grpc.com/en/latest/lang/csharp.html#csharp-grpc-compile) | Generates C# protobuf and gRPC ``.cs`` files ([example](/examples/csharp/csharp_grpc_compile)) |
122+
| [C#](https://rules-proto-grpc.com/en/latest/lang/csharp.html) | [csharp_proto_library](https://rules-proto-grpc.com/en/latest/lang/csharp.html#csharp-proto-library) | Generates a C# protobuf library using ``csharp_library`` from ``rules_dotnet`` ([example](/examples/csharp/csharp_proto_library)) |
123+
| [C#](https://rules-proto-grpc.com/en/latest/lang/csharp.html) | [csharp_grpc_library](https://rules-proto-grpc.com/en/latest/lang/csharp.html#csharp-grpc-library) | Generates a C# protobuf and gRPC library using ``csharp_library`` from ``rules_dotnet`` ([example](/examples/csharp/csharp_grpc_library)) |
120124
| [Documentation](https://rules-proto-grpc.com/en/latest/lang/doc.html) | [doc_docbook_compile](https://rules-proto-grpc.com/en/latest/lang/doc.html#doc-docbook-compile) | Generates DocBook ``.xml`` documentation file ([example](/examples/doc/doc_docbook_compile)) |
121125
| [Documentation](https://rules-proto-grpc.com/en/latest/lang/doc.html) | [doc_html_compile](https://rules-proto-grpc.com/en/latest/lang/doc.html#doc-html-compile) | Generates ``.html`` documentation file ([example](/examples/doc/doc_html_compile)) |
122126
| [Documentation](https://rules-proto-grpc.com/en/latest/lang/doc.html) | [doc_json_compile](https://rules-proto-grpc.com/en/latest/lang/doc.html#doc-json-compile) | Generates ``.json`` documentation file ([example](/examples/doc/doc_json_compile)) |

docs/index.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ Supported Languages and Tools
9898
* - C++
9999
- ✔
100100
- ✔
101+
* - C#
102+
- ✔
103+
- ✔
101104
* - Go
102105
- ✔
103106
- ✔
@@ -162,6 +165,7 @@ Supported Languages and Tools
162165

163166
lang/buf
164167
lang/cpp
168+
lang/csharp
165169
lang/doc
166170
lang/go
167171
lang/grpc_gateway

0 commit comments

Comments
 (0)