tree: 6a4e8ed1406dc7a5a5beb3736f2c5a2959457bb0
  1. .bazelci/
  2. .github/
  3. android/
  4. buf/
  5. c/
  6. cpp/
  7. csharp/
  8. d/
  9. doc/
  10. docs/
  11. example/
  12. fsharp/
  13. go/
  14. grpc-gateway/
  15. internal/
  16. java/
  17. js/
  18. objc/
  19. php/
  20. protobuf/
  21. python/
  22. ruby/
  23. rust/
  24. scala/
  25. swift/
  26. test_workspaces/
  27. third_party/
  28. tools/
  29. .bazelignore
  30. .gitignore
  31. .readthedocs.yaml
  32. BUILD.bazel
  33. CNAME
  34. defs.bzl
  35. LICENSE
  36. Makefile
  37. README.md
  38. repositories.bzl
  39. WORKSPACE
README.md

Announcements 📣

2021/09/22 - Version 4.0.0

Version 4.0.0 has been released with updated dependencies and removal of some previously deprecated features. gRPC has been updated to 1.40.0 and Protobuf has been updated to 3.18.0. This update will be a drop-in upgrade with no changes needed, however there are a couple of breaking changes in Javascript and Rust rules. Please see the release notes linked above for all changes or check the language specific fules pages in the docs. If you discover any problems with the new release, please open a new issue, create a discussion or otherwise check in the #proto channel on Bazel Slack.

2021/03/03 - Version 3.1.0

Version 3.1.0 has been released with fixes for JavaScript, updated dependencies and new rules for linting and producing documentation from .proto files. See the release notes linked above for all changes.

Usage

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

Rules

LanguageRuleDescription
Androidandroid_proto_compileGenerates an Android protobuf .jar file (example)
Androidandroid_grpc_compileGenerates Android protobuf and gRPC .jar files (example)
Androidandroid_proto_libraryGenerates an Android protobuf library using android_library from rules_android (example)
Androidandroid_grpc_libraryGenerates Android protobuf and gRPC library using android_library from rules_android (example)
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)
C#csharp_proto_compileGenerates C# protobuf .cs files (example)
C#csharp_grpc_compileGenerates C# protobuf and gRPC .cs files (example)
C#csharp_proto_libraryGenerates a C# protobuf library using csharp_library from rules_dotnet. Note that the library name must end in .dll (example)
C#csharp_grpc_libraryGenerates a C# protobuf and gRPC library using csharp_library from rules_dotnet. Note that the library name must end in .dll (example)
Dd_proto_compileGenerates D protobuf .d files (example)
Dd_proto_libraryGenerates a D protobuf library using d_library from rules_d (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)
F#fsharp_proto_compileGenerates F# protobuf .fs files (example)
F#fsharp_grpc_compileGenerates F# protobuf and gRPC .fs files (example)
F#fsharp_proto_libraryGenerates a F# protobuf library using fsharp_library from rules_dotnet. Note that the library name must end in .dll (example)
F#fsharp_grpc_libraryGenerates a F# protobuf and gRPC library using fsharp_library from rules_dotnet. Note that the library name must end in .dll (example)
Gogo_proto_compileGenerates Go protobuf .go files (example)
Gogo_grpc_compileGenerates Go protobuf and gRPC .go files (example)
Gogo_validate_compileGenerates Go protobuf and gRPC validation .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)
Gogo_validate_libraryGenerates a Go protobuf and gRPC validation 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)
Javajava_proto_compileGenerates a Java protobuf srcjar file (example)
Javajava_grpc_compileGenerates a Java protobuf and gRPC srcjar file (example)
Javajava_proto_libraryGenerates a Java protobuf library using java_library (example)
Javajava_grpc_libraryGenerates a Java protobuf and gRPC library using java_library (example)
JavaScriptjs_proto_compileGenerates JavaScript protobuf .js and .d.ts files (example)
JavaScriptjs_grpc_node_compileGenerates JavaScript protobuf and gRPC-node .js and .d.ts files (example)
JavaScriptjs_grpc_web_compileGenerates JavaScript protobuf and gRPC-Web .js and .d.ts files (example)
JavaScriptjs_proto_libraryGenerates a JavaScript protobuf library using js_library from rules_nodejs (example)
JavaScriptjs_grpc_node_libraryGenerates a Node.js protobuf + gRPC-node library using js_library from rules_nodejs (example)
JavaScriptjs_grpc_web_libraryGenerates a JavaScript protobuf + gRPC-Web library using js_library from rules_nodejs (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)
PHPphp_proto_compileGenerates PHP protobuf .php files (example)
PHPphp_grpc_compileGenerates PHP protobuf and gRPC .php files (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)
Rubyruby_proto_compileGenerates Ruby protobuf .rb files (example)
Rubyruby_grpc_compileGenerates Ruby protobuf and gRPC .rb files (example)
Rubyruby_proto_libraryGenerates a Ruby protobuf library using ruby_library from rules_ruby (example)
Rubyruby_grpc_libraryGenerates a Ruby protobuf and gRPC library using ruby_library from rules_ruby (example)
Rustrust_proto_compileGenerates Rust protobuf .rs files (example)
Rustrust_grpc_compileGenerates Rust protobuf and gRPC .rs files (example)
Rustrust_proto_libraryGenerates a Rust protobuf library using rust_library from rules_rust (example)
Rustrust_grpc_libraryGenerates a Rust protobuf and gRPC library using rust_library from rules_rust (example)
Scalascala_proto_compileGenerates a Scala protobuf .jar file (example)
Scalascala_grpc_compileGenerates Scala protobuf and gRPC .jar file (example)
Scalascala_proto_libraryGenerates a Scala protobuf library using scala_library from rules_scala (example)
Scalascala_grpc_libraryGenerates a Scala protobuf and gRPC library using scala_library from rules_scala (example)
Swiftswift_proto_compileGenerates Swift protobuf .swift files (example)
Swiftswift_grpc_compileGenerates Swift protobuf and gRPC .swift files (example)
Swiftswift_proto_libraryGenerates a Swift protobuf library using swift_library from rules_swift (example)
Swiftswift_grpc_libraryGenerates a Swift protobuf and gRPC library using swift_library from rules_swift (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