Skip to content

Commit

Permalink
Add message and enum attributes https://github.com/tokio-rs/prost/rel…
Browse files Browse the repository at this point in the history
  • Loading branch information
hmacias-avaya committed Jan 28, 2023
1 parent 39faedb commit 038cd34
Show file tree
Hide file tree
Showing 6 changed files with 45 additions and 23 deletions.
18 changes: 10 additions & 8 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions protoc-gen-prost-crate/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ categories = ["encoding"]

[dependencies]
once_cell = "1.10.0"
prost-build = { version = ">=0.11.0, <0.11.2", default-features = false }
prost-types = { version = "0.11.0", default-features = false }
prost-build = { version = "0.11.6", default-features = false }
prost-types = { version = "0.11.6", default-features = false }
prost = { version = "0.11.0", default-features = false, features = ["std"] }
protoc-gen-prost = { version = "0.2.0", path = "../protoc-gen-prost" }
regex = { version = "1.5.5", default-features = false }
Expand Down
4 changes: 2 additions & 2 deletions protoc-gen-prost-serde/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ categories = ["encoding"]

[dependencies]
pbjson-build = "0.5.1"
prost-build = { version = ">=0.11.0, <0.11.2", default-features = false }
prost-types = { version = "0.11.0", default-features = false }
prost-build = { version = "0.11.6", default-features = false }
prost-types = { version = "0.11.6", default-features = false }
prost = { version = "0.11.0", default-features = false, features = ["std"] }
protoc-gen-prost = { version = "0.2.0", path = "../protoc-gen-prost" }
regex = { version = "1.5.5", default-features = false }
Expand Down
10 changes: 4 additions & 6 deletions protoc-gen-prost/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,15 @@ rust-version = "1.62"
readme = "README.md"
keywords = ["protobuf", "serialization", "prost"]
categories = ["encoding"]
exclude = [
"proto"
]
exclude = ["proto"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
once_cell = "1.10.0"
prost-build = { version = ">=0.11.0, <0.11.2", default-features = false }
prost-types = { version = "0.11.0", default-features = false }
prost = { version = "0.11.0", default-features = false, features = ["std"] }
prost-build = { version = "0.11.6", default-features = false }
prost-types = { version = "0.11.6", default-features = false }
prost = { version = "0.11.6", default-features = false, features = ["std"] }
regex = { version = "1.5.5", default-features = false }

[profile.release]
Expand Down
24 changes: 24 additions & 0 deletions protoc-gen-prost/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,8 @@ struct ProstParameters {
extern_path: Vec<(String, String)>,
type_attribute: Vec<(String, String)>,
field_attribute: Vec<(String, String)>,
enum_attribute: Vec<(String, String)>,
message_attribute: Vec<(String, String)>,
compile_well_known_types: bool,
retain_enum_prefix: bool,
}
Expand All @@ -244,6 +246,12 @@ impl ProstParameters {
for (proto_path, attribute) in &self.field_attribute {
config.field_attribute(proto_path, attribute);
}
for (proto_path, attribute) in &self.enum_attribute {
config.enum_attribute(proto_path, attribute);
}
for (proto_path, attribute) in &self.message_attribute {
config.message_attribute(proto_path, attribute);
}

if self.compile_well_known_types {
config.compile_well_known_types();
Expand Down Expand Up @@ -323,6 +331,22 @@ impl ProstParameters {
prefix.to_string(),
module.replace(r"\,", ",").replace(r"\\", r"\"),
)),
Param::KeyValue {
param: "enum_attribute",
key: prefix,
value: module,
} => self.enum_attribute.push((
prefix.to_string(),
module.replace(r"\,", ",").replace(r"\\", r"\"),
)),
Param::KeyValue {
param: "message_attribute",
key: prefix,
value: module,
} => self.message_attribute.push((
prefix.to_string(),
module.replace(r"\,", ",").replace(r"\\", r"\"),
)),
_ => return Err(param),
}

Expand Down
8 changes: 3 additions & 5 deletions protoc-gen-tonic/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,15 @@ edition = "2021"
readme = "README.md"
keywords = ["protobuf", "serialization", "prost", "grpc", "tonic"]
categories = ["encoding"]
exclude = [
"proto"
]
exclude = ["proto"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
heck = "0.4.0"
prettyplease = "0.1.9"
prost-build = { version = ">=0.11.0, <0.11.2", default-features = false }
prost-types = { version = "0.11.0", default-features = false }
prost-build = { version = "0.11.6", default-features = false }
prost-types = { version = "0.11.6", default-features = false }
prost = { version = "0.11.0", default-features = false, features = ["std"] }
protoc-gen-prost = { version = "0.2.0", path = "../protoc-gen-prost" }
regex = { version = "1.5.5", default-features = false }
Expand Down

0 comments on commit 038cd34

Please sign in to comment.