Update rulegen
2 files changed
tree: 0f3b15cec2a0b9e60d96826856497351aade3a42
  1. .bazelci/
  2. .github/
  3. docs/
  4. examples/
  5. modules/
  6. test_workspaces/
  7. tools/
  8. .bazelignore
  9. .gitignore
  10. .readthedocs.yaml
  11. LICENSE
  12. Makefile
  13. MODULE.bazel
  14. README.md
  15. WORKSPACE
README.md

[!IMPORTANT] The master branch now contains the Bzlmod-only update of the rules that'll be released in version 5.0.0. If you need to see the WORKSPACE based rules used in version 4.x.x, please see the legacy branch. For tracking the status of language support with the Bzlmod rules, please see #299

Announcements 📣

2023/12/14 - Version 4.6.0

Version 4.6.0 has been released, which contains a few bug fixes for Bazel 7 support. Note that this is likely to be the last WORKSPACE supporting release of rules_proto_grpc, as new Bzlmod supporting rules are introduced in the next major version

2023/09/12 - Version 4.5.0

Version 4.5.0 has been released, which contains a number of version updates, bug fixes and usability improvements over 4.4.0. Additionally, the Rust rules contain a major change of underlying gRPC and Protobuf library; the rules now use Tonic and Prost respectively

Usage

Full documentation for the current and previous versions can be found here

Rules

LanguageRuleDescription
Bufbuf_proto_breaking_testChecks .proto files for breaking changes (example)
Bufbuf_proto_lint_testLints .proto files (example)
Cc_proto_compileGenerates C protobuf .h & .c files (example)
Cc_proto_libraryGenerates a C protobuf library using cc_library, with dependencies linked (example)
C++cpp_proto_compileGenerates C++ protobuf .h & .cc files (example)
C++cpp_grpc_compileGenerates C++ protobuf and gRPC .h & .cc files (example)
C++cpp_proto_libraryGenerates a C++ protobuf library using cc_library, with dependencies linked (example)
C++cpp_grpc_libraryGenerates a C++ protobuf and gRPC library using cc_library, with dependencies linked (example)
Documentationdoc_docbook_compileGenerates DocBook .xml documentation file (example)
Documentationdoc_html_compileGenerates .html documentation file (example)
Documentationdoc_json_compileGenerates .json documentation file (example)
Documentationdoc_markdown_compileGenerates Markdown .md documentation file (example)
Documentationdoc_template_compileGenerates documentation file using Go template file (example)
Gogo_proto_compileGenerates Go protobuf .go files (example)
Gogo_grpc_compileGenerates Go protobuf and gRPC .go files (example)
Gogo_proto_libraryGenerates a Go protobuf library using go_library from rules_go (example)
Gogo_grpc_libraryGenerates a Go protobuf and gRPC library using go_library from rules_go (example)
gRPC-Gatewaygateway_grpc_compileGenerates gRPC-Gateway .go files (example)
gRPC-Gatewaygateway_openapiv2_compileGenerates gRPC-Gateway OpenAPI v2 .json files (example)
gRPC-Gatewaygateway_grpc_libraryGenerates gRPC-Gateway library files (example)
Objective-Cobjc_proto_compileGenerates Objective-C protobuf .m & .h files (example)
Objective-Cobjc_grpc_compileGenerates Objective-C protobuf and gRPC .m & .h files (example)
Objective-Cobjc_proto_libraryGenerates an Objective-C protobuf library using objc_library (example)
Objective-Cobjc_grpc_libraryGenerates an Objective-C protobuf and gRPC library using objc_library (example)
Pythonpython_proto_compileGenerates Python protobuf .py files (example)
Pythonpython_grpc_compileGenerates Python protobuf and gRPC .py files (example)
Pythonpython_grpclib_compileGenerates Python protobuf and grpclib .py files (supports Python 3 only) (example)
Pythonpython_proto_libraryGenerates a Python protobuf library using py_library from rules_python (example)
Pythonpython_grpc_libraryGenerates a Python protobuf and gRPC library using py_library from rules_python (example)
Pythonpython_grpclib_libraryGenerates a Python protobuf and grpclib library using py_library from rules_python (supports Python 3 only) (example)

License

This project is derived from stackb/rules_proto under the Apache 2.0 license and this project therefore maintains the terms of that license