Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Protobuf well-known types unnecessarily generated #1188

Closed
mzabaluev opened this issue Sep 4, 2022 · 0 comments · Fixed by #1189
Closed

Protobuf well-known types unnecessarily generated #1188

mzabaluev opened this issue Sep 4, 2022 · 0 comments · Fixed by #1189
Labels
breaking enhancement New feature or request technical debt Issues that are important, but not urgent, that should eventually receive attention

Comments

@mzabaluev
Copy link
Contributor

mzabaluev commented Sep 4, 2022

Description

The proto compiler enables the compile_well_known_types setting in prost-build configuration, and the generated google.protobuf.rs content is included into tendermint-proto under the google::protobuf path, with the exception of Duration and Timestamp that get special manually maintained struct definitions. In fact, no other well-known types are referenced by any proto message definitions in Tendermint, so the generated content is unnecessary. Additionally, since the WKT definitions are provided with the compiler, this creates a subtle dependency on the protoc compiler installation that may result in "jitter" in the public tendermint-proto API.

Definition of "done"

The generated structs are removed from google::protobuf, only Duration and Timestamp are left to be manually maintained (pending resolution of #1053).

@mzabaluev mzabaluev added enhancement New feature or request breaking labels Sep 4, 2022
@mzabaluev mzabaluev added the technical debt Issues that are important, but not urgent, that should eventually receive attention label Sep 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking enhancement New feature or request technical debt Issues that are important, but not urgent, that should eventually receive attention
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant