Skip to content

Commit dfc73de

Browse files
lorenzfionera
authored andcommitted
Support no_std in Prost toolchain
1 parent b5698fc commit dfc73de

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

docs/src/rust_prost.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -166,9 +166,9 @@ A rule for generating a Rust library using Prost.
166166
## rust_prost_toolchain
167167

168168
<pre>
169-
rust_prost_toolchain(<a href="#rust_prost_toolchain-name">name</a>, <a href="#rust_prost_toolchain-include_transitive_deps">include_transitive_deps</a>, <a href="#rust_prost_toolchain-prost_opts">prost_opts</a>, <a href="#rust_prost_toolchain-prost_plugin">prost_plugin</a>, <a href="#rust_prost_toolchain-prost_plugin_flag">prost_plugin_flag</a>,
170-
<a href="#rust_prost_toolchain-prost_runtime">prost_runtime</a>, <a href="#rust_prost_toolchain-prost_types">prost_types</a>, <a href="#rust_prost_toolchain-proto_compiler">proto_compiler</a>, <a href="#rust_prost_toolchain-tonic_opts">tonic_opts</a>, <a href="#rust_prost_toolchain-tonic_plugin">tonic_plugin</a>,
171-
<a href="#rust_prost_toolchain-tonic_plugin_flag">tonic_plugin_flag</a>, <a href="#rust_prost_toolchain-tonic_runtime">tonic_runtime</a>)
169+
rust_prost_toolchain(<a href="#rust_prost_toolchain-name">name</a>, <a href="#rust_prost_toolchain-include_transitive_deps">include_transitive_deps</a>, <a href="#rust_prost_toolchain-is_nostd">is_nostd</a>, <a href="#rust_prost_toolchain-prost_opts">prost_opts</a>, <a href="#rust_prost_toolchain-prost_plugin">prost_plugin</a>,
170+
<a href="#rust_prost_toolchain-prost_plugin_flag">prost_plugin_flag</a>, <a href="#rust_prost_toolchain-prost_runtime">prost_runtime</a>, <a href="#rust_prost_toolchain-prost_types">prost_types</a>, <a href="#rust_prost_toolchain-proto_compiler">proto_compiler</a>, <a href="#rust_prost_toolchain-tonic_opts">tonic_opts</a>,
171+
<a href="#rust_prost_toolchain-tonic_plugin">tonic_plugin</a>, <a href="#rust_prost_toolchain-tonic_plugin_flag">tonic_plugin_flag</a>, <a href="#rust_prost_toolchain-tonic_runtime">tonic_runtime</a>)
172172
</pre>
173173

174174
Rust Prost toolchain rule.
@@ -180,6 +180,7 @@ Rust Prost toolchain rule.
180180
| :------------- | :------------- | :------------- | :------------- | :------------- |
181181
| <a id="rust_prost_toolchain-name"></a>name | A unique name for this target. | <a href="https://bazel.build/concepts/labels#target-names">Name</a> | required | |
182182
| <a id="rust_prost_toolchain-include_transitive_deps"></a>include_transitive_deps | Whether to include transitive dependencies. If set to True, all transitive dependencies will directly accessible by the dependent crate. | Boolean | optional | `False` |
183+
| <a id="rust_prost_toolchain-is_nostd"></a>is_nostd | If a no_std tag should be put into the generated code. | Boolean | optional | `False` |
183184
| <a id="rust_prost_toolchain-prost_opts"></a>prost_opts | Additional options to add to Prost. | List of strings | optional | `[]` |
184185
| <a id="rust_prost_toolchain-prost_plugin"></a>prost_plugin | Additional plugins to add to Prost. | <a href="https://bazel.build/concepts/labels">Label</a> | required | |
185186
| <a id="rust_prost_toolchain-prost_plugin_flag"></a>prost_plugin_flag | Prost plugin flag format. (e.g. `--plugin=protoc-gen-prost=%s`) | String | optional | `"--plugin=protoc-gen-prost=%s"` |

extensions/prost/private/protoc_wrapper.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,11 @@ fn generate_lib_rs(
159159
is_nostd: bool,
160160
) -> String {
161161
let mut contents = vec![
162-
if is_nostd { "#![no_std]".to_string() } else { "".to_string() },
162+
if is_nostd {
163+
"#![no_std]".to_string()
164+
} else {
165+
"".to_string()
166+
},
163167
"// @generated".to_string(),
164168
"".to_string(),
165169
];
@@ -988,7 +992,6 @@ fn escape_keyword(s: String) -> String {
988992

989993
#[cfg(test)]
990994
mod test {
991-
992995
use super::*;
993996

994997
use prost_types::{FieldDescriptorProto, ServiceDescriptorProto};

0 commit comments

Comments
 (0)