Fixup more MD -> RST

This commit is contained in:
Adam Liddell 2021-04-05 14:45:46 +00:00
parent 922b6a0015
commit 49598ca028
43 changed files with 1889 additions and 1897 deletions

View File

@ -139,10 +139,8 @@ It is recommended that you use the tagged releases for stable rules. Master is i
unstable at certain periods. To be notified of new releases, you can use GitHub's 'Watch Releases Only' on the
repository.
.. note::
You will also need to follow instructions in the language-specific `README.md` for additional workspace
dependencies that may be required.
**Note**: You will also need to follow instructions in the language-specific pages for additional workspace
dependencies that may be required.
Rules
@ -157,16 +155,16 @@ Rules
- Description
* - `Android </android>`_
- `android_proto_compile </android#android_proto_compile>`_
- Generates an Android protobuf `.jar` file (`example </example/android/android_proto_compile>`_)
- Generates an Android protobuf ``.jar`` file (`example </example/android/android_proto_compile>`_)
* - `Android </android>`_
- `android_grpc_compile </android#android_grpc_compile>`_
- Generates Android protobuf and gRPC `.jar` files (`example </example/android/android_grpc_compile>`_)
- Generates Android protobuf and gRPC ``.jar`` files (`example </example/android/android_grpc_compile>`_)
* - `Android </android>`_
- `android_proto_library </android#android_proto_library>`_
- Generates an Android protobuf library using `android_library` from `rules_android` (`example </example/android/android_proto_library>`_)
- Generates an Android protobuf library using ``android_library`` from ``rules_android`` (`example </example/android/android_proto_library>`_)
* - `Android </android>`_
- `android_grpc_library </android#android_grpc_library>`_
- Generates Android protobuf and gRPC library using `android_library` from `rules_android` (`example </example/android/android_grpc_library>`_)
- Generates Android protobuf and gRPC library using ``android_library`` from ``rules_android`` (`example </example/android/android_grpc_library>`_)
* - `Buf </buf>`_
- `buf_proto_breaking_test </buf#buf_proto_breaking_test>`_
- Checks .proto files for breaking changes (`example </example/buf/buf_proto_breaking_test>`_)
@ -175,70 +173,70 @@ Rules
- Lints .proto files (`example </example/buf/buf_proto_lint_test>`_)
* - `C </c>`_
- `c_proto_compile </c#c_proto_compile>`_
- Generates C protobuf `.h` & `.c` files (`example </example/c/c_proto_compile>`_)
- Generates C protobuf ``.h`` & ``.c`` files (`example </example/c/c_proto_compile>`_)
* - `C </c>`_
- `c_proto_library </c#c_proto_library>`_
- Generates a C protobuf library using `cc_library`, with dependencies linked (`example </example/c/c_proto_library>`_)
- Generates a C protobuf library using ``cc_library``, with dependencies linked (`example </example/c/c_proto_library>`_)
* - `C++ </cpp>`_
- `cpp_proto_compile </cpp#cpp_proto_compile>`_
- Generates C++ protobuf `.h` & `.cc` files (`example </example/cpp/cpp_proto_compile>`_)
- Generates C++ protobuf ``.h`` & ``.cc`` files (`example </example/cpp/cpp_proto_compile>`_)
* - `C++ </cpp>`_
- `cpp_grpc_compile </cpp#cpp_grpc_compile>`_
- Generates C++ protobuf and gRPC `.h` & `.cc` files (`example </example/cpp/cpp_grpc_compile>`_)
- Generates C++ protobuf and gRPC ``.h`` & ``.cc`` files (`example </example/cpp/cpp_grpc_compile>`_)
* - `C++ </cpp>`_
- `cpp_proto_library </cpp#cpp_proto_library>`_
- Generates a C++ protobuf library using `cc_library`, with dependencies linked (`example </example/cpp/cpp_proto_library>`_)
- Generates a C++ protobuf library using ``cc_library``, with dependencies linked (`example </example/cpp/cpp_proto_library>`_)
* - `C++ </cpp>`_
- `cpp_grpc_library </cpp#cpp_grpc_library>`_
- Generates a C++ protobuf and gRPC library using `cc_library`, with dependencies linked (`example </example/cpp/cpp_grpc_library>`_)
- Generates a C++ protobuf and gRPC library using ``cc_library``, with dependencies linked (`example </example/cpp/cpp_grpc_library>`_)
* - `C# </csharp>`_
- `csharp_proto_compile </csharp#csharp_proto_compile>`_
- Generates C# protobuf `.cs` files (`example </example/csharp/csharp_proto_compile>`_)
- Generates C# protobuf ``.cs`` files (`example </example/csharp/csharp_proto_compile>`_)
* - `C# </csharp>`_
- `csharp_grpc_compile </csharp#csharp_grpc_compile>`_
- Generates C# protobuf and gRPC `.cs` files (`example </example/csharp/csharp_grpc_compile>`_)
- Generates C# protobuf and gRPC ``.cs`` files (`example </example/csharp/csharp_grpc_compile>`_)
* - `C# </csharp>`_
- `csharp_proto_library </csharp#csharp_proto_library>`_
- Generates a C# protobuf library using `csharp_library` from `rules_dotnet`. Note that the library name must end in `.dll` (`example </example/csharp/csharp_proto_library>`_)
- Generates a C# protobuf library using ``csharp_library`` from ``rules_dotnet``. Note that the library name must end in ``.dll`` (`example </example/csharp/csharp_proto_library>`_)
* - `C# </csharp>`_
- `csharp_grpc_library </csharp#csharp_grpc_library>`_
- Generates a C# protobuf and gRPC library using `csharp_library` from `rules_dotnet`. Note that the library name must end in `.dll` (`example </example/csharp/csharp_grpc_library>`_)
- Generates a C# protobuf and gRPC library using ``csharp_library`` from ``rules_dotnet``. Note that the library name must end in ``.dll`` (`example </example/csharp/csharp_grpc_library>`_)
* - `D </d>`_
- `d_proto_compile </d#d_proto_compile>`_
- Generates D protobuf `.d` files (`example </example/d/d_proto_compile>`_)
- Generates D protobuf ``.d`` files (`example </example/d/d_proto_compile>`_)
* - `D </d>`_
- `d_proto_library </d#d_proto_library>`_
- Generates a D protobuf library using `d_library` from `rules_d` (`example </example/d/d_proto_library>`_)
- Generates a D protobuf library using ``d_library`` from ``rules_d`` (`example </example/d/d_proto_library>`_)
* - `Documentation </doc>`_
- `doc_docbook_compile </doc#doc_docbook_compile>`_
- Generates DocBook `.xml` documentation file (`example </example/doc/doc_docbook_compile>`_)
- Generates DocBook ``.xml`` documentation file (`example </example/doc/doc_docbook_compile>`_)
* - `Documentation </doc>`_
- `doc_html_compile </doc#doc_html_compile>`_
- Generates `.html` documentation file (`example </example/doc/doc_html_compile>`_)
- Generates ``.html`` documentation file (`example </example/doc/doc_html_compile>`_)
* - `Documentation </doc>`_
- `doc_json_compile </doc#doc_json_compile>`_
- Generates `.json` documentation file (`example </example/doc/doc_json_compile>`_)
- Generates ``.json`` documentation file (`example </example/doc/doc_json_compile>`_)
* - `Documentation </doc>`_
- `doc_markdown_compile </doc#doc_markdown_compile>`_
- Generates Markdown `.md` documentation file (`example </example/doc/doc_markdown_compile>`_)
- Generates Markdown ``.md`` documentation file (`example </example/doc/doc_markdown_compile>`_)
* - `Go </go>`_
- `go_proto_compile </go#go_proto_compile>`_
- Generates Go protobuf `.go` files (`example </example/go/go_proto_compile>`_)
- Generates Go protobuf ``.go`` files (`example </example/go/go_proto_compile>`_)
* - `Go </go>`_
- `go_grpc_compile </go#go_grpc_compile>`_
- Generates Go protobuf and gRPC `.go` files (`example </example/go/go_grpc_compile>`_)
- Generates Go protobuf and gRPC ``.go`` files (`example </example/go/go_grpc_compile>`_)
* - `Go </go>`_
- `go_proto_library </go#go_proto_library>`_
- Generates a Go protobuf library using `go_library` from `rules_go` (`example </example/go/go_proto_library>`_)
- Generates a Go protobuf library using ``go_library`` from ``rules_go`` (`example </example/go/go_proto_library>`_)
* - `Go </go>`_
- `go_grpc_library </go#go_grpc_library>`_
- Generates a Go protobuf and gRPC library using `go_library` from `rules_go` (`example </example/go/go_grpc_library>`_)
- Generates a Go protobuf and gRPC library using ``go_library`` from ``rules_go`` (`example </example/go/go_grpc_library>`_)
* - `grpc-gateway </grpc-gateway>`_
- `gateway_grpc_compile </grpc-gateway#gateway_grpc_compile>`_
- Generates grpc-gateway `.go` files (`example </example/grpc-gateway/gateway_grpc_compile>`_)
- Generates grpc-gateway ``.go`` files (`example </example/grpc-gateway/gateway_grpc_compile>`_)
* - `grpc-gateway </grpc-gateway>`_
- `gateway_openapiv2_compile </grpc-gateway#gateway_openapiv2_compile>`_
- Generates grpc-gateway OpenAPI v2 `.json` files (`example </example/grpc-gateway/gateway_openapiv2_compile>`_)
- Generates grpc-gateway OpenAPI v2 ``.json`` files (`example </example/grpc-gateway/gateway_openapiv2_compile>`_)
* - `grpc-gateway </grpc-gateway>`_
- `gateway_grpc_library </grpc-gateway#gateway_grpc_library>`_
- Generates grpc-gateway library files (`example </example/grpc-gateway/gateway_grpc_library>`_)
@ -250,112 +248,112 @@ Rules
- Generates a Java protobuf and gRPC srcjar file (`example </example/java/java_grpc_compile>`_)
* - `Java </java>`_
- `java_proto_library </java#java_proto_library>`_
- Generates a Java protobuf library using `java_library` (`example </example/java/java_proto_library>`_)
- Generates a Java protobuf library using ``java_library`` (`example </example/java/java_proto_library>`_)
* - `Java </java>`_
- `java_grpc_library </java#java_grpc_library>`_
- Generates a Java protobuf and gRPC library using `java_library` (`example </example/java/java_grpc_library>`_)
- Generates a Java protobuf and gRPC library using ``java_library`` (`example </example/java/java_grpc_library>`_)
* - `JavaScript </js>`_
- `js_proto_compile </js#js_proto_compile>`_
- Generates JavaScript protobuf `.js` and `.d.ts` files (`example </example/js/js_proto_compile>`_)
- Generates JavaScript protobuf ``.js`` and ``.d.ts`` files (`example </example/js/js_proto_compile>`_)
* - `JavaScript </js>`_
- `js_grpc_node_compile </js#js_grpc_node_compile>`_
- Generates JavaScript protobuf and gRPC-node `.js` and `.d.ts` files (`example </example/js/js_grpc_node_compile>`_)
- Generates JavaScript protobuf and gRPC-node ``.js`` and ``.d.ts`` files (`example </example/js/js_grpc_node_compile>`_)
* - `JavaScript </js>`_
- `js_grpc_web_compile </js#js_grpc_web_compile>`_
- Generates JavaScript protobuf and gRPC-Web `.js` and `.d.ts` files (`example </example/js/js_grpc_web_compile>`_)
- Generates JavaScript protobuf and gRPC-Web ``.js`` and ``.d.ts`` files (`example </example/js/js_grpc_web_compile>`_)
* - `JavaScript </js>`_
- `js_proto_library </js#js_proto_library>`_
- Generates a JavaScript protobuf library using `js_library` from `rules_nodejs` (`example </example/js/js_proto_library>`_)
- Generates a JavaScript protobuf library using ``js_library`` from ``rules_nodejs`` (`example </example/js/js_proto_library>`_)
* - `JavaScript </js>`_
- `js_grpc_node_library </js#js_grpc_node_library>`_
- Generates a Node.js protobuf + gRPC-node library using `js_library` from `rules_nodejs` (`example </example/js/js_grpc_node_library>`_)
- Generates a Node.js protobuf + gRPC-node library using ``js_library`` from ``rules_nodejs`` (`example </example/js/js_grpc_node_library>`_)
* - `JavaScript </js>`_
- `js_grpc_web_library </js#js_grpc_web_library>`_
- Generates a JavaScript protobuf + gRPC-Web library using `js_library` from `rules_nodejs` (`example </example/js/js_grpc_web_library>`_)
- Generates a JavaScript protobuf + gRPC-Web library using ``js_library`` from ``rules_nodejs`` (`example </example/js/js_grpc_web_library>`_)
* - `Objective-C </objc>`_
- `objc_proto_compile </objc#objc_proto_compile>`_
- Generates Objective-C protobuf `.m` & `.h` files (`example </example/objc/objc_proto_compile>`_)
- Generates Objective-C protobuf ``.m`` & ``.h`` files (`example </example/objc/objc_proto_compile>`_)
* - `Objective-C </objc>`_
- `objc_grpc_compile </objc#objc_grpc_compile>`_
- Generates Objective-C protobuf and gRPC `.m` & `.h` files (`example </example/objc/objc_grpc_compile>`_)
- Generates Objective-C protobuf and gRPC ``.m`` & ``.h`` files (`example </example/objc/objc_grpc_compile>`_)
* - `Objective-C </objc>`_
- `objc_proto_library </objc#objc_proto_library>`_
- Generates an Objective-C protobuf library using `objc_library` (`example </example/objc/objc_proto_library>`_)
- Generates an Objective-C protobuf library using ``objc_library`` (`example </example/objc/objc_proto_library>`_)
* - `Objective-C </objc>`_
- `objc_grpc_library </objc#objc_grpc_library>`_
- Generates an Objective-C protobuf and gRPC library using `objc_library` (`example </example/objc/objc_grpc_library>`_)
- Generates an Objective-C protobuf and gRPC library using ``objc_library`` (`example </example/objc/objc_grpc_library>`_)
* - `PHP </php>`_
- `php_proto_compile </php#php_proto_compile>`_
- Generates PHP protobuf `.php` files (`example </example/php/php_proto_compile>`_)
- Generates PHP protobuf ``.php`` files (`example </example/php/php_proto_compile>`_)
* - `PHP </php>`_
- `php_grpc_compile </php#php_grpc_compile>`_
- Generates PHP protobuf and gRPC `.php` files (`example </example/php/php_grpc_compile>`_)
- Generates PHP protobuf and gRPC ``.php`` files (`example </example/php/php_grpc_compile>`_)
* - `Python </python>`_
- `python_proto_compile </python#python_proto_compile>`_
- Generates Python protobuf `.py` files (`example </example/python/python_proto_compile>`_)
- Generates Python protobuf ``.py`` files (`example </example/python/python_proto_compile>`_)
* - `Python </python>`_
- `python_grpc_compile </python#python_grpc_compile>`_
- Generates Python protobuf and gRPC `.py` files (`example </example/python/python_grpc_compile>`_)
- Generates Python protobuf and gRPC ``.py`` files (`example </example/python/python_grpc_compile>`_)
* - `Python </python>`_
- `python_grpclib_compile </python#python_grpclib_compile>`_
- Generates Python protobuf and grpclib `.py` files (supports Python 3 only) (`example </example/python/python_grpclib_compile>`_)
- Generates Python protobuf and grpclib ``.py`` files (supports Python 3 only) (`example </example/python/python_grpclib_compile>`_)
* - `Python </python>`_
- `python_proto_library </python#python_proto_library>`_
- Generates a Python protobuf library using `py_library` from `rules_python` (`example </example/python/python_proto_library>`_)
- Generates a Python protobuf library using ``py_library`` from ``rules_python`` (`example </example/python/python_proto_library>`_)
* - `Python </python>`_
- `python_grpc_library </python#python_grpc_library>`_
- Generates a Python protobuf and gRPC library using `py_library` from `rules_python` (`example </example/python/python_grpc_library>`_)
- Generates a Python protobuf and gRPC library using ``py_library`` from ``rules_python`` (`example </example/python/python_grpc_library>`_)
* - `Python </python>`_
- `python_grpclib_library </python#python_grpclib_library>`_
- Generates a Python protobuf and grpclib library using `py_library` from `rules_python` (supports Python 3 only) (`example </example/python/python_grpclib_library>`_)
- Generates a Python protobuf and grpclib library using ``py_library`` from ``rules_python`` (supports Python 3 only) (`example </example/python/python_grpclib_library>`_)
* - `Ruby </ruby>`_
- `ruby_proto_compile </ruby#ruby_proto_compile>`_
- Generates Ruby protobuf `.rb` files (`example </example/ruby/ruby_proto_compile>`_)
- Generates Ruby protobuf ``.rb`` files (`example </example/ruby/ruby_proto_compile>`_)
* - `Ruby </ruby>`_
- `ruby_grpc_compile </ruby#ruby_grpc_compile>`_
- Generates Ruby protobuf and gRPC `.rb` files (`example </example/ruby/ruby_grpc_compile>`_)
- Generates Ruby protobuf and gRPC ``.rb`` files (`example </example/ruby/ruby_grpc_compile>`_)
* - `Ruby </ruby>`_
- `ruby_proto_library </ruby#ruby_proto_library>`_
- Generates a Ruby protobuf library using `ruby_library` from `rules_ruby` (`example </example/ruby/ruby_proto_library>`_)
- Generates a Ruby protobuf library using ``ruby_library`` from ``rules_ruby`` (`example </example/ruby/ruby_proto_library>`_)
* - `Ruby </ruby>`_
- `ruby_grpc_library </ruby#ruby_grpc_library>`_
- Generates a Ruby protobuf and gRPC library using `ruby_library` from `rules_ruby` (`example </example/ruby/ruby_grpc_library>`_)
- Generates a Ruby protobuf and gRPC library using ``ruby_library`` from ``rules_ruby`` (`example </example/ruby/ruby_grpc_library>`_)
* - `Rust </rust>`_
- `rust_proto_compile </rust#rust_proto_compile>`_
- Generates Rust protobuf `.rs` files (`example </example/rust/rust_proto_compile>`_)
- Generates Rust protobuf ``.rs`` files (`example </example/rust/rust_proto_compile>`_)
* - `Rust </rust>`_
- `rust_grpc_compile </rust#rust_grpc_compile>`_
- Generates Rust protobuf and gRPC `.rs` files (`example </example/rust/rust_grpc_compile>`_)
- Generates Rust protobuf and gRPC ``.rs`` files (`example </example/rust/rust_grpc_compile>`_)
* - `Rust </rust>`_
- `rust_proto_library </rust#rust_proto_library>`_
- Generates a Rust protobuf library using `rust_library` from `rules_rust` (`example </example/rust/rust_proto_library>`_)
- Generates a Rust protobuf library using ``rust_library`` from ``rules_rust`` (`example </example/rust/rust_proto_library>`_)
* - `Rust </rust>`_
- `rust_grpc_library </rust#rust_grpc_library>`_
- Generates a Rust protobuf and gRPC library using `rust_library` from `rules_rust` (`example </example/rust/rust_grpc_library>`_)
- Generates a Rust protobuf and gRPC library using ``rust_library`` from ``rules_rust`` (`example </example/rust/rust_grpc_library>`_)
* - `Scala </scala>`_
- `scala_proto_compile </scala#scala_proto_compile>`_
- Generates a Scala protobuf `.jar` file (`example </example/scala/scala_proto_compile>`_)
- Generates a Scala protobuf ``.jar`` file (`example </example/scala/scala_proto_compile>`_)
* - `Scala </scala>`_
- `scala_grpc_compile </scala#scala_grpc_compile>`_
- Generates Scala protobuf and gRPC `.jar` file (`example </example/scala/scala_grpc_compile>`_)
- Generates Scala protobuf and gRPC ``.jar`` file (`example </example/scala/scala_grpc_compile>`_)
* - `Scala </scala>`_
- `scala_proto_library </scala#scala_proto_library>`_
- Generates a Scala protobuf library using `scala_library` from `rules_scala` (`example </example/scala/scala_proto_library>`_)
- Generates a Scala protobuf library using ``scala_library`` from ``rules_scala`` (`example </example/scala/scala_proto_library>`_)
* - `Scala </scala>`_
- `scala_grpc_library </scala#scala_grpc_library>`_
- Generates a Scala protobuf and gRPC library using `scala_library` from `rules_scala` (`example </example/scala/scala_grpc_library>`_)
- Generates a Scala protobuf and gRPC library using ``scala_library`` from ``rules_scala`` (`example </example/scala/scala_grpc_library>`_)
* - `Swift </swift>`_
- `swift_proto_compile </swift#swift_proto_compile>`_
- Generates Swift protobuf `.swift` files (`example </example/swift/swift_proto_compile>`_)
- Generates Swift protobuf ``.swift`` files (`example </example/swift/swift_proto_compile>`_)
* - `Swift </swift>`_
- `swift_grpc_compile </swift#swift_grpc_compile>`_
- Generates Swift protobuf and gRPC `.swift` files (`example </example/swift/swift_grpc_compile>`_)
- Generates Swift protobuf and gRPC ``.swift`` files (`example </example/swift/swift_grpc_compile>`_)
* - `Swift </swift>`_
- `swift_proto_library </swift#swift_proto_library>`_
- Generates a Swift protobuf library using `swift_library` from `rules_swift` (`example </example/swift/swift_proto_library>`_)
- Generates a Swift protobuf library using ``swift_library`` from ``rules_swift`` (`example </example/swift/swift_proto_library>`_)
* - `Swift </swift>`_
- `swift_grpc_library </swift#swift_grpc_library>`_
- Generates a Swift protobuf and gRPC library using `swift_library` from `rules_swift` (`example </example/swift/swift_grpc_library>`_)
- Generates a Swift protobuf and gRPC library using ``swift_library`` from ``rules_swift`` (`example </example/swift/swift_grpc_library>`_)
Example Usage
-------------
@ -394,10 +392,8 @@ dependency (``"@com_google_protobuf//:any_proto"``)
**Step 3**: Add a ``cpp_proto_compile`` target
.. note::
In this example ``thing.proto`` does not include service definitions (gRPC). For protos with services, use the
``cpp_grpc_compile`` rule instead.
**Note**: In this example ``thing.proto`` does not include service definitions (gRPC). For protos with services, use the
``cpp_grpc_compile`` rule instead.
.. code-block:: starlark
@ -410,7 +406,7 @@ dependency (``"@com_google_protobuf//:any_proto"``)
)
But wait, before we can build this, we need to load the dependencies necessary for this rule
(see `cpp/README.md </cpp/README.md>`_):
(see `cpp </cpp>`_):
**Step 4**: Load the workspace macro corresponding to the build rule.
@ -458,10 +454,8 @@ convenience we'd rather have the outputs compiled into a C++ library. To do that
This way, we can use ``//example/proto:cpp_thing_proto`` as a dependency of any other ``cc_library`` or ``cc_binary`` target
as per normal.
.. note::
NOTE: The ``cpp_proto_library`` target implicitly calls ``cpp_proto_compile``, and we can access that rule's by adding
``_pb`` at the end of the target name, like ``bazel build //example/proto:cpp_thing_proto_pb``
**Note**: The ``cpp_proto_library`` target implicitly calls ``cpp_proto_compile``, and we can access that rule's by adding
``_pb`` at the end of the target name, like ``bazel build //example/proto:cpp_thing_proto_pb``
Developers
@ -472,7 +466,7 @@ Code Layout
Each language ``{lang}`` has a top-level subdirectory that contains:
1. ``{lang}/README.md``: Generated documentation for the language rules
1. ``{lang}/README.rst``: Generated documentation for the language rules
1. ``{lang}/repositories.bzl``: Macro functions that declare repository rule dependencies for that language
@ -490,7 +484,7 @@ Rule Generation
***************
To help maintain consistency of the rule implementations and documentation, all of the rule implementations are
generated by the tool ``//tools/rulegen``. Changes in the main ``README.md`` should be placed in
generated by the tool ``//tools/rulegen``. Changes in the main ``README.rst`` should be placed in
``tools/rulegen/README.header.rst`` or ``tools/rulegen/README.footer.rst```. Changes to generated rules should be put in the
source files (example: ``tools/rulegen/java.go``).

View File

@ -1,7 +1,7 @@
Android rules
=============
Rules for generating Android protobuf and gRPC `.jar` files and libraries using standard Protocol Buffers and [gRPC-Java](https://github.com/grpc/grpc-java). Libraries are created with `android_library` from [rules_android](https://github.com/bazelbuild/rules_android)
Rules for generating Android protobuf and gRPC ``.jar`` files and libraries using standard Protocol Buffers and `gRPC-Java <https://github.com/grpc/grpc-java>`_. Libraries are created with ``android_library`` from `rules_android <https://github.com/bazelbuild/rules_android>`_
.. list-table:: Rules
:widths: 1 1
@ -9,19 +9,19 @@ Rules for generating Android protobuf and gRPC `.jar` files and libraries using
* - Rule
- Description
* - `android_proto_compile <android_proto_compile>`_
- Generates an Android protobuf `.jar` file
* - `android_grpc_compile <android_grpc_compile>`_
- Generates Android protobuf and gRPC `.jar` files
* - `android_proto_library <android_proto_library>`_
- Generates an Android protobuf library using `android_library` from `rules_android`
* - `android_grpc_library <android_grpc_library>`_
- Generates Android protobuf and gRPC library using `android_library` from `rules_android`
* - `android_proto_compile <#android_proto_compile>`_
- Generates an Android protobuf ``.jar`` file
* - `android_grpc_compile <#android_grpc_compile>`_
- Generates Android protobuf and gRPC ``.jar`` files
* - `android_proto_library <#android_proto_library>`_
- Generates an Android protobuf library using ``android_library`` from ``rules_android``
* - `android_grpc_library <#android_grpc_library>`_
- Generates Android protobuf and gRPC library using ``android_library`` from ``rules_android``
``android_proto_compile``
-------------------------
Generates an Android protobuf `.jar` file
Generates an Android protobuf ``.jar`` file
``WORKSPACE``
*************
@ -57,7 +57,7 @@ Generates an Android protobuf `.jar` file
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for android_proto_compile
:header-rows: 1
* - Name
@ -65,30 +65,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -99,7 +99,7 @@ Plugins
``android_grpc_compile``
------------------------
Generates Android protobuf and gRPC `.jar` files
Generates Android protobuf and gRPC ``.jar`` files
``WORKSPACE``
*************
@ -148,7 +148,7 @@ Generates Android protobuf and gRPC `.jar` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for android_grpc_compile
:header-rows: 1
* - Name
@ -156,30 +156,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -191,7 +191,7 @@ Plugins
``android_proto_library``
-------------------------
Generates an Android protobuf library using `android_library` from `rules_android`
Generates an Android protobuf library using ``android_library`` from ``rules_android``
``WORKSPACE``
*************
@ -253,7 +253,7 @@ Generates an Android protobuf library using `android_library` from `rules_androi
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for android_proto_library
:header-rows: 1
* - Name
@ -261,46 +261,46 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `exports`
- `label_list`
* - ``exports``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as exports attr to underlying lang_library rule
``android_grpc_library``
------------------------
Generates Android protobuf and gRPC library using `android_library` from `rules_android`
Generates Android protobuf and gRPC library using ``android_library`` from ``rules_android``
``WORKSPACE``
*************
@ -354,7 +354,7 @@ Generates Android protobuf and gRPC library using `android_library` from `rules_
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for android_grpc_library
:header-rows: 1
* - Name
@ -362,38 +362,38 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `exports`
- `label_list`
* - ``exports``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as exports attr to underlying lang_library rule

View File

@ -1,7 +1,7 @@
Buf rules
=========
Rules for linting and detecting breaking changes in .proto files with [Buf](https://buf.build).
Rules for linting and detecting breaking changes in .proto files with `Buf <https://buf.build>`_.
Note that these rules behave differently from the other rules in this repo, since these produce no output and are instead used as tests.
@ -13,15 +13,15 @@ Only Linux and Darwin (MacOS) is currently supported by Buf.
* - Rule
- Description
* - `buf_proto_breaking_test <buf_proto_breaking_test>`_
* - `buf_proto_breaking_test <#buf_proto_breaking_test>`_
- Checks .proto files for breaking changes
* - `buf_proto_lint_test <buf_proto_lint_test>`_
* - `buf_proto_lint_test <#buf_proto_lint_test>`_
- Lints .proto files
``buf_proto_breaking_test``
---------------------------
.. note:: This rule is experimental. It may not work correctly!
**Note**: This rule is experimental. It may not work correctly!
Checks .proto files for breaking changes
@ -55,7 +55,7 @@ Checks .proto files for breaking changes
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for buf_proto_breaking_test
:header-rows: 1
* - Name
@ -63,30 +63,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- `[]`
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `against_input`
- `label`
- ``[]``
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``against_input``
- ``label``
- true
- ``
- ````
- Label of an existing input image file to check against (.json or .bin)
* - `use_rules`
- `string_list`
* - ``use_rules``
- ``string_list``
- false
- `["FILE"]`
- ``["FILE"]``
- List of Buf breaking rule IDs or categories to use
* - `except_rules`
- `string_list`
* - ``except_rules``
- ``string_list``
- false
- `[]`
- ``[]``
- List of Buf breaking rule IDs or categories to drop
* - `ignore_unstable_packages`
- `bool`
* - ``ignore_unstable_packages``
- ``bool``
- false
- `False`
- ``False``
- Whether to ignore breaking changes in unstable package versions
Plugins
@ -97,7 +97,7 @@ Plugins
``buf_proto_lint_test``
-----------------------
.. note:: This rule is experimental. It may not work correctly!
**Note**: This rule is experimental. It may not work correctly!
Lints .proto files
@ -167,7 +167,7 @@ Lints .proto files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for buf_proto_lint_test
:header-rows: 1
* - Name
@ -175,45 +175,45 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `use_rules`
- `string_list`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``use_rules``
- ``string_list``
- false
- `["DEFAULT"]`
- ``["DEFAULT"]``
- List of Buf lint rule IDs or categories to use
* - `except_rules`
- `string_list`
* - ``except_rules``
- ``string_list``
- false
- `[]`
- ``[]``
- List of Buf lint rule IDs or categories to drop
* - `enum_zero_value_suffix`
- `string`
* - ``enum_zero_value_suffix``
- ``string``
- false
- `"_UNSPECIFIED"`
- ``"_UNSPECIFIED"``
- Specify the allowed suffix for the zero enum value
* - `rpc_allow_same_request_response`
- `bool`
* - ``rpc_allow_same_request_response``
- ``bool``
- false
- `False`
- ``False``
- Allow request and response message to be reused in a single RPC
* - `rpc_allow_google_protobuf_empty_requests`
- `bool`
* - ``rpc_allow_google_protobuf_empty_requests``
- ``bool``
- false
- `False`
- Allow request message to be `google.protobuf.Empty`
* - `rpc_allow_google_protobuf_empty_responses`
- `bool`
- ``False``
- Allow request message to be ``google.protobuf.Empty``
* - ``rpc_allow_google_protobuf_empty_responses``
- ``bool``
- false
- `False`
- Allow response message to be `google.protobuf.Empty`
* - `service_suffix`
- `string`
- ``False``
- Allow response message to be ``google.protobuf.Empty``
* - ``service_suffix``
- ``string``
- false
- `"Service"`
- ``"Service"``
- The suffix to allow for services
Plugins

View File

@ -17,7 +17,7 @@ buf_proto_breaking_test = rule(
providers = [ProtoInfo],
default = [],
mandatory = True,
doc = "List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)",
doc = "List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)",
),
against_input = attr.label(
allow_single_file = [".bin", ".json"],

View File

@ -16,7 +16,7 @@ buf_proto_lint_test = rule(
protos = attr.label_list(
providers = [ProtoInfo],
mandatory = True,
doc = "List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)",
doc = "List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)",
),
use_rules = attr.string_list(
default = ["DEFAULT"],
@ -41,12 +41,12 @@ buf_proto_lint_test = rule(
rpc_allow_google_protobuf_empty_requests = attr.bool(
default = False,
mandatory = False,
doc = "Allow request message to be `google.protobuf.Empty`",
doc = "Allow request message to be ``google.protobuf.Empty``",
),
rpc_allow_google_protobuf_empty_responses = attr.bool(
default = False,
mandatory = False,
doc = "Allow response message to be `google.protobuf.Empty`",
doc = "Allow response message to be ``google.protobuf.Empty``",
),
service_suffix = attr.string(
default = "Service",

View File

@ -1,7 +1,7 @@
C rules
=======
Rules for generating C protobuf `.c` & `.h` files and libraries using [upb](https://github.com/protocolbuffers/upb). Libraries are created with the Bazel native `cc_library`
Rules for generating C protobuf ``.c`` & ``.h`` files and libraries using `upb <https://github.com/protocolbuffers/upb>`_. Libraries are created with the Bazel native ``cc_library``
.. list-table:: Rules
:widths: 1 1
@ -9,17 +9,17 @@ Rules for generating C protobuf `.c` & `.h` files and libraries using [upb](http
* - Rule
- Description
* - `c_proto_compile <c_proto_compile>`_
- Generates C protobuf `.h` & `.c` files
* - `c_proto_library <c_proto_library>`_
- Generates a C protobuf library using `cc_library`, with dependencies linked
* - `c_proto_compile <#c_proto_compile>`_
- Generates C protobuf ``.h`` & ``.c`` files
* - `c_proto_library <#c_proto_library>`_
- Generates a C protobuf library using ``cc_library``, with dependencies linked
``c_proto_compile``
-------------------
.. note:: This rule is experimental. It may not work correctly!
**Note**: This rule is experimental. It may not work correctly!
Generates C protobuf `.h` & `.c` files
Generates C protobuf ``.h`` & ``.c`` files
``WORKSPACE``
*************
@ -59,7 +59,7 @@ Generates C protobuf `.h` & `.c` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for c_proto_compile
:header-rows: 1
* - Name
@ -67,30 +67,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -101,9 +101,9 @@ Plugins
``c_proto_library``
-------------------
.. note:: This rule is experimental. It may not work correctly!
**Note**: This rule is experimental. It may not work correctly!
Generates a C protobuf library using `cc_library`, with dependencies linked
Generates a C protobuf library using ``cc_library``, with dependencies linked
``WORKSPACE``
*************
@ -139,7 +139,7 @@ Generates a C protobuf library using `cc_library`, with dependencies linked
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for c_proto_library
:header-rows: 1
* - Name
@ -147,78 +147,78 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `alwayslink`
- `bool`
* - ``alwayslink``
- ``bool``
- false
- `None`
- Passed to the `alwayslink` attribute of `cc_library`.
* - `copts`
- `string_list`
- ``None``
- Passed to the ``alwayslink`` attribute of ``cc_library``.
* - ``copts``
- ``string_list``
- false
- `None`
- Passed to the `opts` attribute of `cc_library`.
* - `defines`
- `string_list`
- ``None``
- Passed to the ``opts`` attribute of ``cc_library``.
* - ``defines``
- ``string_list``
- false
- `None`
- Passed to the `defines` attribute of `cc_library`.
* - `include_prefix`
- `string`
- ``None``
- Passed to the ``defines`` attribute of ``cc_library``.
* - ``include_prefix``
- ``string``
- false
- `None`
- Passed to the `include_prefix` attribute of `cc_library`.
* - `linkopts`
- `string_list`
- ``None``
- Passed to the ``include_prefix`` attribute of ``cc_library``.
* - ``linkopts``
- ``string_list``
- false
- `None`
- Passed to the `linkopts` attribute of `cc_library`.
* - `linkstatic`
- `bool`
- ``None``
- Passed to the ``linkopts`` attribute of ``cc_library``.
* - ``linkstatic``
- ``bool``
- false
- `None`
- Passed to the `linkstatic` attribute of `cc_library`.
* - `local_defines`
- `string_list`
- ``None``
- Passed to the ``linkstatic`` attribute of ``cc_library``.
* - ``local_defines``
- ``string_list``
- false
- `None`
- Passed to the `local_defines` attribute of `cc_library`.
* - `nocopts`
- `string`
- ``None``
- Passed to the ``local_defines`` attribute of ``cc_library``.
* - ``nocopts``
- ``string``
- false
- `None`
- Passed to the `nocopts` attribute of `cc_library`.
* - `strip_include_prefix`
- `string`
- ``None``
- Passed to the ``nocopts`` attribute of ``cc_library``.
* - ``strip_include_prefix``
- ``string``
- false
- `None`
- Passed to the `strip_include_prefix` attribute of `cc_library`.
- ``None``
- Passed to the ``strip_include_prefix`` attribute of ``cc_library``.

View File

@ -1,7 +1,7 @@
C++ rules
=========
Rules for generating C++ protobuf and gRPC `.cc` & `.h` files and libraries using standard Protocol Buffers and gRPC. Libraries are created with the Bazel native `cc_library`
Rules for generating C++ protobuf and gRPC ``.cc`` & ``.h`` files and libraries using standard Protocol Buffers and gRPC. Libraries are created with the Bazel native ``cc_library``
.. list-table:: Rules
:widths: 1 1
@ -9,19 +9,19 @@ Rules for generating C++ protobuf and gRPC `.cc` & `.h` files and libraries usin
* - Rule
- Description
* - `cpp_proto_compile <cpp_proto_compile>`_
- Generates C++ protobuf `.h` & `.cc` files
* - `cpp_grpc_compile <cpp_grpc_compile>`_
- Generates C++ protobuf and gRPC `.h` & `.cc` files
* - `cpp_proto_library <cpp_proto_library>`_
- Generates a C++ protobuf library using `cc_library`, with dependencies linked
* - `cpp_grpc_library <cpp_grpc_library>`_
- Generates a C++ protobuf and gRPC library using `cc_library`, with dependencies linked
* - `cpp_proto_compile <#cpp_proto_compile>`_
- Generates C++ protobuf ``.h`` & ``.cc`` files
* - `cpp_grpc_compile <#cpp_grpc_compile>`_
- Generates C++ protobuf and gRPC ``.h`` & ``.cc`` files
* - `cpp_proto_library <#cpp_proto_library>`_
- Generates a C++ protobuf library using ``cc_library``, with dependencies linked
* - `cpp_grpc_library <#cpp_grpc_library>`_
- Generates a C++ protobuf and gRPC library using ``cc_library``, with dependencies linked
``cpp_proto_compile``
---------------------
Generates C++ protobuf `.h` & `.cc` files
Generates C++ protobuf ``.h`` & ``.cc`` files
``WORKSPACE``
*************
@ -57,7 +57,7 @@ Generates C++ protobuf `.h` & `.cc` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for cpp_proto_compile
:header-rows: 1
* - Name
@ -65,30 +65,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -99,7 +99,7 @@ Plugins
``cpp_grpc_compile``
--------------------
Generates C++ protobuf and gRPC `.h` & `.cc` files
Generates C++ protobuf and gRPC ``.h`` & ``.cc`` files
``WORKSPACE``
*************
@ -134,7 +134,7 @@ Generates C++ protobuf and gRPC `.h` & `.cc` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for cpp_grpc_compile
:header-rows: 1
* - Name
@ -142,30 +142,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -177,7 +177,7 @@ Plugins
``cpp_proto_library``
---------------------
Generates a C++ protobuf library using `cc_library`, with dependencies linked
Generates a C++ protobuf library using ``cc_library``, with dependencies linked
``WORKSPACE``
*************
@ -215,7 +215,7 @@ Generates a C++ protobuf library using `cc_library`, with dependencies linked
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for cpp_proto_library
:header-rows: 1
* - Name
@ -223,86 +223,86 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `alwayslink`
- `bool`
* - ``alwayslink``
- ``bool``
- false
- `None`
- Passed to the `alwayslink` attribute of `cc_library`.
* - `copts`
- `string_list`
- ``None``
- Passed to the ``alwayslink`` attribute of ``cc_library``.
* - ``copts``
- ``string_list``
- false
- `None`
- Passed to the `opts` attribute of `cc_library`.
* - `defines`
- `string_list`
- ``None``
- Passed to the ``opts`` attribute of ``cc_library``.
* - ``defines``
- ``string_list``
- false
- `None`
- Passed to the `defines` attribute of `cc_library`.
* - `include_prefix`
- `string`
- ``None``
- Passed to the ``defines`` attribute of ``cc_library``.
* - ``include_prefix``
- ``string``
- false
- `None`
- Passed to the `include_prefix` attribute of `cc_library`.
* - `linkopts`
- `string_list`
- ``None``
- Passed to the ``include_prefix`` attribute of ``cc_library``.
* - ``linkopts``
- ``string_list``
- false
- `None`
- Passed to the `linkopts` attribute of `cc_library`.
* - `linkstatic`
- `bool`
- ``None``
- Passed to the ``linkopts`` attribute of ``cc_library``.
* - ``linkstatic``
- ``bool``
- false
- `None`
- Passed to the `linkstatic` attribute of `cc_library`.
* - `local_defines`
- `string_list`
- ``None``
- Passed to the ``linkstatic`` attribute of ``cc_library``.
* - ``local_defines``
- ``string_list``
- false
- `None`
- Passed to the `local_defines` attribute of `cc_library`.
* - `nocopts`
- `string`
- ``None``
- Passed to the ``local_defines`` attribute of ``cc_library``.
* - ``nocopts``
- ``string``
- false
- `None`
- Passed to the `nocopts` attribute of `cc_library`.
* - `strip_include_prefix`
- `string`
- ``None``
- Passed to the ``nocopts`` attribute of ``cc_library``.
* - ``strip_include_prefix``
- ``string``
- false
- `None`
- Passed to the `strip_include_prefix` attribute of `cc_library`.
- ``None``
- Passed to the ``strip_include_prefix`` attribute of ``cc_library``.
``cpp_grpc_library``
--------------------
Generates a C++ protobuf and gRPC library using `cc_library`, with dependencies linked
Generates a C++ protobuf and gRPC library using ``cc_library``, with dependencies linked
``WORKSPACE``
*************
@ -338,7 +338,7 @@ Generates a C++ protobuf and gRPC library using `cc_library`, with dependencies
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for cpp_grpc_library
:header-rows: 1
* - Name
@ -346,78 +346,78 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `alwayslink`
- `bool`
* - ``alwayslink``
- ``bool``
- false
- `None`
- Passed to the `alwayslink` attribute of `cc_library`.
* - `copts`
- `string_list`
- ``None``
- Passed to the ``alwayslink`` attribute of ``cc_library``.
* - ``copts``
- ``string_list``
- false
- `None`
- Passed to the `opts` attribute of `cc_library`.
* - `defines`
- `string_list`
- ``None``
- Passed to the ``opts`` attribute of ``cc_library``.
* - ``defines``
- ``string_list``
- false
- `None`
- Passed to the `defines` attribute of `cc_library`.
* - `include_prefix`
- `string`
- ``None``
- Passed to the ``defines`` attribute of ``cc_library``.
* - ``include_prefix``
- ``string``
- false
- `None`
- Passed to the `include_prefix` attribute of `cc_library`.
* - `linkopts`
- `string_list`
- ``None``
- Passed to the ``include_prefix`` attribute of ``cc_library``.
* - ``linkopts``
- ``string_list``
- false
- `None`
- Passed to the `linkopts` attribute of `cc_library`.
* - `linkstatic`
- `bool`
- ``None``
- Passed to the ``linkopts`` attribute of ``cc_library``.
* - ``linkstatic``
- ``bool``
- false
- `None`
- Passed to the `linkstatic` attribute of `cc_library`.
* - `local_defines`
- `string_list`
- ``None``
- Passed to the ``linkstatic`` attribute of ``cc_library``.
* - ``local_defines``
- ``string_list``
- false
- `None`
- Passed to the `local_defines` attribute of `cc_library`.
* - `nocopts`
- `string`
- ``None``
- Passed to the ``local_defines`` attribute of ``cc_library``.
* - ``nocopts``
- ``string``
- false
- `None`
- Passed to the `nocopts` attribute of `cc_library`.
* - `strip_include_prefix`
- `string`
- ``None``
- Passed to the ``nocopts`` attribute of ``cc_library``.
* - ``strip_include_prefix``
- ``string``
- false
- `None`
- Passed to the `strip_include_prefix` attribute of `cc_library`.
- ``None``
- Passed to the ``strip_include_prefix`` attribute of ``cc_library``.

View File

@ -1,7 +1,7 @@
C# rules
========
Rules for generating C# protobuf and gRPC `.cs` files and libraries using standard Protocol Buffers and gRPC. Libraries are created with `csharp_library` from [rules_dotnet](https://github.com/bazelbuild/rules_dotnet)
Rules for generating C# protobuf and gRPC ``.cs`` files and libraries using standard Protocol Buffers and gRPC. Libraries are created with ``csharp_library`` from `rules_dotnet <https://github.com/bazelbuild/rules_dotnet>`_
.. list-table:: Rules
:widths: 1 1
@ -9,19 +9,19 @@ Rules for generating C# protobuf and gRPC `.cs` files and libraries using standa
* - Rule
- Description
* - `csharp_proto_compile <csharp_proto_compile>`_
- Generates C# protobuf `.cs` files
* - `csharp_grpc_compile <csharp_grpc_compile>`_
- Generates C# protobuf and gRPC `.cs` files
* - `csharp_proto_library <csharp_proto_library>`_
- Generates a C# protobuf library using `csharp_library` from `rules_dotnet`. Note that the library name must end in `.dll`
* - `csharp_grpc_library <csharp_grpc_library>`_
- Generates a C# protobuf and gRPC library using `csharp_library` from `rules_dotnet`. Note that the library name must end in `.dll`
* - `csharp_proto_compile <#csharp_proto_compile>`_
- Generates C# protobuf ``.cs`` files
* - `csharp_grpc_compile <#csharp_grpc_compile>`_
- Generates C# protobuf and gRPC ``.cs`` files
* - `csharp_proto_library <#csharp_proto_library>`_
- Generates a C# protobuf library using ``csharp_library`` from ``rules_dotnet``. Note that the library name must end in ``.dll``
* - `csharp_grpc_library <#csharp_grpc_library>`_
- Generates a C# protobuf and gRPC library using ``csharp_library`` from ``rules_dotnet``. Note that the library name must end in ``.dll``
``csharp_proto_compile``
------------------------
Generates C# protobuf `.cs` files
Generates C# protobuf ``.cs`` files
``WORKSPACE``
*************
@ -75,7 +75,7 @@ Generates C# protobuf `.cs` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for csharp_proto_compile
:header-rows: 1
* - Name
@ -83,30 +83,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -117,7 +117,7 @@ Plugins
``csharp_grpc_compile``
-----------------------
Generates C# protobuf and gRPC `.cs` files
Generates C# protobuf and gRPC ``.cs`` files
``WORKSPACE``
*************
@ -169,7 +169,7 @@ Generates C# protobuf and gRPC `.cs` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for csharp_grpc_compile
:header-rows: 1
* - Name
@ -177,30 +177,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -212,7 +212,7 @@ Plugins
``csharp_proto_library``
------------------------
Generates a C# protobuf library using `csharp_library` from `rules_dotnet`. Note that the library name must end in `.dll`
Generates a C# protobuf library using ``csharp_library`` from ``rules_dotnet``. Note that the library name must end in ``.dll``
``WORKSPACE``
*************
@ -268,7 +268,7 @@ Generates a C# protobuf library using `csharp_library` from `rules_dotnet`. Note
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for csharp_proto_library
:header-rows: 1
* - Name
@ -276,41 +276,41 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
``csharp_grpc_library``
-----------------------
Generates a C# protobuf and gRPC library using `csharp_library` from `rules_dotnet`. Note that the library name must end in `.dll`
Generates a C# protobuf and gRPC library using ``csharp_library`` from ``rules_dotnet``. Note that the library name must end in ``.dll``
``WORKSPACE``
*************
@ -363,7 +363,7 @@ Generates a C# protobuf and gRPC library using `csharp_library` from `rules_dotn
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for csharp_grpc_library
:header-rows: 1
* - Name
@ -371,33 +371,33 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule

View File

@ -1,7 +1,7 @@
D rules
=======
Rules for generating D protobuf `.d` files and libraries using [protobuf-d](https://github.com/dcarp/protobuf-d). Libraries are created with `d_library` from [rules_d](https://github.com/bazelbuild/rules_d)
Rules for generating D protobuf ``.d`` files and libraries using `protobuf-d <https://github.com/dcarp/protobuf-d>`_. Libraries are created with ``d_library`` from `rules_d <https://github.com/bazelbuild/rules_d>`_
**NOTE**: These rules use the protoc-gen-d plugin, which only supports proto3 .proto files.
@ -11,15 +11,15 @@ Rules for generating D protobuf `.d` files and libraries using [protobuf-d](http
* - Rule
- Description
* - `d_proto_compile <d_proto_compile>`_
- Generates D protobuf `.d` files
* - `d_proto_library <d_proto_library>`_
- Generates a D protobuf library using `d_library` from `rules_d`
* - `d_proto_compile <#d_proto_compile>`_
- Generates D protobuf ``.d`` files
* - `d_proto_library <#d_proto_library>`_
- Generates a D protobuf library using ``d_library`` from ``rules_d``
``d_proto_compile``
-------------------
Generates D protobuf `.d` files
Generates D protobuf ``.d`` files
``WORKSPACE``
*************
@ -59,7 +59,7 @@ Generates D protobuf `.d` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for d_proto_compile
:header-rows: 1
* - Name
@ -67,30 +67,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -101,7 +101,7 @@ Plugins
``d_proto_library``
-------------------
Generates a D protobuf library using `d_library` from `rules_d`
Generates a D protobuf library using ``d_library`` from ``rules_d``
``WORKSPACE``
*************
@ -143,7 +143,7 @@ Generates a D protobuf library using `d_library` from `rules_d`
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for d_proto_library
:header-rows: 1
* - Name
@ -151,28 +151,28 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options

View File

@ -1,7 +1,7 @@
Documentation rules
===================
Rules for generating protobuf Markdown, JSON, HTML or DocBook documentation with [protoc-gen-doc](https://github.com/pseudomuto/protoc-gen-doc)
Rules for generating protobuf Markdown, JSON, HTML or DocBook documentation with `protoc-gen-doc <https://github.com/pseudomuto/protoc-gen-doc>`_
.. list-table:: Rules
:widths: 1 1
@ -9,21 +9,21 @@ Rules for generating protobuf Markdown, JSON, HTML or DocBook documentation with
* - Rule
- Description
* - `doc_docbook_compile <doc_docbook_compile>`_
- Generates DocBook `.xml` documentation file
* - `doc_html_compile <doc_html_compile>`_
- Generates `.html` documentation file
* - `doc_json_compile <doc_json_compile>`_
- Generates `.json` documentation file
* - `doc_markdown_compile <doc_markdown_compile>`_
- Generates Markdown `.md` documentation file
* - `doc_docbook_compile <#doc_docbook_compile>`_
- Generates DocBook ``.xml`` documentation file
* - `doc_html_compile <#doc_html_compile>`_
- Generates ``.html`` documentation file
* - `doc_json_compile <#doc_json_compile>`_
- Generates ``.json`` documentation file
* - `doc_markdown_compile <#doc_markdown_compile>`_
- Generates Markdown ``.md`` documentation file
``doc_docbook_compile``
-----------------------
.. note:: This rule is experimental. It may not work correctly!
**Note**: This rule is experimental. It may not work correctly!
Generates DocBook `.xml` documentation file
Generates DocBook ``.xml`` documentation file
``WORKSPACE``
*************
@ -59,7 +59,7 @@ Generates DocBook `.xml` documentation file
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for doc_docbook_compile
:header-rows: 1
* - Name
@ -67,30 +67,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -101,9 +101,9 @@ Plugins
``doc_html_compile``
--------------------
.. note:: This rule is experimental. It may not work correctly!
**Note**: This rule is experimental. It may not work correctly!
Generates `.html` documentation file
Generates ``.html`` documentation file
``WORKSPACE``
*************
@ -139,7 +139,7 @@ Generates `.html` documentation file
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for doc_html_compile
:header-rows: 1
* - Name
@ -147,30 +147,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -181,9 +181,9 @@ Plugins
``doc_json_compile``
--------------------
.. note:: This rule is experimental. It may not work correctly!
**Note**: This rule is experimental. It may not work correctly!
Generates `.json` documentation file
Generates ``.json`` documentation file
``WORKSPACE``
*************
@ -219,7 +219,7 @@ Generates `.json` documentation file
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for doc_json_compile
:header-rows: 1
* - Name
@ -227,30 +227,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -261,9 +261,9 @@ Plugins
``doc_markdown_compile``
------------------------
.. note:: This rule is experimental. It may not work correctly!
**Note**: This rule is experimental. It may not work correctly!
Generates Markdown `.md` documentation file
Generates Markdown ``.md`` documentation file
``WORKSPACE``
*************
@ -299,7 +299,7 @@ Generates Markdown `.md` documentation file
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for doc_markdown_compile
:header-rows: 1
* - Name
@ -307,30 +307,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins

View File

@ -1,7 +1,7 @@
Go rules
========
Rules for generating Go protobuf and gRPC `.go` files and libraries using [golang/protobuf](https://github.com/golang/protobuf). Libraries are created with `go_library` from [rules_go](https://github.com/bazelbuild/rules_go)
Rules for generating Go protobuf and gRPC ``.go`` files and libraries using `golang/protobuf <https://github.com/golang/protobuf>`_. Libraries are created with ``go_library`` from `rules_go <https://github.com/bazelbuild/rules_go>`_
.. list-table:: Rules
:widths: 1 1
@ -9,19 +9,19 @@ Rules for generating Go protobuf and gRPC `.go` files and libraries using [golan
* - Rule
- Description
* - `go_proto_compile <go_proto_compile>`_
- Generates Go protobuf `.go` files
* - `go_grpc_compile <go_grpc_compile>`_
- Generates Go protobuf and gRPC `.go` files
* - `go_proto_library <go_proto_library>`_
- Generates a Go protobuf library using `go_library` from `rules_go`
* - `go_grpc_library <go_grpc_library>`_
- Generates a Go protobuf and gRPC library using `go_library` from `rules_go`
* - `go_proto_compile <#go_proto_compile>`_
- Generates Go protobuf ``.go`` files
* - `go_grpc_compile <#go_grpc_compile>`_
- Generates Go protobuf and gRPC ``.go`` files
* - `go_proto_library <#go_proto_library>`_
- Generates a Go protobuf library using ``go_library`` from ``rules_go``
* - `go_grpc_library <#go_grpc_library>`_
- Generates a Go protobuf and gRPC library using ``go_library`` from ``rules_go``
``go_proto_compile``
--------------------
Generates Go protobuf `.go` files
Generates Go protobuf ``.go`` files
``WORKSPACE``
*************
@ -75,7 +75,7 @@ Generates Go protobuf `.go` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for go_proto_compile
:header-rows: 1
* - Name
@ -83,30 +83,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -117,7 +117,7 @@ Plugins
``go_grpc_compile``
-------------------
Generates Go protobuf and gRPC `.go` files
Generates Go protobuf and gRPC ``.go`` files
``WORKSPACE``
*************
@ -166,7 +166,7 @@ Generates Go protobuf and gRPC `.go` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for go_grpc_compile
:header-rows: 1
* - Name
@ -174,30 +174,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -209,7 +209,7 @@ Plugins
``go_proto_library``
--------------------
Generates a Go protobuf library using `go_library` from `rules_go`
Generates a Go protobuf library using ``go_library`` from ``rules_go``
``WORKSPACE``
*************
@ -258,7 +258,7 @@ Generates a Go protobuf library using `go_library` from `rules_go`
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for go_proto_library
:header-rows: 1
* - Name
@ -266,46 +266,46 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `importpath`
- `string`
* - ``importpath``
- ``string``
- false
- `None`
- ``None``
- Importpath for the generated files
``go_grpc_library``
-------------------
Generates a Go protobuf and gRPC library using `go_library` from `rules_go`
Generates a Go protobuf and gRPC library using ``go_library`` from ``rules_go``
``WORKSPACE``
*************
@ -353,7 +353,7 @@ Generates a Go protobuf and gRPC library using `go_library` from `rules_go`
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for go_grpc_library
:header-rows: 1
* - Name
@ -361,38 +361,38 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `importpath`
- `string`
* - ``importpath``
- ``string``
- false
- `None`
- ``None``
- Importpath for the generated files

View File

@ -7,17 +7,17 @@ grpc-gateway rules
* - Rule
- Description
* - `gateway_grpc_compile <gateway_grpc_compile>`_
- Generates grpc-gateway `.go` files
* - `gateway_openapiv2_compile <gateway_openapiv2_compile>`_
- Generates grpc-gateway OpenAPI v2 `.json` files
* - `gateway_grpc_library <gateway_grpc_library>`_
* - `gateway_grpc_compile <#gateway_grpc_compile>`_
- Generates grpc-gateway ``.go`` files
* - `gateway_openapiv2_compile <#gateway_openapiv2_compile>`_
- Generates grpc-gateway OpenAPI v2 ``.json`` files
* - `gateway_grpc_library <#gateway_grpc_library>`_
- Generates grpc-gateway library files
``gateway_grpc_compile``
------------------------
Generates grpc-gateway `.go` files
Generates grpc-gateway ``.go`` files
``WORKSPACE``
*************
@ -65,7 +65,7 @@ Generates grpc-gateway `.go` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for gateway_grpc_compile
:header-rows: 1
* - Name
@ -73,30 +73,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -109,7 +109,7 @@ Plugins
``gateway_openapiv2_compile``
-----------------------------
Generates grpc-gateway OpenAPI v2 `.json` files
Generates grpc-gateway OpenAPI v2 ``.json`` files
``WORKSPACE``
*************
@ -157,7 +157,7 @@ Generates grpc-gateway OpenAPI v2 `.json` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for gateway_openapiv2_compile
:header-rows: 1
* - Name
@ -165,30 +165,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -248,7 +248,7 @@ Generates grpc-gateway library files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for gateway_grpc_library
:header-rows: 1
* - Name
@ -256,38 +256,38 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `importpath`
- `string`
* - ``importpath``
- ``string``
- false
- `None`
- ``None``
- Importpath for the generated files

View File

@ -1,7 +1,7 @@
Java rules
==========
Rules for generating Java protobuf and gRPC `.jar` files and libraries using standard Protocol Buffers and [gRPC-Java](https://github.com/grpc/grpc-java). Libraries are created with the Bazel native `java_library`
Rules for generating Java protobuf and gRPC ``.jar`` files and libraries using standard Protocol Buffers and `gRPC-Java <https://github.com/grpc/grpc-java>`_. Libraries are created with the Bazel native ``java_library``
.. list-table:: Rules
:widths: 1 1
@ -9,14 +9,14 @@ Rules for generating Java protobuf and gRPC `.jar` files and libraries using sta
* - Rule
- Description
* - `java_proto_compile <java_proto_compile>`_
* - `java_proto_compile <#java_proto_compile>`_
- Generates a Java protobuf srcjar file
* - `java_grpc_compile <java_grpc_compile>`_
* - `java_grpc_compile <#java_grpc_compile>`_
- Generates a Java protobuf and gRPC srcjar file
* - `java_proto_library <java_proto_library>`_
- Generates a Java protobuf library using `java_library`
* - `java_grpc_library <java_grpc_library>`_
- Generates a Java protobuf and gRPC library using `java_library`
* - `java_proto_library <#java_proto_library>`_
- Generates a Java protobuf library using ``java_library``
* - `java_grpc_library <#java_grpc_library>`_
- Generates a Java protobuf and gRPC library using ``java_library``
``java_proto_compile``
----------------------
@ -57,7 +57,7 @@ Generates a Java protobuf srcjar file
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for java_proto_compile
:header-rows: 1
* - Name
@ -65,30 +65,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -130,7 +130,7 @@ Generates a Java protobuf and gRPC srcjar file
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for java_grpc_compile
:header-rows: 1
* - Name
@ -138,30 +138,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -173,7 +173,7 @@ Plugins
``java_proto_library``
----------------------
Generates a Java protobuf library using `java_library`
Generates a Java protobuf library using ``java_library``
``WORKSPACE``
*************
@ -211,7 +211,7 @@ Generates a Java protobuf library using `java_library`
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for java_proto_library
:header-rows: 1
* - Name
@ -219,46 +219,46 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `exports`
- `label_list`
* - ``exports``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as exports attr to underlying lang_library rule
``java_grpc_library``
---------------------
Generates a Java protobuf and gRPC library using `java_library`
Generates a Java protobuf and gRPC library using ``java_library``
``WORKSPACE``
*************
@ -308,7 +308,7 @@ Generates a Java protobuf and gRPC library using `java_library`
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for java_grpc_library
:header-rows: 1
* - Name
@ -316,38 +316,38 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `exports`
- `label_list`
* - ``exports``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as exports attr to underlying lang_library rule

View File

@ -1,18 +1,20 @@
JavaScript rules
================
Rules for generating JavaScript protobuf, gRPC-node and gRPC-Web `.js` and `.d.ts` files using standard Protocol Buffers and gRPC.
Rules for generating JavaScript protobuf, gRPC-node and gRPC-Web ``.js`` and ``.d.ts`` files using standard Protocol Buffers and gRPC.
**Note**: You must add the required dependencies to your package.json file:
.. code-block:: json
"dependencies": {
"@grpc/grpc-js": "1.2.6",
"google-protobuf": "3.15.3",
"grpc-tools": "1.10.0",
"grpc-web": "1.2.1",
"ts-protoc-gen": "0.14.0"
}
> Note that you must add the required dependencies to your package.json file:
> ```json
> "dependencies": {
> "@grpc/grpc-js": "1.2.6",
> "google-protobuf": "3.15.3",
> "grpc-tools": "1.10.0",
> "grpc-web": "1.2.1",
> "ts-protoc-gen": "0.14.0"
> }
> ```
.. list-table:: Rules
:widths: 1 1
@ -20,23 +22,23 @@ Rules for generating JavaScript protobuf, gRPC-node and gRPC-Web `.js` and `.d.t
* - Rule
- Description
* - `js_proto_compile <js_proto_compile>`_
- Generates JavaScript protobuf `.js` and `.d.ts` files
* - `js_grpc_node_compile <js_grpc_node_compile>`_
- Generates JavaScript protobuf and gRPC-node `.js` and `.d.ts` files
* - `js_grpc_web_compile <js_grpc_web_compile>`_
- Generates JavaScript protobuf and gRPC-Web `.js` and `.d.ts` files
* - `js_proto_library <js_proto_library>`_
- Generates a JavaScript protobuf library using `js_library` from `rules_nodejs`
* - `js_grpc_node_library <js_grpc_node_library>`_
- Generates a Node.js protobuf + gRPC-node library using `js_library` from `rules_nodejs`
* - `js_grpc_web_library <js_grpc_web_library>`_
- Generates a JavaScript protobuf + gRPC-Web library using `js_library` from `rules_nodejs`
* - `js_proto_compile <#js_proto_compile>`_
- Generates JavaScript protobuf ``.js`` and ``.d.ts`` files
* - `js_grpc_node_compile <#js_grpc_node_compile>`_
- Generates JavaScript protobuf and gRPC-node ``.js`` and ``.d.ts`` files
* - `js_grpc_web_compile <#js_grpc_web_compile>`_
- Generates JavaScript protobuf and gRPC-Web ``.js`` and ``.d.ts`` files
* - `js_proto_library <#js_proto_library>`_
- Generates a JavaScript protobuf library using ``js_library`` from ``rules_nodejs``
* - `js_grpc_node_library <#js_grpc_node_library>`_
- Generates a Node.js protobuf + gRPC-node library using ``js_library`` from ``rules_nodejs``
* - `js_grpc_web_library <#js_grpc_web_library>`_
- Generates a JavaScript protobuf + gRPC-Web library using ``js_library`` from ``rules_nodejs``
``js_proto_compile``
--------------------
Generates JavaScript protobuf `.js` and `.d.ts` files
Generates JavaScript protobuf ``.js`` and ``.d.ts`` files
``WORKSPACE``
*************
@ -80,7 +82,7 @@ Generates JavaScript protobuf `.js` and `.d.ts` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for js_proto_compile
:header-rows: 1
* - Name
@ -88,30 +90,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -123,7 +125,7 @@ Plugins
``js_grpc_node_compile``
------------------------
Generates JavaScript protobuf and gRPC-node `.js` and `.d.ts` files
Generates JavaScript protobuf and gRPC-node ``.js`` and ``.d.ts`` files
``WORKSPACE``
*************
@ -162,7 +164,7 @@ Generates JavaScript protobuf and gRPC-node `.js` and `.d.ts` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for js_grpc_node_compile
:header-rows: 1
* - Name
@ -170,30 +172,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -207,7 +209,7 @@ Plugins
``js_grpc_web_compile``
-----------------------
Generates JavaScript protobuf and gRPC-Web `.js` and `.d.ts` files
Generates JavaScript protobuf and gRPC-Web ``.js`` and ``.d.ts`` files
``WORKSPACE``
*************
@ -246,7 +248,7 @@ Generates JavaScript protobuf and gRPC-Web `.js` and `.d.ts` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for js_grpc_web_compile
:header-rows: 1
* - Name
@ -254,30 +256,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -290,7 +292,7 @@ Plugins
``js_proto_library``
--------------------
Generates a JavaScript protobuf library using `js_library` from `rules_nodejs`
Generates a JavaScript protobuf library using ``js_library`` from ``rules_nodejs``
``WORKSPACE``
*************
@ -336,7 +338,7 @@ Generates a JavaScript protobuf library using `js_library` from `rules_nodejs`
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for js_proto_library
:header-rows: 1
* - Name
@ -344,46 +346,46 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `deps_repo`
- `string`
* - ``deps_repo``
- ``string``
- false
- `@npm`
- The repository to load the dependencies from, if you don't use `@npm`
- ``@npm``
- The repository to load the dependencies from, if you don't use ``@npm``
``js_grpc_node_library``
------------------------
Generates a Node.js protobuf + gRPC-node library using `js_library` from `rules_nodejs`
Generates a Node.js protobuf + gRPC-node library using ``js_library`` from ``rules_nodejs``
``WORKSPACE``
*************
@ -423,7 +425,7 @@ Generates a Node.js protobuf + gRPC-node library using `js_library` from `rules_
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for js_grpc_node_library
:header-rows: 1
* - Name
@ -431,46 +433,46 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `deps_repo`
- `string`
* - ``deps_repo``
- ``string``
- false
- `@npm`
- The repository to load the dependencies from, if you don't use `@npm`
- ``@npm``
- The repository to load the dependencies from, if you don't use ``@npm``
``js_grpc_web_library``
-----------------------
Generates a JavaScript protobuf + gRPC-Web library using `js_library` from `rules_nodejs`
Generates a JavaScript protobuf + gRPC-Web library using ``js_library`` from ``rules_nodejs``
``WORKSPACE``
*************
@ -510,7 +512,7 @@ Generates a JavaScript protobuf + gRPC-Web library using `js_library` from `rule
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for js_grpc_web_library
:header-rows: 1
* - Name
@ -518,38 +520,38 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `deps_repo`
- `string`
* - ``deps_repo``
- ``string``
- false
- `@npm`
- The repository to load the dependencies from, if you don't use `@npm`
- ``@npm``
- The repository to load the dependencies from, if you don't use ``@npm``

View File

@ -1,7 +1,7 @@
Objective-C rules
=================
Rules for generating Objective-C protobuf and gRPC `.m` & `.h` files and libraries using standard Protocol Buffers and gRPC. Libraries are created with the Bazel native `objc_library`
Rules for generating Objective-C protobuf and gRPC ``.m`` & ``.h`` files and libraries using standard Protocol Buffers and gRPC. Libraries are created with the Bazel native ``objc_library``
.. list-table:: Rules
:widths: 1 1
@ -9,19 +9,19 @@ Rules for generating Objective-C protobuf and gRPC `.m` & `.h` files and librari
* - Rule
- Description
* - `objc_proto_compile <objc_proto_compile>`_
- Generates Objective-C protobuf `.m` & `.h` files
* - `objc_grpc_compile <objc_grpc_compile>`_
- Generates Objective-C protobuf and gRPC `.m` & `.h` files
* - `objc_proto_library <objc_proto_library>`_
- Generates an Objective-C protobuf library using `objc_library`
* - `objc_grpc_library <objc_grpc_library>`_
- Generates an Objective-C protobuf and gRPC library using `objc_library`
* - `objc_proto_compile <#objc_proto_compile>`_
- Generates Objective-C protobuf ``.m`` & ``.h`` files
* - `objc_grpc_compile <#objc_grpc_compile>`_
- Generates Objective-C protobuf and gRPC ``.m`` & ``.h`` files
* - `objc_proto_library <#objc_proto_library>`_
- Generates an Objective-C protobuf library using ``objc_library``
* - `objc_grpc_library <#objc_grpc_library>`_
- Generates an Objective-C protobuf and gRPC library using ``objc_library``
``objc_proto_compile``
----------------------
Generates Objective-C protobuf `.m` & `.h` files
Generates Objective-C protobuf ``.m`` & ``.h`` files
``WORKSPACE``
*************
@ -57,7 +57,7 @@ Generates Objective-C protobuf `.m` & `.h` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for objc_proto_compile
:header-rows: 1
* - Name
@ -65,30 +65,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -99,7 +99,7 @@ Plugins
``objc_grpc_compile``
---------------------
Generates Objective-C protobuf and gRPC `.m` & `.h` files
Generates Objective-C protobuf and gRPC ``.m`` & ``.h`` files
``WORKSPACE``
*************
@ -134,7 +134,7 @@ Generates Objective-C protobuf and gRPC `.m` & `.h` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for objc_grpc_compile
:header-rows: 1
* - Name
@ -142,30 +142,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -177,7 +177,7 @@ Plugins
``objc_proto_library``
----------------------
Generates an Objective-C protobuf library using `objc_library`
Generates an Objective-C protobuf library using ``objc_library``
``WORKSPACE``
*************
@ -215,7 +215,7 @@ Generates an Objective-C protobuf library using `objc_library`
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for objc_proto_library
:header-rows: 1
* - Name
@ -223,88 +223,88 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `alwayslink`
- `bool`
* - ``alwayslink``
- ``bool``
- false
- `None`
- Passed to the `alwayslink` attribute of `cc_library`.
* - `copts`
- `string_list`
- ``None``
- Passed to the ``alwayslink`` attribute of ``cc_library``.
* - ``copts``
- ``string_list``
- false
- `None`
- Passed to the `opts` attribute of `cc_library`.
* - `defines`
- `string_list`
- ``None``
- Passed to the ``opts`` attribute of ``cc_library``.
* - ``defines``
- ``string_list``
- false
- `None`
- Passed to the `defines` attribute of `cc_library`.
* - `include_prefix`
- `string`
- ``None``
- Passed to the ``defines`` attribute of ``cc_library``.
* - ``include_prefix``
- ``string``
- false
- `None`
- Passed to the `include_prefix` attribute of `cc_library`.
* - `linkopts`
- `string_list`
- ``None``
- Passed to the ``include_prefix`` attribute of ``cc_library``.
* - ``linkopts``
- ``string_list``
- false
- `None`
- Passed to the `linkopts` attribute of `cc_library`.
* - `linkstatic`
- `bool`
- ``None``
- Passed to the ``linkopts`` attribute of ``cc_library``.
* - ``linkstatic``
- ``bool``
- false
- `None`
- Passed to the `linkstatic` attribute of `cc_library`.
* - `local_defines`
- `string_list`
- ``None``
- Passed to the ``linkstatic`` attribute of ``cc_library``.
* - ``local_defines``
- ``string_list``
- false
- `None`
- Passed to the `local_defines` attribute of `cc_library`.
* - `nocopts`
- `string`
- ``None``
- Passed to the ``local_defines`` attribute of ``cc_library``.
* - ``nocopts``
- ``string``
- false
- `None`
- Passed to the `nocopts` attribute of `cc_library`.
* - `strip_include_prefix`
- `string`
- ``None``
- Passed to the ``nocopts`` attribute of ``cc_library``.
* - ``strip_include_prefix``
- ``string``
- false
- `None`
- Passed to the `strip_include_prefix` attribute of `cc_library`.
- ``None``
- Passed to the ``strip_include_prefix`` attribute of ``cc_library``.
``objc_grpc_library``
---------------------
.. note:: This rule is experimental. It may not work correctly!
**Note**: This rule is experimental. It may not work correctly!
Generates an Objective-C protobuf and gRPC library using `objc_library`
Generates an Objective-C protobuf and gRPC library using ``objc_library``
``WORKSPACE``
*************
@ -340,7 +340,7 @@ Generates an Objective-C protobuf and gRPC library using `objc_library`
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for objc_grpc_library
:header-rows: 1
* - Name
@ -348,78 +348,78 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `alwayslink`
- `bool`
* - ``alwayslink``
- ``bool``
- false
- `None`
- Passed to the `alwayslink` attribute of `cc_library`.
* - `copts`
- `string_list`
- ``None``
- Passed to the ``alwayslink`` attribute of ``cc_library``.
* - ``copts``
- ``string_list``
- false
- `None`
- Passed to the `opts` attribute of `cc_library`.
* - `defines`
- `string_list`
- ``None``
- Passed to the ``opts`` attribute of ``cc_library``.
* - ``defines``
- ``string_list``
- false
- `None`
- Passed to the `defines` attribute of `cc_library`.
* - `include_prefix`
- `string`
- ``None``
- Passed to the ``defines`` attribute of ``cc_library``.
* - ``include_prefix``
- ``string``
- false
- `None`
- Passed to the `include_prefix` attribute of `cc_library`.
* - `linkopts`
- `string_list`
- ``None``
- Passed to the ``include_prefix`` attribute of ``cc_library``.
* - ``linkopts``
- ``string_list``
- false
- `None`
- Passed to the `linkopts` attribute of `cc_library`.
* - `linkstatic`
- `bool`
- ``None``
- Passed to the ``linkopts`` attribute of ``cc_library``.
* - ``linkstatic``
- ``bool``
- false
- `None`
- Passed to the `linkstatic` attribute of `cc_library`.
* - `local_defines`
- `string_list`
- ``None``
- Passed to the ``linkstatic`` attribute of ``cc_library``.
* - ``local_defines``
- ``string_list``
- false
- `None`
- Passed to the `local_defines` attribute of `cc_library`.
* - `nocopts`
- `string`
- ``None``
- Passed to the ``local_defines`` attribute of ``cc_library``.
* - ``nocopts``
- ``string``
- false
- `None`
- Passed to the `nocopts` attribute of `cc_library`.
* - `strip_include_prefix`
- `string`
- ``None``
- Passed to the ``nocopts`` attribute of ``cc_library``.
* - ``strip_include_prefix``
- ``string``
- false
- `None`
- Passed to the `strip_include_prefix` attribute of `cc_library`.
- ``None``
- Passed to the ``strip_include_prefix`` attribute of ``cc_library``.

View File

@ -1,7 +1,7 @@
PHP rules
=========
Rules for generating PHP protobuf and gRPC `.php` files and libraries using standard Protocol Buffers and gRPC
Rules for generating PHP protobuf and gRPC ``.php`` files and libraries using standard Protocol Buffers and gRPC
.. list-table:: Rules
:widths: 1 1
@ -9,15 +9,15 @@ Rules for generating PHP protobuf and gRPC `.php` files and libraries using stan
* - Rule
- Description
* - `php_proto_compile <php_proto_compile>`_
- Generates PHP protobuf `.php` files
* - `php_grpc_compile <php_grpc_compile>`_
- Generates PHP protobuf and gRPC `.php` files
* - `php_proto_compile <#php_proto_compile>`_
- Generates PHP protobuf ``.php`` files
* - `php_grpc_compile <#php_grpc_compile>`_
- Generates PHP protobuf and gRPC ``.php`` files
``php_proto_compile``
---------------------
Generates PHP protobuf `.php` files
Generates PHP protobuf ``.php`` files
``WORKSPACE``
*************
@ -53,7 +53,7 @@ Generates PHP protobuf `.php` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for php_proto_compile
:header-rows: 1
* - Name
@ -61,30 +61,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -95,7 +95,7 @@ Plugins
``php_grpc_compile``
--------------------
Generates PHP protobuf and gRPC `.php` files
Generates PHP protobuf and gRPC ``.php`` files
``WORKSPACE``
*************
@ -130,7 +130,7 @@ Generates PHP protobuf and gRPC `.php` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for php_grpc_compile
:header-rows: 1
* - Name
@ -138,30 +138,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins

View File

@ -1,9 +1,9 @@
Python rules
============
Rules for generating Python protobuf and gRPC `.py` files and libraries using standard Protocol Buffers and gRPC or [grpclib](https://github.com/vmagamedov/grpclib). Libraries are created with `py_library` from `rules_python`. To use the fast C++ Protobuf implementation, you can add `--define=use_fast_cpp_protos=true` to your build, but this requires you setup the path to your Python headers.
Rules for generating Python protobuf and gRPC ``.py`` files and libraries using standard Protocol Buffers and gRPC or `grpclib <https://github.com/vmagamedov/grpclib>`_. Libraries are created with ``py_library`` from ``rules_python``. To use the fast C++ Protobuf implementation, you can add ``--define=use_fast_cpp_protos=true`` to your build, but this requires you setup the path to your Python headers.
Note: On Windows, the path to Python for `pip_install` may need updating to `Python.exe`, depending on your install.
**Note**: On Windows, the path to Python for ``pip_install`` may need updating to ``Python.exe``, depending on your install.
.. list-table:: Rules
:widths: 1 1
@ -11,23 +11,23 @@ Note: On Windows, the path to Python for `pip_install` may need updating to `Pyt
* - Rule
- Description
* - `python_proto_compile <python_proto_compile>`_
- Generates Python protobuf `.py` files
* - `python_grpc_compile <python_grpc_compile>`_
- Generates Python protobuf and gRPC `.py` files
* - `python_grpclib_compile <python_grpclib_compile>`_
- Generates Python protobuf and grpclib `.py` files (supports Python 3 only)
* - `python_proto_library <python_proto_library>`_
- Generates a Python protobuf library using `py_library` from `rules_python`
* - `python_grpc_library <python_grpc_library>`_
- Generates a Python protobuf and gRPC library using `py_library` from `rules_python`
* - `python_grpclib_library <python_grpclib_library>`_
- Generates a Python protobuf and grpclib library using `py_library` from `rules_python` (supports Python 3 only)
* - `python_proto_compile <#python_proto_compile>`_
- Generates Python protobuf ``.py`` files
* - `python_grpc_compile <#python_grpc_compile>`_
- Generates Python protobuf and gRPC ``.py`` files
* - `python_grpclib_compile <#python_grpclib_compile>`_
- Generates Python protobuf and grpclib ``.py`` files (supports Python 3 only)
* - `python_proto_library <#python_proto_library>`_
- Generates a Python protobuf library using ``py_library`` from ``rules_python``
* - `python_grpc_library <#python_grpc_library>`_
- Generates a Python protobuf and gRPC library using ``py_library`` from ``rules_python``
* - `python_grpclib_library <#python_grpclib_library>`_
- Generates a Python protobuf and grpclib library using ``py_library`` from ``rules_python`` (supports Python 3 only)
``python_proto_compile``
------------------------
Generates Python protobuf `.py` files
Generates Python protobuf ``.py`` files
``WORKSPACE``
*************
@ -63,7 +63,7 @@ Generates Python protobuf `.py` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for python_proto_compile
:header-rows: 1
* - Name
@ -71,30 +71,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -105,7 +105,7 @@ Plugins
``python_grpc_compile``
-----------------------
Generates Python protobuf and gRPC `.py` files
Generates Python protobuf and gRPC ``.py`` files
``WORKSPACE``
*************
@ -140,7 +140,7 @@ Generates Python protobuf and gRPC `.py` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for python_grpc_compile
:header-rows: 1
* - Name
@ -148,30 +148,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -183,7 +183,7 @@ Plugins
``python_grpclib_compile``
--------------------------
Generates Python protobuf and grpclib `.py` files (supports Python 3 only)
Generates Python protobuf and grpclib ``.py`` files (supports Python 3 only)
``WORKSPACE``
*************
@ -226,7 +226,7 @@ Generates Python protobuf and grpclib `.py` files (supports Python 3 only)
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for python_grpclib_compile
:header-rows: 1
* - Name
@ -234,30 +234,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -269,7 +269,7 @@ Plugins
``python_proto_library``
------------------------
Generates a Python protobuf library using `py_library` from `rules_python`
Generates a Python protobuf library using ``py_library`` from ``rules_python``
``WORKSPACE``
*************
@ -307,7 +307,7 @@ Generates a Python protobuf library using `py_library` from `rules_python`
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for python_proto_library
:header-rows: 1
* - Name
@ -315,41 +315,41 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
``python_grpc_library``
-----------------------
Generates a Python protobuf and gRPC library using `py_library` from `rules_python`
Generates a Python protobuf and gRPC library using ``py_library`` from ``rules_python``
``WORKSPACE``
*************
@ -385,7 +385,7 @@ Generates a Python protobuf and gRPC library using `py_library` from `rules_pyth
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for python_grpc_library
:header-rows: 1
* - Name
@ -393,41 +393,41 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
``python_grpclib_library``
--------------------------
Generates a Python protobuf and grpclib library using `py_library` from `rules_python` (supports Python 3 only)
Generates a Python protobuf and grpclib library using ``py_library`` from ``rules_python`` (supports Python 3 only)
``WORKSPACE``
*************
@ -471,7 +471,7 @@ Generates a Python protobuf and grpclib library using `py_library` from `rules_p
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for python_grpclib_library
:header-rows: 1
* - Name
@ -479,33 +479,33 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule

View File

@ -1,7 +1,7 @@
Ruby rules
==========
Rules for generating Ruby protobuf and gRPC `.rb` files and libraries using standard Protocol Buffers and gRPC. Libraries are created with `ruby_library` from [rules_ruby](https://github.com/bazelruby/rules_ruby)
Rules for generating Ruby protobuf and gRPC ``.rb`` files and libraries using standard Protocol Buffers and gRPC. Libraries are created with ``ruby_library`` from `rules_ruby <https://github.com/bazelruby/rules_ruby>`_
.. list-table:: Rules
:widths: 1 1
@ -9,19 +9,19 @@ Rules for generating Ruby protobuf and gRPC `.rb` files and libraries using stan
* - Rule
- Description
* - `ruby_proto_compile <ruby_proto_compile>`_
- Generates Ruby protobuf `.rb` files
* - `ruby_grpc_compile <ruby_grpc_compile>`_
- Generates Ruby protobuf and gRPC `.rb` files
* - `ruby_proto_library <ruby_proto_library>`_
- Generates a Ruby protobuf library using `ruby_library` from `rules_ruby`
* - `ruby_grpc_library <ruby_grpc_library>`_
- Generates a Ruby protobuf and gRPC library using `ruby_library` from `rules_ruby`
* - `ruby_proto_compile <#ruby_proto_compile>`_
- Generates Ruby protobuf ``.rb`` files
* - `ruby_grpc_compile <#ruby_grpc_compile>`_
- Generates Ruby protobuf and gRPC ``.rb`` files
* - `ruby_proto_library <#ruby_proto_library>`_
- Generates a Ruby protobuf library using ``ruby_library`` from ``rules_ruby``
* - `ruby_grpc_library <#ruby_grpc_library>`_
- Generates a Ruby protobuf and gRPC library using ``ruby_library`` from ``rules_ruby``
``ruby_proto_compile``
----------------------
Generates Ruby protobuf `.rb` files
Generates Ruby protobuf ``.rb`` files
``WORKSPACE``
*************
@ -71,7 +71,7 @@ Generates Ruby protobuf `.rb` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for ruby_proto_compile
:header-rows: 1
* - Name
@ -79,30 +79,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -113,7 +113,7 @@ Plugins
``ruby_grpc_compile``
---------------------
Generates Ruby protobuf and gRPC `.rb` files
Generates Ruby protobuf and gRPC ``.rb`` files
``WORKSPACE``
*************
@ -162,7 +162,7 @@ Generates Ruby protobuf and gRPC `.rb` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for ruby_grpc_compile
:header-rows: 1
* - Name
@ -170,30 +170,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -205,7 +205,7 @@ Plugins
``ruby_proto_library``
----------------------
Generates a Ruby protobuf library using `ruby_library` from `rules_ruby`
Generates a Ruby protobuf library using ``ruby_library`` from ``rules_ruby``
``WORKSPACE``
*************
@ -257,7 +257,7 @@ Generates a Ruby protobuf library using `ruby_library` from `rules_ruby`
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for ruby_proto_library
:header-rows: 1
* - Name
@ -265,41 +265,41 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
``ruby_grpc_library``
---------------------
Generates a Ruby protobuf and gRPC library using `ruby_library` from `rules_ruby`
Generates a Ruby protobuf and gRPC library using ``ruby_library`` from ``rules_ruby``
``WORKSPACE``
*************
@ -349,7 +349,7 @@ Generates a Ruby protobuf and gRPC library using `ruby_library` from `rules_ruby
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for ruby_grpc_library
:header-rows: 1
* - Name
@ -357,33 +357,33 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule

View File

@ -1,7 +1,7 @@
Rust rules
==========
Rules for generating Rust protobuf and gRPC `.rs` files and libraries using [rust-protobuf](https://github.com/stepancheg/rust-protobuf) and [grpc-rs](https://github.com/tikv/grpc-rs). Libraries are created with `rust_library` from [rules_rust](https://github.com/bazelbuild/rules_rust).
Rules for generating Rust protobuf and gRPC ``.rs`` files and libraries using `rust-protobuf <https://github.com/stepancheg/rust-protobuf> and `grpc-rs <https://github.com/tikv/grpc-rs>`_. Libraries are created with ``rust_library`` from `rules_rust <https://github.com/bazelbuild/rules_rust>`_.
.. list-table:: Rules
:widths: 1 1
@ -9,19 +9,19 @@ Rules for generating Rust protobuf and gRPC `.rs` files and libraries using [rus
* - Rule
- Description
* - `rust_proto_compile <rust_proto_compile>`_
- Generates Rust protobuf `.rs` files
* - `rust_grpc_compile <rust_grpc_compile>`_
- Generates Rust protobuf and gRPC `.rs` files
* - `rust_proto_library <rust_proto_library>`_
- Generates a Rust protobuf library using `rust_library` from `rules_rust`
* - `rust_grpc_library <rust_grpc_library>`_
- Generates a Rust protobuf and gRPC library using `rust_library` from `rules_rust`
* - `rust_proto_compile <#rust_proto_compile>`_
- Generates Rust protobuf ``.rs`` files
* - `rust_grpc_compile <#rust_grpc_compile>`_
- Generates Rust protobuf and gRPC ``.rs`` files
* - `rust_proto_library <#rust_proto_library>`_
- Generates a Rust protobuf library using ``rust_library`` from ``rules_rust``
* - `rust_grpc_library <#rust_grpc_library>`_
- Generates a Rust protobuf and gRPC library using ``rust_library`` from ``rules_rust``
``rust_proto_compile``
----------------------
Generates Rust protobuf `.rs` files
Generates Rust protobuf ``.rs`` files
``WORKSPACE``
*************
@ -65,7 +65,7 @@ Generates Rust protobuf `.rs` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for rust_proto_compile
:header-rows: 1
* - Name
@ -73,30 +73,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -107,7 +107,7 @@ Plugins
``rust_grpc_compile``
---------------------
Generates Rust protobuf and gRPC `.rs` files
Generates Rust protobuf and gRPC ``.rs`` files
``WORKSPACE``
*************
@ -146,7 +146,7 @@ Generates Rust protobuf and gRPC `.rs` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for rust_grpc_compile
:header-rows: 1
* - Name
@ -154,30 +154,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -189,7 +189,7 @@ Plugins
``rust_proto_library``
----------------------
Generates a Rust protobuf library using `rust_library` from `rules_rust`
Generates a Rust protobuf library using ``rust_library`` from ``rules_rust``
``WORKSPACE``
*************
@ -227,7 +227,7 @@ Generates a Rust protobuf library using `rust_library` from `rules_rust`
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for rust_proto_library
:header-rows: 1
* - Name
@ -235,41 +235,41 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
``rust_grpc_library``
---------------------
Generates a Rust protobuf and gRPC library using `rust_library` from `rules_rust`
Generates a Rust protobuf and gRPC library using ``rust_library`` from ``rules_rust``
``WORKSPACE``
*************
@ -306,7 +306,7 @@ Generates a Rust protobuf and gRPC library using `rust_library` from `rules_rust
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for rust_grpc_library
:header-rows: 1
* - Name
@ -314,33 +314,33 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule

View File

@ -1,7 +1,7 @@
Scala rules
===========
Rules for generating Scala protobuf and gRPC `.jar` files and libraries using [ScalaPB](https://github.com/scalapb/ScalaPB). Libraries are created with `scala_library` from [rules_scala](https://github.com/bazelbuild/rules_scala)
Rules for generating Scala protobuf and gRPC ``.jar`` files and libraries using `ScalaPB <https://github.com/scalapb/ScalaPB>`_. Libraries are created with ``scala_library`` from `rules_scala <https://github.com/bazelbuild/rules_scala>`_
.. list-table:: Rules
:widths: 1 1
@ -9,19 +9,19 @@ Rules for generating Scala protobuf and gRPC `.jar` files and libraries using [S
* - Rule
- Description
* - `scala_proto_compile <scala_proto_compile>`_
- Generates a Scala protobuf `.jar` file
* - `scala_grpc_compile <scala_grpc_compile>`_
- Generates Scala protobuf and gRPC `.jar` file
* - `scala_proto_library <scala_proto_library>`_
- Generates a Scala protobuf library using `scala_library` from `rules_scala`
* - `scala_grpc_library <scala_grpc_library>`_
- Generates a Scala protobuf and gRPC library using `scala_library` from `rules_scala`
* - `scala_proto_compile <#scala_proto_compile>`_
- Generates a Scala protobuf ``.jar`` file
* - `scala_grpc_compile <#scala_grpc_compile>`_
- Generates Scala protobuf and gRPC ``.jar`` file
* - `scala_proto_library <#scala_proto_library>`_
- Generates a Scala protobuf library using ``scala_library`` from ``rules_scala``
* - `scala_grpc_library <#scala_grpc_library>`_
- Generates a Scala protobuf and gRPC library using ``scala_library`` from ``rules_scala``
``scala_proto_compile``
-----------------------
Generates a Scala protobuf `.jar` file
Generates a Scala protobuf ``.jar`` file
``WORKSPACE``
*************
@ -73,7 +73,7 @@ Generates a Scala protobuf `.jar` file
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for scala_proto_compile
:header-rows: 1
* - Name
@ -81,30 +81,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -115,7 +115,7 @@ Plugins
``scala_grpc_compile``
----------------------
Generates Scala protobuf and gRPC `.jar` file
Generates Scala protobuf and gRPC ``.jar`` file
``WORKSPACE``
*************
@ -166,7 +166,7 @@ Generates Scala protobuf and gRPC `.jar` file
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for scala_grpc_compile
:header-rows: 1
* - Name
@ -174,30 +174,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -208,7 +208,7 @@ Plugins
``scala_proto_library``
-----------------------
Generates a Scala protobuf library using `scala_library` from `rules_scala`
Generates a Scala protobuf library using ``scala_library`` from ``rules_scala``
``WORKSPACE``
*************
@ -262,7 +262,7 @@ Generates a Scala protobuf library using `scala_library` from `rules_scala`
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for scala_proto_library
:header-rows: 1
* - Name
@ -270,46 +270,46 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `exports`
- `label_list`
* - ``exports``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as exports attr to underlying lang_library rule
``scala_grpc_library``
----------------------
Generates a Scala protobuf and gRPC library using `scala_library` from `rules_scala`
Generates a Scala protobuf and gRPC library using ``scala_library`` from ``rules_scala``
``WORKSPACE``
*************
@ -361,7 +361,7 @@ Generates a Scala protobuf and gRPC library using `scala_library` from `rules_sc
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for scala_grpc_library
:header-rows: 1
* - Name
@ -369,38 +369,38 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `exports`
- `label_list`
* - ``exports``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as exports attr to underlying lang_library rule

View File

@ -1,7 +1,7 @@
Swift rules
===========
Rules for generating Swift protobuf and gRPC `.swift` files and libraries using [Swift Protobuf](https://github.com/apple/swift-protobuf) and [Swift gRPC](https://github.com/grpc/grpc-swift)
Rules for generating Swift protobuf and gRPC ``.swift`` files and libraries using `Swift Protobuf <https://github.com/apple/swift-protobuf>`_ and `Swift gRPC <https://github.com/grpc/grpc-swift>`_
.. list-table:: Rules
:widths: 1 1
@ -9,19 +9,19 @@ Rules for generating Swift protobuf and gRPC `.swift` files and libraries using
* - Rule
- Description
* - `swift_proto_compile <swift_proto_compile>`_
- Generates Swift protobuf `.swift` files
* - `swift_grpc_compile <swift_grpc_compile>`_
- Generates Swift protobuf and gRPC `.swift` files
* - `swift_proto_library <swift_proto_library>`_
- Generates a Swift protobuf library using `swift_library` from `rules_swift`
* - `swift_grpc_library <swift_grpc_library>`_
- Generates a Swift protobuf and gRPC library using `swift_library` from `rules_swift`
* - `swift_proto_compile <#swift_proto_compile>`_
- Generates Swift protobuf ``.swift`` files
* - `swift_grpc_compile <#swift_grpc_compile>`_
- Generates Swift protobuf and gRPC ``.swift`` files
* - `swift_proto_library <#swift_proto_library>`_
- Generates a Swift protobuf library using ``swift_library`` from ``rules_swift``
* - `swift_grpc_library <#swift_grpc_library>`_
- Generates a Swift protobuf and gRPC library using ``swift_library`` from ``rules_swift``
``swift_proto_compile``
-----------------------
Generates Swift protobuf `.swift` files
Generates Swift protobuf ``.swift`` files
``WORKSPACE``
*************
@ -64,7 +64,7 @@ Generates Swift protobuf `.swift` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for swift_proto_compile
:header-rows: 1
* - Name
@ -72,30 +72,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -106,7 +106,7 @@ Plugins
``swift_grpc_compile``
----------------------
Generates Swift protobuf and gRPC `.swift` files
Generates Swift protobuf and gRPC ``.swift`` files
``WORKSPACE``
*************
@ -144,7 +144,7 @@ Generates Swift protobuf and gRPC `.swift` files
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for swift_grpc_compile
:header-rows: 1
* - Name
@ -152,30 +152,30 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
Plugins
@ -187,7 +187,7 @@ Plugins
``swift_proto_library``
-----------------------
Generates a Swift protobuf library using `swift_library` from `rules_swift`
Generates a Swift protobuf library using ``swift_library`` from ``rules_swift``
``WORKSPACE``
*************
@ -224,7 +224,7 @@ Generates a Swift protobuf library using `swift_library` from `rules_swift`
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for swift_proto_library
:header-rows: 1
* - Name
@ -232,46 +232,46 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `module_name`
- `string`
* - ``module_name``
- ``string``
- false
- ``
- ````
- The name of the Swift module being built.
``swift_grpc_library``
----------------------
Generates a Swift protobuf and gRPC library using `swift_library` from `rules_swift`
Generates a Swift protobuf and gRPC library using ``swift_library`` from ``rules_swift``
``WORKSPACE``
*************
@ -307,7 +307,7 @@ Generates a Swift protobuf and gRPC library using `swift_library` from `rules_sw
Attributes
**********
.. list-table:: Rules
.. list-table:: Attributes for swift_grpc_library
:header-rows: 1
* - Name
@ -315,38 +315,38 @@ Attributes
- Mandatory
- Default
- Description
* - `protos`
- `label_list`
* - ``protos``
- ``label_list``
- true
- ``
- List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)
* - `options`
- `string_list_dict`
- ````
- List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)
* - ``options``
- ``string_list_dict``
- false
- `[]`
- ``[]``
- Extra options to pass to plugins, as a dict of plugin label -> list of strings. The key * can be used exclusively to apply to all plugins
* - `verbose`
- `int`
* - ``verbose``
- ``int``
- false
- `0`
- ``0``
- The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc*
* - `prefix_path`
- `string`
* - ``prefix_path``
- ``string``
- false
- `""`
- ``""``
- Path to prefix to the generated files in the output directory
* - `extra_protoc_args`
- `string_list`
* - ``extra_protoc_args``
- ``string_list``
- false
- `[]`
- ``[]``
- A list of extra args to pass directly to protoc, not as plugin options
* - `deps`
- `label_list`
* - ``deps``
- ``label_list``
- false
- `[]`
- ``[]``
- List of labels to pass as deps attr to underlying lang_library rule
* - `module_name`
- `string`
* - ``module_name``
- ``string``
- false
- ``
- ````
- The name of the Swift module being built.

View File

@ -35,10 +35,8 @@ dependency (``"@com_google_protobuf//:any_proto"``)
**Step 3**: Add a ``cpp_proto_compile`` target
.. note::
In this example ``thing.proto`` does not include service definitions (gRPC). For protos with services, use the
``cpp_grpc_compile`` rule instead.
**Note**: In this example ``thing.proto`` does not include service definitions (gRPC). For protos with services, use the
``cpp_grpc_compile`` rule instead.
.. code-block:: starlark
@ -51,7 +49,7 @@ dependency (``"@com_google_protobuf//:any_proto"``)
)
But wait, before we can build this, we need to load the dependencies necessary for this rule
(see `cpp/README.md </cpp/README.md>`_):
(see `cpp </cpp>`_):
**Step 4**: Load the workspace macro corresponding to the build rule.
@ -99,10 +97,8 @@ convenience we'd rather have the outputs compiled into a C++ library. To do that
This way, we can use ``//example/proto:cpp_thing_proto`` as a dependency of any other ``cc_library`` or ``cc_binary`` target
as per normal.
.. note::
NOTE: The ``cpp_proto_library`` target implicitly calls ``cpp_proto_compile``, and we can access that rule's by adding
``_pb`` at the end of the target name, like ``bazel build //example/proto:cpp_thing_proto_pb``
**Note**: The ``cpp_proto_library`` target implicitly calls ``cpp_proto_compile``, and we can access that rule's by adding
``_pb`` at the end of the target name, like ``bazel build //example/proto:cpp_thing_proto_pb``
Developers
@ -113,7 +109,7 @@ Code Layout
Each language ``{lang}`` has a top-level subdirectory that contains:
1. ``{lang}/README.md``: Generated documentation for the language rules
1. ``{lang}/README.rst``: Generated documentation for the language rules
1. ``{lang}/repositories.bzl``: Macro functions that declare repository rule dependencies for that language
@ -131,7 +127,7 @@ Rule Generation
***************
To help maintain consistency of the rule implementations and documentation, all of the rule implementations are
generated by the tool ``//tools/rulegen``. Changes in the main ``README.md`` should be placed in
generated by the tool ``//tools/rulegen``. Changes in the main ``README.rst`` should be placed in
``tools/rulegen/README.header.rst`` or ``tools/rulegen/README.footer.rst```. Changes to generated rules should be put in the
source files (example: ``tools/rulegen/java.go``).

View File

@ -139,7 +139,5 @@ It is recommended that you use the tagged releases for stable rules. Master is i
unstable at certain periods. To be notified of new releases, you can use GitHub's 'Watch Releases Only' on the
repository.
.. note::
You will also need to follow instructions in the language-specific `README.md` for additional workspace
dependencies that may be required.
**Note**: You will also need to follow instructions in the language-specific pages for additional workspace
dependencies that may be required.

View File

@ -87,7 +87,7 @@ func makeAndroid() *Language {
Dir: "android",
Name: "android",
DisplayName: "Android",
Notes: mustTemplate("Rules for generating Android protobuf and gRPC `.jar` files and libraries using standard Protocol Buffers and [gRPC-Java](https://github.com/grpc/grpc-java). Libraries are created with `android_library` from [rules_android](https://github.com/bazelbuild/rules_android)"),
Notes: mustTemplate("Rules for generating Android protobuf and gRPC ``.jar`` files and libraries using standard Protocol Buffers and `gRPC-Java <https://github.com/grpc/grpc-java>`_. Libraries are created with ``android_library`` from `rules_android <https://github.com/bazelbuild/rules_android>`_"),
Flags: commonLangFlags,
SkipTestPlatforms: []string{"all"},
Rules: []*Rule{
@ -98,7 +98,7 @@ func makeAndroid() *Language {
Plugins: []string{"//android:javalite_plugin"},
WorkspaceExample: protoWorkspaceTemplate,
BuildExample: protoCompileExampleTemplate,
Doc: "Generates an Android protobuf `.jar` file",
Doc: "Generates an Android protobuf ``.jar`` file",
Attrs: compileRuleAttrs,
SkipTestPlatforms: []string{"none"},
},
@ -109,7 +109,7 @@ func makeAndroid() *Language {
Plugins: []string{"//android:javalite_plugin", "//android:grpc_javalite_plugin"},
WorkspaceExample: javaGrpcWorkspaceTemplate,
BuildExample: grpcCompileExampleTemplate,
Doc: "Generates Android protobuf and gRPC `.jar` files",
Doc: "Generates Android protobuf and gRPC ``.jar`` files",
Attrs: compileRuleAttrs,
SkipTestPlatforms: []string{"none"},
},
@ -119,7 +119,7 @@ func makeAndroid() *Language {
Implementation: androidProtoLibraryRuleTemplate,
WorkspaceExample: androidProtoLibraryWorkspaceTemplate,
BuildExample: protoLibraryExampleTemplate,
Doc: "Generates an Android protobuf library using `android_library` from `rules_android`",
Doc: "Generates an Android protobuf library using ``android_library`` from ``rules_android``",
Attrs: javaLibraryRuleAttrs,
SkipTestPlatforms: []string{"none"},
},
@ -129,7 +129,7 @@ func makeAndroid() *Language {
Implementation: androidGrpcLibraryRuleTemplate,
WorkspaceExample: androidGrpcLibraryWorkspaceTemplate,
BuildExample: grpcLibraryExampleTemplate,
Doc: "Generates Android protobuf and gRPC library using `android_library` from `rules_android`",
Doc: "Generates Android protobuf and gRPC library using ``android_library`` from ``rules_android``",
Attrs: javaLibraryRuleAttrs,
SkipTestPlatforms: []string{"none"},
},

View File

@ -102,7 +102,7 @@ func makeBuf() *Language {
Dir: "buf",
Name: "buf",
DisplayName: "Buf",
Notes: mustTemplate(`Rules for linting and detecting breaking changes in .proto files with [Buf](https://buf.build).
Notes: mustTemplate("Rules for linting and detecting breaking changes in .proto files with `Buf <https://buf.build>`_." + `
Note that these rules behave differently from the other rules in this repo, since these produce no output and are instead used as tests.
@ -123,7 +123,7 @@ Only Linux and Darwin (MacOS) is currently supported by Buf.`),
Name: "protos",
Type: "label_list",
Default: "[]",
Doc: "List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)",
Doc: "List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)",
Mandatory: true,
Providers: []string{"ProtoInfo"},
},
@ -170,7 +170,7 @@ Only Linux and Darwin (MacOS) is currently supported by Buf.`),
&Attr{
Name: "protos",
Type: "label_list",
Doc: "List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)",
Doc: "List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)",
Mandatory: true,
Providers: []string{"ProtoInfo"},
},
@ -206,14 +206,14 @@ Only Linux and Darwin (MacOS) is currently supported by Buf.`),
Name: "rpc_allow_google_protobuf_empty_requests",
Type: "bool",
Default: "False",
Doc: "Allow request message to be `google.protobuf.Empty`",
Doc: "Allow request message to be ``google.protobuf.Empty``",
Mandatory: false,
},
&Attr{
Name: "rpc_allow_google_protobuf_empty_responses",
Type: "bool",
Default: "False",
Doc: "Allow response message to be `google.protobuf.Empty`",
Doc: "Allow response message to be ``google.protobuf.Empty``",
Mandatory: false,
},
&Attr{

View File

@ -77,7 +77,7 @@ func makeC() *Language {
Dir: "c",
Name: "c",
DisplayName: "C",
Notes: mustTemplate("Rules for generating C protobuf `.c` & `.h` files and libraries using [upb](https://github.com/protocolbuffers/upb). Libraries are created with the Bazel native `cc_library`"),
Notes: mustTemplate("Rules for generating C protobuf ``.c`` & ``.h`` files and libraries using `upb <https://github.com/protocolbuffers/upb>`_. Libraries are created with the Bazel native ``cc_library``"),
Flags: commonLangFlags,
Rules: []*Rule{
&Rule{
@ -87,7 +87,7 @@ func makeC() *Language {
Plugins: []string{"//c:upb_plugin"},
WorkspaceExample: cWorkspaceTemplate,
BuildExample: protoCompileExampleTemplate,
Doc: "Generates C protobuf `.h` & `.c` files",
Doc: "Generates C protobuf ``.h`` & ``.c`` files",
Attrs: compileRuleAttrs,
Experimental: true,
},
@ -97,7 +97,7 @@ func makeC() *Language {
Implementation: cProtoLibraryRuleTemplate,
WorkspaceExample: cWorkspaceTemplate,
BuildExample: cProtoLibraryExampleTemplate,
Doc: "Generates a C protobuf library using `cc_library`, with dependencies linked",
Doc: "Generates a C protobuf library using ``cc_library``, with dependencies linked",
Attrs: cppLibraryRuleAttrs,
Experimental: true,
},

View File

@ -8,7 +8,7 @@ var compileRuleAttrs = []*Attr{
&Attr{
Name: "protos",
Type: "label_list",
Doc: "List of labels that provide the `ProtoInfo` provider (such as `proto_library` from `rules_proto`)",
Doc: "List of labels that provide the ``ProtoInfo`` provider (such as ``proto_library`` from ``rules_proto``)",
Mandatory: true,
Providers: []string{"ProtoInfo"},
},
@ -29,7 +29,7 @@ var compileRuleAttrs = []*Attr{
&Attr{
Name: "prefix_path",
Type: "string",
Default: "\"\"",
Default: `""`,
Doc: "Path to prefix to the generated files in the output directory",
Mandatory: false,
},

View File

@ -83,63 +83,63 @@ var cppLibraryRuleAttrs = append(append([]*Attr(nil), libraryRuleAttrs...), []*A
Name: "alwayslink",
Type: "bool",
Default: "None",
Doc: "Passed to the `alwayslink` attribute of `cc_library`.",
Doc: "Passed to the ``alwayslink`` attribute of ``cc_library``.",
Mandatory: false,
},
&Attr{
Name: "copts",
Type: "string_list",
Default: "None",
Doc: "Passed to the `opts` attribute of `cc_library`.",
Doc: "Passed to the ``opts`` attribute of ``cc_library``.",
Mandatory: false,
},
&Attr{
Name: "defines",
Type: "string_list",
Default: "None",
Doc: "Passed to the `defines` attribute of `cc_library`.",
Doc: "Passed to the ``defines`` attribute of ``cc_library``.",
Mandatory: false,
},
&Attr{
Name: "include_prefix",
Type: "string",
Default: "None",
Doc: "Passed to the `include_prefix` attribute of `cc_library`.",
Doc: "Passed to the ``include_prefix`` attribute of ``cc_library``.",
Mandatory: false,
},
&Attr{
Name: "linkopts",
Type: "string_list",
Default: "None",
Doc: "Passed to the `linkopts` attribute of `cc_library`.",
Doc: "Passed to the ``linkopts`` attribute of ``cc_library``.",
Mandatory: false,
},
&Attr{
Name: "linkstatic",
Type: "bool",
Default: "None",
Doc: "Passed to the `linkstatic` attribute of `cc_library`.",
Doc: "Passed to the ``linkstatic`` attribute of ``cc_library``.",
Mandatory: false,
},
&Attr{
Name: "local_defines",
Type: "string_list",
Default: "None",
Doc: "Passed to the `local_defines` attribute of `cc_library`.",
Doc: "Passed to the ``local_defines`` attribute of ``cc_library``.",
Mandatory: false,
},
&Attr{
Name: "nocopts",
Type: "string",
Default: "None",
Doc: "Passed to the `nocopts` attribute of `cc_library`.",
Doc: "Passed to the ``nocopts`` attribute of ``cc_library``.",
Mandatory: false,
},
&Attr{
Name: "strip_include_prefix",
Type: "string",
Default: "None",
Doc: "Passed to the `strip_include_prefix` attribute of `cc_library`.",
Doc: "Passed to the ``strip_include_prefix`` attribute of ``cc_library``.",
Mandatory: false,
},
}...)
@ -149,7 +149,7 @@ func makeCpp() *Language {
Dir: "cpp",
Name: "cpp",
DisplayName: "C++",
Notes: mustTemplate("Rules for generating C++ protobuf and gRPC `.cc` & `.h` files and libraries using standard Protocol Buffers and gRPC. Libraries are created with the Bazel native `cc_library`"),
Notes: mustTemplate("Rules for generating C++ protobuf and gRPC ``.cc`` & ``.h`` files and libraries using standard Protocol Buffers and gRPC. Libraries are created with the Bazel native ``cc_library``"),
Flags: commonLangFlags,
Aliases: map[string]string{
"cc_proto_compile": "cpp_proto_compile",
@ -165,7 +165,7 @@ func makeCpp() *Language {
Plugins: []string{"//cpp:cpp_plugin"},
WorkspaceExample: protoWorkspaceTemplate,
BuildExample: protoCompileExampleTemplate,
Doc: "Generates C++ protobuf `.h` & `.cc` files",
Doc: "Generates C++ protobuf ``.h`` & ``.cc`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -175,7 +175,7 @@ func makeCpp() *Language {
Plugins: []string{"//cpp:cpp_plugin", "//cpp:grpc_cpp_plugin"},
WorkspaceExample: grpcWorkspaceTemplate,
BuildExample: grpcCompileExampleTemplate,
Doc: "Generates C++ protobuf and gRPC `.h` & `.cc` files",
Doc: "Generates C++ protobuf and gRPC ``.h`` & ``.cc`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -184,7 +184,7 @@ func makeCpp() *Language {
Implementation: cppProtoLibraryRuleTemplate,
WorkspaceExample: protoWorkspaceTemplate,
BuildExample: protoLibraryExampleTemplate,
Doc: "Generates a C++ protobuf library using `cc_library`, with dependencies linked",
Doc: "Generates a C++ protobuf library using ``cc_library``, with dependencies linked",
Attrs: cppLibraryRuleAttrs,
},
&Rule{
@ -193,7 +193,7 @@ func makeCpp() *Language {
Implementation: cppGrpcLibraryRuleTemplate,
WorkspaceExample: grpcWorkspaceTemplate,
BuildExample: grpcLibraryExampleTemplate,
Doc: "Generates a C++ protobuf and gRPC library using `cc_library`, with dependencies linked",
Doc: "Generates a C++ protobuf and gRPC library using ``cc_library``, with dependencies linked",
Attrs: cppLibraryRuleAttrs,
},
},

View File

@ -131,7 +131,7 @@ func makeCsharp() *Language {
Name: "csharp",
DisplayName: "C#",
Flags: commonLangFlags,
Notes: mustTemplate(`Rules for generating C# protobuf and gRPC ` + "`.cs`" + ` files and libraries using standard Protocol Buffers and gRPC. Libraries are created with ` + "`csharp_library`" + ` from [rules_dotnet](https://github.com/bazelbuild/rules_dotnet)`),
Notes: mustTemplate("Rules for generating C# protobuf and gRPC ``.cs`` files and libraries using standard Protocol Buffers and gRPC. Libraries are created with ``csharp_library`` from `rules_dotnet <https://github.com/bazelbuild/rules_dotnet>`_"),
Rules: []*Rule{
&Rule{
Name: "csharp_proto_compile",
@ -140,7 +140,7 @@ func makeCsharp() *Language {
Plugins: []string{"//csharp:csharp_plugin"},
WorkspaceExample: csharpProtoWorkspaceTemplate,
BuildExample: protoCompileExampleTemplate,
Doc: "Generates C# protobuf `.cs` files",
Doc: "Generates C# protobuf ``.cs`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -150,7 +150,7 @@ func makeCsharp() *Language {
Plugins: []string{"//csharp:csharp_plugin", "//csharp:grpc_csharp_plugin"},
WorkspaceExample: csharpGrpcWorkspaceTemplate,
BuildExample: grpcCompileExampleTemplate,
Doc: "Generates C# protobuf and gRPC `.cs` files",
Doc: "Generates C# protobuf and gRPC ``.cs`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -159,7 +159,7 @@ func makeCsharp() *Language {
Implementation: csharpProtoLibraryRuleTemplate,
WorkspaceExample: csharpProtoWorkspaceTemplate,
BuildExample: csharpProtoLibraryExampleTemplate,
Doc: "Generates a C# protobuf library using `csharp_library` from `rules_dotnet`. Note that the library name must end in `.dll`",
Doc: "Generates a C# protobuf library using ``csharp_library`` from ``rules_dotnet``. Note that the library name must end in ``.dll``",
Attrs: libraryRuleAttrs,
},
&Rule{
@ -168,7 +168,7 @@ func makeCsharp() *Language {
Implementation: csharpGrpcLibraryRuleTemplate,
WorkspaceExample: csharpGrpcWorkspaceTemplate,
BuildExample: csharpGrpcLibraryExampleTemplate,
Doc: "Generates a C# protobuf and gRPC library using `csharp_library` from `rules_dotnet`. Note that the library name must end in `.dll`",
Doc: "Generates a C# protobuf and gRPC library using ``csharp_library`` from ``rules_dotnet``. Note that the library name must end in ``.dll``",
Attrs: libraryRuleAttrs,
},
},

View File

@ -39,7 +39,7 @@ func makeD() *Language {
Dir: "d",
Name: "d",
DisplayName: "D",
Notes: mustTemplate(`Rules for generating D protobuf ` + "`.d`" + ` files and libraries using [protobuf-d](https://github.com/dcarp/protobuf-d). Libraries are created with ` + "`d_library`" + ` from [rules_d](https://github.com/bazelbuild/rules_d)
Notes: mustTemplate("Rules for generating D protobuf ``.d`` files and libraries using `protobuf-d <https://github.com/dcarp/protobuf-d>`_. Libraries are created with ``d_library`` from `rules_d <https://github.com/bazelbuild/rules_d>`_" + `
**NOTE**: These rules use the protoc-gen-d plugin, which only supports proto3 .proto files.`),
Flags: commonLangFlags,
@ -51,7 +51,7 @@ func makeD() *Language {
Plugins: []string{"//d:d_plugin"},
WorkspaceExample: dWorkspaceTemplate,
BuildExample: protoCompileExampleTemplate,
Doc: "Generates D protobuf `.d` files",
Doc: "Generates D protobuf ``.d`` files",
Attrs: compileRuleAttrs,
SkipTestPlatforms: []string{"windows", "macos"},
},
@ -62,7 +62,7 @@ func makeD() *Language {
// Plugins: []string{"//d:grpc_d"}, # TODO: Try https://github.com/huntlabs/grpc-dlang
// WorkspaceExample: dWorkspaceTemplate,
// BuildExample: grpcCompileExampleTemplate,
// Doc: "Generates D protobuf and gRPC `.d` files",
// Doc: "Generates D protobuf and gRPC ``.d`` files",
// Attrs: libraryRuleAttrs,
// SkipTestPlatforms: []string{"windows", "macos"},
// },
@ -72,7 +72,7 @@ func makeD() *Language {
Implementation: dProtoLibraryRuleTemplate,
WorkspaceExample: dWorkspaceTemplate,
BuildExample: protoLibraryExampleTemplate,
Doc: "Generates a D protobuf library using `d_library` from `rules_d`",
Doc: "Generates a D protobuf library using ``d_library`` from ``rules_d``",
Attrs: compileRuleAttrs,
SkipTestPlatforms: []string{"windows", "macos"},
},
@ -82,7 +82,7 @@ func makeD() *Language {
// Implementation: dGrpcLibraryRuleTemplate,
// WorkspaceExample: dWorkspaceTemplate,
// BuildExample: grpcLibraryExampleTemplate,
// Doc: "Generates a D protobuf and gRPC library using `d_library` from `rules_d`",
// Doc: "Generates a D protobuf and gRPC library using ``d_library`` from ``rules_d``",
// Attrs: libraryRuleAttrs,
// SkipTestPlatforms: []string{"windows", "macos"},
// },

View File

@ -5,7 +5,7 @@ func makeDoc() *Language {
Dir: "doc",
Name: "doc",
DisplayName: "Documentation",
Notes: mustTemplate("Rules for generating protobuf Markdown, JSON, HTML or DocBook documentation with [protoc-gen-doc](https://github.com/pseudomuto/protoc-gen-doc)"),
Notes: mustTemplate("Rules for generating protobuf Markdown, JSON, HTML or DocBook documentation with `protoc-gen-doc <https://github.com/pseudomuto/protoc-gen-doc>`_"),
Flags: commonLangFlags,
Rules: []*Rule{
&Rule{
@ -15,7 +15,7 @@ func makeDoc() *Language {
Plugins: []string{"//doc:docbook_plugin"},
WorkspaceExample: protoWorkspaceTemplate,
BuildExample: protoCompileExampleTemplate,
Doc: "Generates DocBook `.xml` documentation file",
Doc: "Generates DocBook ``.xml`` documentation file",
Attrs: compileRuleAttrs,
Experimental: true,
},
@ -26,7 +26,7 @@ func makeDoc() *Language {
Plugins: []string{"//doc:html_plugin"},
WorkspaceExample: protoWorkspaceTemplate,
BuildExample: protoCompileExampleTemplate,
Doc: "Generates `.html` documentation file",
Doc: "Generates ``.html`` documentation file",
Attrs: compileRuleAttrs,
Experimental: true,
},
@ -37,7 +37,7 @@ func makeDoc() *Language {
Plugins: []string{"//doc:json_plugin"},
WorkspaceExample: protoWorkspaceTemplate,
BuildExample: protoCompileExampleTemplate,
Doc: "Generates `.json` documentation file",
Doc: "Generates ``.json`` documentation file",
Attrs: compileRuleAttrs,
Experimental: true,
},
@ -48,7 +48,7 @@ func makeDoc() *Language {
Plugins: []string{"//doc:markdown_plugin"},
WorkspaceExample: protoWorkspaceTemplate,
BuildExample: protoCompileExampleTemplate,
Doc: "Generates Markdown `.md` documentation file",
Doc: "Generates Markdown ``.md`` documentation file",
Attrs: compileRuleAttrs,
Experimental: true,
},

View File

@ -131,7 +131,7 @@ func makeGo() *Language {
Dir: "go",
Name: "go",
DisplayName: "Go",
Notes: mustTemplate("Rules for generating Go protobuf and gRPC `.go` files and libraries using [golang/protobuf](https://github.com/golang/protobuf). Libraries are created with `go_library` from [rules_go](https://github.com/bazelbuild/rules_go)"),
Notes: mustTemplate("Rules for generating Go protobuf and gRPC ``.go`` files and libraries using `golang/protobuf <https://github.com/golang/protobuf>`_. Libraries are created with ``go_library`` from `rules_go <https://github.com/bazelbuild/rules_go>`_"),
Flags: commonLangFlags,
Rules: []*Rule{
&Rule{
@ -142,7 +142,7 @@ func makeGo() *Language {
Plugins: []string{"//go:go_plugin"},
WorkspaceExample: goWorkspaceTemplate,
BuildExample: protoCompileExampleTemplate,
Doc: "Generates Go protobuf `.go` files",
Doc: "Generates Go protobuf ``.go`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -153,7 +153,7 @@ func makeGo() *Language {
Plugins: []string{"//go:go_plugin", "//go:grpc_go_plugin"},
WorkspaceExample: goWorkspaceTemplate,
BuildExample: grpcCompileExampleTemplate,
Doc: "Generates Go protobuf and gRPC `.go` files",
Doc: "Generates Go protobuf and gRPC ``.go`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -163,7 +163,7 @@ func makeGo() *Language {
Implementation: goProtoLibraryRuleTemplate,
WorkspaceExample: goWorkspaceTemplate,
BuildExample: goProtoLibraryExampleTemplate,
Doc: "Generates a Go protobuf library using `go_library` from `rules_go`",
Doc: "Generates a Go protobuf library using ``go_library`` from ``rules_go``",
Attrs: goLibraryRuleAttrs,
},
&Rule{
@ -173,7 +173,7 @@ func makeGo() *Language {
Implementation: goGrpcLibraryRuleTemplate,
WorkspaceExample: goWorkspaceTemplate,
BuildExample: goGrpcLibraryExampleTemplate,
Doc: "Generates a Go protobuf and gRPC library using `go_library` from `rules_go`",
Doc: "Generates a Go protobuf and gRPC library using ``go_library`` from ``rules_go``",
Attrs: goLibraryRuleAttrs,
},
},

View File

@ -96,7 +96,7 @@ func makeGrpcGateway() *Language {
Plugins: []string{"//grpc-gateway:grpc_gateway_plugin", "//go:grpc_go_plugin", "//go:go_plugin"},
WorkspaceExample: grpcGatewayWorkspaceTemplate,
BuildExample: grpcGatewayCompileExampleTemplate,
Doc: "Generates grpc-gateway `.go` files",
Doc: "Generates grpc-gateway ``.go`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -106,7 +106,7 @@ func makeGrpcGateway() *Language {
Plugins: []string{"//grpc-gateway:openapiv2_plugin"},
WorkspaceExample: grpcGatewayWorkspaceTemplate,
BuildExample: grpcGatewayCompileExampleTemplate,
Doc: "Generates grpc-gateway OpenAPI v2 `.json` files",
Doc: "Generates grpc-gateway OpenAPI v2 ``.json`` files",
Attrs: compileRuleAttrs,
SkipTestPlatforms: []string{"windows"}, // gRPC go lib rules fail on windows due to bad path
},

View File

@ -93,7 +93,7 @@ func makeJava() *Language {
Dir: "java",
Name: "java",
DisplayName: "Java",
Notes: mustTemplate("Rules for generating Java protobuf and gRPC `.jar` files and libraries using standard Protocol Buffers and [gRPC-Java](https://github.com/grpc/grpc-java). Libraries are created with the Bazel native `java_library`"),
Notes: mustTemplate("Rules for generating Java protobuf and gRPC ``.jar`` files and libraries using standard Protocol Buffers and `gRPC-Java <https://github.com/grpc/grpc-java>`_. Libraries are created with the Bazel native ``java_library``"),
Flags: commonLangFlags,
Rules: []*Rule{
&Rule{
@ -122,7 +122,7 @@ func makeJava() *Language {
Implementation: javaProtoLibraryRuleTemplate,
WorkspaceExample: javaProtoWorkspaceTemplate,
BuildExample: protoLibraryExampleTemplate,
Doc: "Generates a Java protobuf library using `java_library`",
Doc: "Generates a Java protobuf library using ``java_library``",
Attrs: javaLibraryRuleAttrs,
},
&Rule{
@ -131,7 +131,7 @@ func makeJava() *Language {
Implementation: javaGrpcLibraryRuleTemplate,
WorkspaceExample: javaGrpcWorkspaceTemplate,
BuildExample: grpcLibraryExampleTemplate,
Doc: "Generates a Java protobuf and gRPC library using `java_library`",
Doc: "Generates a Java protobuf and gRPC library using ``java_library``",
Attrs: javaLibraryRuleAttrs,
},
},

View File

@ -115,30 +115,32 @@ var jsLibraryRuleAttrs = append(append([]*Attr(nil), libraryRuleAttrs...), []*At
Name: "deps_repo",
Type: "string",
Default: "@npm",
Doc: "The repository to load the dependencies from, if you don't use `@npm`",
Doc: "The repository to load the dependencies from, if you don't use ``@npm``",
Mandatory: false,
},
}...)
var jsDependencyNote = `
> Note that you must add the required dependencies to your package.json file:
> ` + "```json" + `
> "dependencies": {
> "@grpc/grpc-js": "1.2.6",
> "google-protobuf": "3.15.3",
> "grpc-tools": "1.10.0",
> "grpc-web": "1.2.1",
> "ts-protoc-gen": "0.14.0"
> }
> ` + "```"
**Note**: You must add the required dependencies to your package.json file:
.. code-block:: json
"dependencies": {
"@grpc/grpc-js": "1.2.6",
"google-protobuf": "3.15.3",
"grpc-tools": "1.10.0",
"grpc-web": "1.2.1",
"ts-protoc-gen": "0.14.0"
}
`
func makeJavaScript() *Language {
return &Language{
Dir: "js",
Name: "js",
DisplayName: "JavaScript",
Notes: mustTemplate("Rules for generating JavaScript protobuf, gRPC-node and gRPC-Web `.js` and `.d.ts` files using standard Protocol Buffers and gRPC." + jsDependencyNote),
Notes: mustTemplate("Rules for generating JavaScript protobuf, gRPC-node and gRPC-Web ``.js`` and ``.d.ts`` files using standard Protocol Buffers and gRPC." + jsDependencyNote),
Flags: commonLangFlags,
Aliases: map[string]string{
"nodejs_proto_compile": "js_proto_compile",
@ -154,7 +156,7 @@ func makeJavaScript() *Language {
Plugins: []string{"//js:js_plugin", "//js:ts_plugin"},
WorkspaceExample: jsWorkspaceTemplate,
BuildExample: protoCompileExampleTemplate,
Doc: "Generates JavaScript protobuf `.js` and `.d.ts` files",
Doc: "Generates JavaScript protobuf ``.js`` and ``.d.ts`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -164,7 +166,7 @@ func makeJavaScript() *Language {
Plugins: []string{"//js:js_plugin", "//js:ts_plugin", "//js:grpc_node_plugin", "//js:grpc_node_ts_plugin"},
WorkspaceExample: jsWorkspaceTemplate,
BuildExample: grpcCompileExampleTemplate,
Doc: "Generates JavaScript protobuf and gRPC-node `.js` and `.d.ts` files",
Doc: "Generates JavaScript protobuf and gRPC-node ``.js`` and ``.d.ts`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -174,7 +176,7 @@ func makeJavaScript() *Language {
Plugins: []string{"//js:js_plugin", "//js:ts_plugin", "//js:grpc_web_js_plugin"},
WorkspaceExample: jsWorkspaceTemplate,
BuildExample: grpcCompileExampleTemplate,
Doc: "Generates JavaScript protobuf and gRPC-Web `.js` and `.d.ts` files",
Doc: "Generates JavaScript protobuf and gRPC-Web ``.js`` and ``.d.ts`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -183,7 +185,7 @@ func makeJavaScript() *Language {
Implementation: jsProtoLibraryRuleTemplate,
WorkspaceExample: jsWorkspaceTemplate,
BuildExample: protoLibraryExampleTemplate,
Doc: "Generates a JavaScript protobuf library using `js_library` from `rules_nodejs`",
Doc: "Generates a JavaScript protobuf library using ``js_library`` from ``rules_nodejs``",
Attrs: jsLibraryRuleAttrs,
},
&Rule{
@ -192,7 +194,7 @@ func makeJavaScript() *Language {
Implementation: nodeGrpcLibraryRuleTemplate,
WorkspaceExample: jsWorkspaceTemplate,
BuildExample: grpcLibraryExampleTemplate,
Doc: "Generates a Node.js protobuf + gRPC-node library using `js_library` from `rules_nodejs`",
Doc: "Generates a Node.js protobuf + gRPC-node library using ``js_library`` from ``rules_nodejs``",
Attrs: jsLibraryRuleAttrs,
},
&Rule{
@ -201,7 +203,7 @@ func makeJavaScript() *Language {
Implementation: jsGrpcWebLibraryRuleTemplate,
WorkspaceExample: jsWorkspaceTemplate,
BuildExample: grpcLibraryExampleTemplate,
Doc: "Generates a JavaScript protobuf + gRPC-Web library using `js_library` from `rules_nodejs`",
Doc: "Generates a JavaScript protobuf + gRPC-Web library using ``js_library`` from ``rules_nodejs``",
Attrs: jsLibraryRuleAttrs,
},
},

View File

@ -291,7 +291,7 @@ func mustWriteLanguageReadme(dir string, lang *Language) {
out.w(" * - Rule")
out.w(" - Description")
for _, rule := range lang.Rules {
out.w(" * - `%s <%s>`_", rule.Name, rule.Name)
out.w(" * - `%s <#%s>`_", rule.Name, rule.Name)
out.w(" - %s", rule.Doc)
}
out.ln()
@ -302,7 +302,7 @@ func mustWriteLanguageReadme(dir string, lang *Language) {
out.ln()
if rule.Experimental {
out.w(".. note:: This rule is experimental. It may not work correctly!")
out.w("**Note**: This rule is experimental. It may not work correctly!")
out.ln()
}
out.w(rule.Doc)
@ -331,7 +331,7 @@ func mustWriteLanguageReadme(dir string, lang *Language) {
out.w("*****")
out.ln()
out.w(".. list-table:: Rules")
out.w(".. list-table:: Flags for %s", rule.Name)
out.w(" :header-rows: 1")
out.ln()
out.w(" * - Category")
@ -350,7 +350,7 @@ func mustWriteLanguageReadme(dir string, lang *Language) {
out.w("Attributes")
out.w("**********")
out.ln()
out.w(".. list-table:: Rules")
out.w(".. list-table:: Attributes for %s", rule.Name)
out.w(" :header-rows: 1")
out.ln()
out.w(" * - Name")
@ -359,10 +359,10 @@ func mustWriteLanguageReadme(dir string, lang *Language) {
out.w(" - Default")
out.w(" - Description")
for _, attr := range rule.Attrs {
out.w(" * - `%s`", attr.Name)
out.w(" - `%s`", attr.Type)
out.w(" * - ``%s``", attr.Name)
out.w(" - ``%s``", attr.Type)
out.w(" - %t", attr.Mandatory)
out.w(" - `%s`", attr.Default)
out.w(" - ``%s``", attr.Default)
out.w(" - %s", attr.Doc)
}
out.ln()

View File

@ -82,7 +82,7 @@ func makeObjc() *Language {
Dir: "objc",
Name: "objc",
DisplayName: "Objective-C",
Notes: mustTemplate("Rules for generating Objective-C protobuf and gRPC `.m` & `.h` files and libraries using standard Protocol Buffers and gRPC. Libraries are created with the Bazel native `objc_library`"),
Notes: mustTemplate("Rules for generating Objective-C protobuf and gRPC ``.m`` & ``.h`` files and libraries using standard Protocol Buffers and gRPC. Libraries are created with the Bazel native ``objc_library``"),
Flags: commonLangFlags,
SkipTestPlatforms: []string{"linux", "windows"},
Rules: []*Rule{
@ -93,7 +93,7 @@ func makeObjc() *Language {
Plugins: []string{"//objc:objc_plugin"},
WorkspaceExample: protoWorkspaceTemplate,
BuildExample: protoCompileExampleTemplate,
Doc: "Generates Objective-C protobuf `.m` & `.h` files",
Doc: "Generates Objective-C protobuf ``.m`` & ``.h`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -103,7 +103,7 @@ func makeObjc() *Language {
Plugins: []string{"//objc:objc_plugin", "//objc:grpc_objc_plugin"},
WorkspaceExample: grpcWorkspaceTemplate,
BuildExample: grpcCompileExampleTemplate,
Doc: "Generates Objective-C protobuf and gRPC `.m` & `.h` files",
Doc: "Generates Objective-C protobuf and gRPC ``.m`` & ``.h`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -112,7 +112,7 @@ func makeObjc() *Language {
Implementation: objcProtoLibraryRuleTemplate,
WorkspaceExample: protoWorkspaceTemplate,
BuildExample: protoLibraryExampleTemplate,
Doc: "Generates an Objective-C protobuf library using `objc_library`",
Doc: "Generates an Objective-C protobuf library using ``objc_library``",
Attrs: cppLibraryRuleAttrs,
},
&Rule{
@ -121,7 +121,7 @@ func makeObjc() *Language {
Implementation: objcGrpcLibraryRuleTemplate,
WorkspaceExample: grpcWorkspaceTemplate,
BuildExample: grpcLibraryExampleTemplate,
Doc: "Generates an Objective-C protobuf and gRPC library using `objc_library`",
Doc: "Generates an Objective-C protobuf and gRPC library using ``objc_library``",
Attrs: cppLibraryRuleAttrs,
Experimental: true,
},

View File

@ -5,7 +5,7 @@ func makePhp() *Language {
Dir: "php",
Name: "php",
DisplayName: "PHP",
Notes: mustTemplate("Rules for generating PHP protobuf and gRPC `.php` files and libraries using standard Protocol Buffers and gRPC"),
Notes: mustTemplate("Rules for generating PHP protobuf and gRPC ``.php`` files and libraries using standard Protocol Buffers and gRPC"),
Flags: commonLangFlags,
Rules: []*Rule{
&Rule{
@ -15,7 +15,7 @@ func makePhp() *Language {
Plugins: []string{"//php:php_plugin"},
WorkspaceExample: protoWorkspaceTemplate,
BuildExample: protoCompileExampleTemplate,
Doc: "Generates PHP protobuf `.php` files",
Doc: "Generates PHP protobuf ``.php`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -25,7 +25,7 @@ func makePhp() *Language {
Plugins: []string{"//php:php_plugin", "//php:grpc_php_plugin"},
WorkspaceExample: grpcWorkspaceTemplate,
BuildExample: grpcCompileExampleTemplate,
Doc: "Generates PHP protobuf and gRPC `.php` files",
Doc: "Generates PHP protobuf and gRPC ``.php`` files",
Attrs: compileRuleAttrs,
},
},

View File

@ -112,7 +112,7 @@ func makePython() *Language {
Dir: "python",
Name: "python",
DisplayName: "Python",
Notes: mustTemplate("Rules for generating Python protobuf and gRPC `.py` files and libraries using standard Protocol Buffers and gRPC or [grpclib](https://github.com/vmagamedov/grpclib). Libraries are created with `py_library` from `rules_python`. To use the fast C++ Protobuf implementation, you can add `--define=use_fast_cpp_protos=true` to your build, but this requires you setup the path to your Python headers.\n\nNote: On Windows, the path to Python for `pip_install` may need updating to `Python.exe`, depending on your install."),
Notes: mustTemplate("Rules for generating Python protobuf and gRPC ``.py`` files and libraries using standard Protocol Buffers and gRPC or `grpclib <https://github.com/vmagamedov/grpclib>`_. Libraries are created with ``py_library`` from ``rules_python``. To use the fast C++ Protobuf implementation, you can add ``--define=use_fast_cpp_protos=true`` to your build, but this requires you setup the path to your Python headers.\n\n**Note**: On Windows, the path to Python for ``pip_install`` may need updating to ``Python.exe``, depending on your install."),
Flags: commonLangFlags,
Aliases: map[string]string{
"py_proto_compile": "python_proto_compile",
@ -130,7 +130,7 @@ func makePython() *Language {
Plugins: []string{"//python:python_plugin"},
WorkspaceExample: protoWorkspaceTemplate,
BuildExample: protoCompileExampleTemplate,
Doc: "Generates Python protobuf `.py` files",
Doc: "Generates Python protobuf ``.py`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -140,7 +140,7 @@ func makePython() *Language {
Plugins: []string{"//python:python_plugin", "//python:grpc_python_plugin"},
WorkspaceExample: grpcWorkspaceTemplate,
BuildExample: grpcCompileExampleTemplate,
Doc: "Generates Python protobuf and gRPC `.py` files",
Doc: "Generates Python protobuf and gRPC ``.py`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -150,7 +150,7 @@ func makePython() *Language {
Plugins: []string{"//python:python_plugin", "//python:grpclib_python_plugin"},
WorkspaceExample: pythonGrpclibLibraryWorkspaceTemplate,
BuildExample: grpcCompileExampleTemplate,
Doc: "Generates Python protobuf and grpclib `.py` files (supports Python 3 only)",
Doc: "Generates Python protobuf and grpclib ``.py`` files (supports Python 3 only)",
Attrs: compileRuleAttrs,
SkipTestPlatforms: []string{"windows", "macos"},
},
@ -160,7 +160,7 @@ func makePython() *Language {
Implementation: pythonProtoLibraryRuleTemplate,
WorkspaceExample: protoWorkspaceTemplate,
BuildExample: protoLibraryExampleTemplate,
Doc: "Generates a Python protobuf library using `py_library` from `rules_python`",
Doc: "Generates a Python protobuf library using ``py_library`` from ``rules_python``",
Attrs: libraryRuleAttrs,
},
&Rule{
@ -169,7 +169,7 @@ func makePython() *Language {
Implementation: pythonGrpcLibraryRuleTemplate,
WorkspaceExample: pythonGrpcLibraryWorkspaceTemplate,
BuildExample: grpcLibraryExampleTemplate,
Doc: "Generates a Python protobuf and gRPC library using `py_library` from `rules_python`",
Doc: "Generates a Python protobuf and gRPC library using ``py_library`` from ``rules_python``",
Attrs: libraryRuleAttrs,
SkipTestPlatforms: []string{"windows"},
},
@ -179,7 +179,7 @@ func makePython() *Language {
Implementation: pythonGrpclibLibraryRuleTemplate,
WorkspaceExample: pythonGrpclibLibraryWorkspaceTemplate,
BuildExample: grpcLibraryExampleTemplate,
Doc: "Generates a Python protobuf and grpclib library using `py_library` from `rules_python` (supports Python 3 only)",
Doc: "Generates a Python protobuf and grpclib library using ``py_library`` from ``rules_python`` (supports Python 3 only)",
Attrs: libraryRuleAttrs,
SkipTestPlatforms: []string{"windows", "macos"},
},

View File

@ -67,7 +67,7 @@ func makeRuby() *Language {
Dir: "ruby",
Name: "ruby",
DisplayName: "Ruby",
Notes: mustTemplate("Rules for generating Ruby protobuf and gRPC `.rb` files and libraries using standard Protocol Buffers and gRPC. Libraries are created with `ruby_library` from [rules_ruby](https://github.com/bazelruby/rules_ruby)"),
Notes: mustTemplate("Rules for generating Ruby protobuf and gRPC ``.rb`` files and libraries using standard Protocol Buffers and gRPC. Libraries are created with ``ruby_library`` from `rules_ruby <https://github.com/bazelruby/rules_ruby>`_"),
Flags: commonLangFlags,
//SkipTestPlatforms: []string{"windows"}, // CI has no Ruby available for windows
SkipTestPlatforms: []string{"all"}, // https://github.com/rules-proto-grpc/rules_proto_grpc/issues/65
@ -79,7 +79,7 @@ func makeRuby() *Language {
Plugins: []string{"//ruby:ruby_plugin"},
WorkspaceExample: rubyProtoWorkspaceTemplate,
BuildExample: protoCompileExampleTemplate,
Doc: "Generates Ruby protobuf `.rb` files",
Doc: "Generates Ruby protobuf ``.rb`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -89,7 +89,7 @@ func makeRuby() *Language {
Plugins: []string{"//ruby:ruby_plugin", "//ruby:grpc_ruby_plugin"},
WorkspaceExample: rubyGrpcWorkspaceTemplate,
BuildExample: grpcCompileExampleTemplate,
Doc: "Generates Ruby protobuf and gRPC `.rb` files",
Doc: "Generates Ruby protobuf and gRPC ``.rb`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -98,7 +98,7 @@ func makeRuby() *Language {
Implementation: rubyLibraryRuleTemplate,
WorkspaceExample: rubyProtoWorkspaceTemplate,
BuildExample: protoLibraryExampleTemplate,
Doc: "Generates a Ruby protobuf library using `ruby_library` from `rules_ruby`",
Doc: "Generates a Ruby protobuf library using ``ruby_library`` from ``rules_ruby``",
Attrs: libraryRuleAttrs,
},
&Rule{
@ -107,7 +107,7 @@ func makeRuby() *Language {
Implementation: rubyLibraryRuleTemplate,
WorkspaceExample: rubyGrpcWorkspaceTemplate,
BuildExample: grpcLibraryExampleTemplate,
Doc: "Generates a Ruby protobuf and gRPC library using `ruby_library` from `rules_ruby`",
Doc: "Generates a Ruby protobuf and gRPC library using ``ruby_library`` from ``rules_ruby``",
Attrs: libraryRuleAttrs,
},
},

View File

@ -99,7 +99,7 @@ func makeRust() *Language {
Dir: "rust",
Name: "rust",
DisplayName: "Rust",
Notes: mustTemplate("Rules for generating Rust protobuf and gRPC `.rs` files and libraries using [rust-protobuf](https://github.com/stepancheg/rust-protobuf) and [grpc-rs](https://github.com/tikv/grpc-rs). Libraries are created with `rust_library` from [rules_rust](https://github.com/bazelbuild/rules_rust)."),
Notes: mustTemplate("Rules for generating Rust protobuf and gRPC ``.rs`` files and libraries using `rust-protobuf <https://github.com/stepancheg/rust-protobuf> and `grpc-rs <https://github.com/tikv/grpc-rs>`_. Libraries are created with ``rust_library`` from `rules_rust <https://github.com/bazelbuild/rules_rust>`_."),
Flags: commonLangFlags,
SkipTestPlatforms: []string{"windows", "macos"}, // CI has no rust toolchain for windows and is broken on mac
Rules: []*Rule{
@ -110,7 +110,7 @@ func makeRust() *Language {
Plugins: []string{"//rust:rust_plugin"},
WorkspaceExample: rustWorkspaceTemplate,
BuildExample: protoCompileExampleTemplate,
Doc: "Generates Rust protobuf `.rs` files",
Doc: "Generates Rust protobuf ``.rs`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -120,7 +120,7 @@ func makeRust() *Language {
Plugins: []string{"//rust:rust_plugin", "//rust:grpc_rust_plugin"},
WorkspaceExample: rustWorkspaceTemplate,
BuildExample: grpcCompileExampleTemplate,
Doc: "Generates Rust protobuf and gRPC `.rs` files",
Doc: "Generates Rust protobuf and gRPC ``.rs`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -129,7 +129,7 @@ func makeRust() *Language {
Implementation: rustProtoLibraryRuleTemplate,
WorkspaceExample: rustWorkspaceTemplate,
BuildExample: rustProtoLibraryExampleTemplate,
Doc: "Generates a Rust protobuf library using `rust_library` from `rules_rust`",
Doc: "Generates a Rust protobuf library using ``rust_library`` from ``rules_rust``",
Attrs: libraryRuleAttrs,
},
&Rule{
@ -138,7 +138,7 @@ func makeRust() *Language {
Implementation: rustGrpcLibraryRuleTemplate,
WorkspaceExample: rustWorkspaceTemplate,
BuildExample: rustGrpcLibraryExampleTemplate,
Doc: "Generates a Rust protobuf and gRPC library using `rust_library` from `rules_rust`",
Doc: "Generates a Rust protobuf and gRPC library using ``rust_library`` from ``rules_rust``",
Attrs: libraryRuleAttrs,
},
},

View File

@ -101,7 +101,7 @@ func makeScala() *Language {
Dir: "scala",
Name: "scala",
DisplayName: "Scala",
Notes: mustTemplate("Rules for generating Scala protobuf and gRPC `.jar` files and libraries using [ScalaPB](https://github.com/scalapb/ScalaPB). Libraries are created with `scala_library` from [rules_scala](https://github.com/bazelbuild/rules_scala)"),
Notes: mustTemplate("Rules for generating Scala protobuf and gRPC ``.jar`` files and libraries using `ScalaPB <https://github.com/scalapb/ScalaPB>`_. Libraries are created with ``scala_library`` from `rules_scala <https://github.com/bazelbuild/rules_scala>`_"),
Flags: commonLangFlags,
SkipTestPlatforms: []string{},
Rules: []*Rule{
@ -112,7 +112,7 @@ func makeScala() *Language {
Plugins: []string{"//scala:scala_plugin"},
WorkspaceExample: scalaProtoWorkspaceTemplate,
BuildExample: protoCompileExampleTemplate,
Doc: "Generates a Scala protobuf `.jar` file",
Doc: "Generates a Scala protobuf ``.jar`` file",
Attrs: compileRuleAttrs,
SkipTestPlatforms: []string{"windows"},
},
@ -123,7 +123,7 @@ func makeScala() *Language {
Plugins: []string{"//scala:grpc_scala_plugin"},
WorkspaceExample: scalaGrpcWorkspaceTemplate,
BuildExample: grpcCompileExampleTemplate,
Doc: "Generates Scala protobuf and gRPC `.jar` file",
Doc: "Generates Scala protobuf and gRPC ``.jar`` file",
Attrs: compileRuleAttrs,
SkipTestPlatforms: []string{"windows"},
},
@ -133,7 +133,7 @@ func makeScala() *Language {
Implementation: scalaProtoLibraryRuleTemplate,
WorkspaceExample: scalaProtoWorkspaceTemplate,
BuildExample: protoLibraryExampleTemplate,
Doc: "Generates a Scala protobuf library using `scala_library` from `rules_scala`",
Doc: "Generates a Scala protobuf library using ``scala_library`` from ``rules_scala``",
Attrs: javaLibraryRuleAttrs,
SkipTestPlatforms: []string{"windows"},
},
@ -143,7 +143,7 @@ func makeScala() *Language {
Implementation: scalaGrpcLibraryRuleTemplate,
WorkspaceExample: scalaGrpcWorkspaceTemplate,
BuildExample: grpcLibraryExampleTemplate,
Doc: "Generates a Scala protobuf and gRPC library using `scala_library` from `rules_scala`",
Doc: "Generates a Scala protobuf and gRPC library using ``scala_library`` from ``rules_scala``",
Attrs: javaLibraryRuleAttrs,
SkipTestPlatforms: []string{"windows"},
},

View File

@ -101,7 +101,7 @@ func makeSwift() *Language {
Dir: "swift",
Name: "swift",
DisplayName: "Swift",
Notes: mustTemplate("Rules for generating Swift protobuf and gRPC `.swift` files and libraries using [Swift Protobuf](https://github.com/apple/swift-protobuf) and [Swift gRPC](https://github.com/grpc/grpc-swift)"),
Notes: mustTemplate("Rules for generating Swift protobuf and gRPC ``.swift`` files and libraries using `Swift Protobuf <https://github.com/apple/swift-protobuf>`_ and `Swift gRPC <https://github.com/grpc/grpc-swift>`_"),
PresubmitEnvVars: map[string]string{
"CC": "clang",
},
@ -115,7 +115,7 @@ func makeSwift() *Language {
Plugins: []string{"//swift:swift_plugin"},
WorkspaceExample: swiftWorkspaceTemplate,
BuildExample: protoCompileExampleTemplate,
Doc: "Generates Swift protobuf `.swift` files",
Doc: "Generates Swift protobuf ``.swift`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -125,7 +125,7 @@ func makeSwift() *Language {
Plugins: []string{"//swift:swift_plugin", "//swift:grpc_swift_plugin"},
WorkspaceExample: swiftWorkspaceTemplate,
BuildExample: grpcCompileExampleTemplate,
Doc: "Generates Swift protobuf and gRPC `.swift` files",
Doc: "Generates Swift protobuf and gRPC ``.swift`` files",
Attrs: compileRuleAttrs,
},
&Rule{
@ -134,7 +134,7 @@ func makeSwift() *Language {
Implementation: swiftProtoLibraryRuleTemplate,
WorkspaceExample: swiftWorkspaceTemplate,
BuildExample: swiftProtoLibraryExampleTemplate,
Doc: "Generates a Swift protobuf library using `swift_library` from `rules_swift`",
Doc: "Generates a Swift protobuf library using ``swift_library`` from ``rules_swift``",
Attrs: swiftLibraryRuleAttrs,
},
&Rule{
@ -143,7 +143,7 @@ func makeSwift() *Language {
Implementation: swiftGrpcLibraryRuleTemplate,
WorkspaceExample: swiftWorkspaceTemplate,
BuildExample: swiftGrpcLibraryExampleTemplate,
Doc: "Generates a Swift protobuf and gRPC library using `swift_library` from `rules_swift`",
Doc: "Generates a Swift protobuf and gRPC library using ``swift_library`` from ``rules_swift``",
Attrs: swiftLibraryRuleAttrs,
},
},