feat(build): add cleanup-markdown feature flag (#1086)

This commit is contained in:
Marek Kuskowski
2022-09-28 10:00:25 -04:00
committed by GitHub
parent 56ff45d9a3
commit c1b08dffac
4 changed files with 64 additions and 52 deletions
+3 -2
View File
@@ -15,14 +15,15 @@ repository = "https://github.com/hyperium/tonic"
version = "0.8.0" version = "0.8.0"
[dependencies] [dependencies]
prettyplease = {version = "0.1"} prettyplease = { version = "0.1" }
proc-macro2 = "1.0" proc-macro2 = "1.0"
prost-build = {version = "0.11", optional = true} prost-build = { version = "0.11", optional = true }
quote = "1.0" quote = "1.0"
syn = "1.0" syn = "1.0"
[features] [features]
default = ["transport", "prost"] default = ["transport", "prost"]
cleanup-markdown = ["prost-build/cleanup-markdown"]
prost = ["prost-build"] prost = ["prost-build"]
transport = [] transport = []
+8
View File
@@ -1,6 +1,14 @@
//! `tonic-build` compiles `proto` files via `prost` and generates service stubs //! `tonic-build` compiles `proto` files via `prost` and generates service stubs
//! and proto definitiones for use with `tonic`. //! and proto definitiones for use with `tonic`.
//! //!
//! # Feature flags
//!
//! - `cleanup-markdown`: Enables cleaning up documentation from the generated code. Useful
//! when documentation of the generated code fails `cargo test --doc` for example.
//! - `prost`: Enables usage of prost generator (enabled by default).
//! - `transport`: Enables generation of `connect` method using `tonic::transport::Channel`
//! (enabled by default).
//!
//! # Required dependencies //! # Required dependencies
//! //!
//! ```toml //! ```toml
+30 -30
View File
@@ -103,8 +103,8 @@ pub mod health_client {
self.inner = self.inner.accept_compressed(encoding); self.inner = self.inner.accept_compressed(encoding);
self self
} }
/// If the requested service is unknown, the call will fail with status ///If the requested service is unknown, the call will fail with status
/// NOT_FOUND. ///NOT_FOUND.
pub async fn check( pub async fn check(
&mut self, &mut self,
request: impl tonic::IntoRequest<super::HealthCheckRequest>, request: impl tonic::IntoRequest<super::HealthCheckRequest>,
@@ -124,21 +124,21 @@ pub mod health_client {
); );
self.inner.unary(request.into_request(), path, codec).await self.inner.unary(request.into_request(), path, codec).await
} }
/// Performs a watch for the serving status of the requested service. ///Performs a watch for the serving status of the requested service.
/// The server will immediately send back a message indicating the current ///The server will immediately send back a message indicating the current
/// serving status. It will then subsequently send a new message whenever ///serving status. It will then subsequently send a new message whenever
/// the service's serving status changes. ///the service's serving status changes.
/// ///
/// If the requested service is unknown when the call is received, the ///If the requested service is unknown when the call is received, the
/// server will send a message setting the serving status to ///server will send a message setting the serving status to
/// SERVICE_UNKNOWN but will *not* terminate the call. If at some ///SERVICE_UNKNOWN but will *not* terminate the call. If at some
/// future point, the serving status of the service becomes known, the ///future point, the serving status of the service becomes known, the
/// server will send a new message with the service's serving status. ///server will send a new message with the service's serving status.
/// ///
/// If the call terminates with status UNIMPLEMENTED, then clients ///If the call terminates with status UNIMPLEMENTED, then clients
/// should assume this method is not supported and should not retry the ///should assume this method is not supported and should not retry the
/// call. If the call terminates with any other status (including OK), ///call. If the call terminates with any other status (including OK),
/// clients should retry the call with appropriate exponential backoff. ///clients should retry the call with appropriate exponential backoff.
pub async fn watch( pub async fn watch(
&mut self, &mut self,
request: impl tonic::IntoRequest<super::HealthCheckRequest>, request: impl tonic::IntoRequest<super::HealthCheckRequest>,
@@ -170,8 +170,8 @@ pub mod health_server {
///Generated trait containing gRPC methods that should be implemented for use with HealthServer. ///Generated trait containing gRPC methods that should be implemented for use with HealthServer.
#[async_trait] #[async_trait]
pub trait Health: Send + Sync + 'static { pub trait Health: Send + Sync + 'static {
/// If the requested service is unknown, the call will fail with status ///If the requested service is unknown, the call will fail with status
/// NOT_FOUND. ///NOT_FOUND.
async fn check( async fn check(
&self, &self,
request: tonic::Request<super::HealthCheckRequest>, request: tonic::Request<super::HealthCheckRequest>,
@@ -182,21 +182,21 @@ pub mod health_server {
> >
+ Send + Send
+ 'static; + 'static;
/// Performs a watch for the serving status of the requested service. ///Performs a watch for the serving status of the requested service.
/// The server will immediately send back a message indicating the current ///The server will immediately send back a message indicating the current
/// serving status. It will then subsequently send a new message whenever ///serving status. It will then subsequently send a new message whenever
/// the service's serving status changes. ///the service's serving status changes.
/// ///
/// If the requested service is unknown when the call is received, the ///If the requested service is unknown when the call is received, the
/// server will send a message setting the serving status to ///server will send a message setting the serving status to
/// SERVICE_UNKNOWN but will *not* terminate the call. If at some ///SERVICE_UNKNOWN but will *not* terminate the call. If at some
/// future point, the serving status of the service becomes known, the ///future point, the serving status of the service becomes known, the
/// server will send a new message with the service's serving status. ///server will send a new message with the service's serving status.
/// ///
/// If the call terminates with status UNIMPLEMENTED, then clients ///If the call terminates with status UNIMPLEMENTED, then clients
/// should assume this method is not supported and should not retry the ///should assume this method is not supported and should not retry the
/// call. If the call terminates with any other status (including OK), ///call. If the call terminates with any other status (including OK),
/// clients should retry the call with appropriate exponential backoff. ///clients should retry the call with appropriate exponential backoff.
async fn watch( async fn watch(
&self, &self,
request: tonic::Request<super::HealthCheckRequest>, request: tonic::Request<super::HealthCheckRequest>,
+23 -20
View File
@@ -7,12 +7,12 @@
/// [API Design Guide](<https://cloud.google.com/apis/design/errors>). /// [API Design Guide](<https://cloud.google.com/apis/design/errors>).
#[derive(Clone, PartialEq, ::prost::Message)] #[derive(Clone, PartialEq, ::prost::Message)]
pub struct Status { pub struct Status {
/// The status code, which should be an enum value of \[google.rpc.Code][google.rpc.Code\]. /// The status code, which should be an enum value of \\[google.rpc.Code\]\[google.rpc.Code\\].
#[prost(int32, tag="1")] #[prost(int32, tag="1")]
pub code: i32, pub code: i32,
/// A developer-facing error message, which should be in English. Any /// A developer-facing error message, which should be in English. Any
/// user-facing error message should be localized and sent in the /// user-facing error message should be localized and sent in the
/// \[google.rpc.Status.details][google.rpc.Status.details\] field, or localized by the client. /// \\[google.rpc.Status.details\]\[google.rpc.Status.details\\] field, or localized by the client.
#[prost(string, tag="2")] #[prost(string, tag="2")]
pub message: ::prost::alloc::string::String, pub message: ::prost::alloc::string::String,
/// A list of messages that carry the error details. There is a common set of /// A list of messages that carry the error details. There is a common set of
@@ -92,33 +92,36 @@ pub mod quota_failure {
/// ///
/// Example of an error when contacting the "pubsub.googleapis.com" API when it /// Example of an error when contacting the "pubsub.googleapis.com" API when it
/// is not enabled: /// is not enabled:
/// ```json ///
/// { "reason": "API_DISABLED" /// ```text,json
/// "domain": "googleapis.com" /// { "reason": "API_DISABLED"
/// "metadata": { /// "domain": "googleapis.com"
/// "resource": "projects/123", /// "metadata": {
/// "service": "pubsub.googleapis.com" /// "resource": "projects/123",
/// } /// "service": "pubsub.googleapis.com"
/// } /// }
/// }
/// ``` /// ```
///
/// This response indicates that the pubsub.googleapis.com API is not enabled. /// This response indicates that the pubsub.googleapis.com API is not enabled.
/// ///
/// Example of an error that is returned when attempting to create a Spanner /// Example of an error that is returned when attempting to create a Spanner
/// instance in a region that is out of stock: /// instance in a region that is out of stock:
/// ```json ///
/// { "reason": "STOCKOUT" /// ```text,json
/// "domain": "spanner.googleapis.com", /// { "reason": "STOCKOUT"
/// "metadata": { /// "domain": "spanner.googleapis.com",
/// "availableRegions": "us-central1,us-east2" /// "metadata": {
/// } /// "availableRegions": "us-central1,us-east2"
/// } /// }
/// }
/// ``` /// ```
#[derive(Clone, PartialEq, ::prost::Message)] #[derive(Clone, PartialEq, ::prost::Message)]
pub struct ErrorInfo { pub struct ErrorInfo {
/// The reason of the error. This is a constant value that identifies the /// The reason of the error. This is a constant value that identifies the
/// proximate cause of the error. Error reasons are unique within a particular /// proximate cause of the error. Error reasons are unique within a particular
/// domain of errors. This should be at most 63 characters and match /// domain of errors. This should be at most 63 characters and match
/// /\[A-Z0-9_\]+/. /// /\\[A-Z0-9\_\\]+/.
#[prost(string, tag="1")] #[prost(string, tag="1")]
pub reason: ::prost::alloc::string::String, pub reason: ::prost::alloc::string::String,
/// The logical grouping to which the "reason" belongs. The error domain /// The logical grouping to which the "reason" belongs. The error domain
@@ -131,7 +134,7 @@ pub struct ErrorInfo {
pub domain: ::prost::alloc::string::String, pub domain: ::prost::alloc::string::String,
/// Additional structured details about this error. /// Additional structured details about this error.
/// ///
/// Keys should match /\[a-zA-Z0-9-_\]/ and be limited to 64 characters in /// Keys should match /\\[a-zA-Z0-9-\_\\]/ and be limited to 64 characters in
/// length. When identifying the current value of an exceeded limit, the units /// length. When identifying the current value of an exceeded limit, the units
/// should be contained in the key, not the value. For example, rather than /// should be contained in the key, not the value. For example, rather than
/// {"instanceLimit": "100/request"}, should be returned as, /// {"instanceLimit": "100/request"}, should be returned as,
@@ -220,7 +223,7 @@ pub struct ResourceInfo {
pub resource_type: ::prost::alloc::string::String, pub resource_type: ::prost::alloc::string::String,
/// The name of the resource being accessed. For example, a shared calendar /// The name of the resource being accessed. For example, a shared calendar
/// name: "[email protected]", if the current /// name: "[email protected]", if the current
/// error is \[google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED\]. /// error is \\[google.rpc.Code.PERMISSION_DENIED\]\[google.rpc.Code.PERMISSION_DENIED\\].
#[prost(string, tag="2")] #[prost(string, tag="2")]
pub resource_name: ::prost::alloc::string::String, pub resource_name: ::prost::alloc::string::String,
/// The owner of the resource (optional). /// The owner of the resource (optional).