-
Notifications
You must be signed in to change notification settings - Fork 296
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
Add convenience constructors to generated go code #2731
Comments
One downside of this proposal is that it would require folks to download the |
We're on the fence about utility here. Practically speaking, I'd like to let the dust settle on the golang integration with Penumbra that Strangelove has been working on. See some related challenges here: strangelove-ventures/interchaintest#658 |
We originally added the golang codegen to provide first-class support to downstream integrators. This is no longer necessary, as those same integrators, e.g. Strangelove, are performing their own codegen in the respective repos. These codepaths in the Penumbra monorepo are unused and largely unmaintained, so I'm culling them. Refs #2184. Moots and therefore closes #2731.
We originally added the golang codegen to provide first-class support to downstream integrators. This is no longer necessary, as those same integrators, e.g. Strangelove, are performing their own codegen in the respective repos. These codepaths in the Penumbra monorepo are unused and largely unmaintained, so I'm culling them. Refs #2184. Moots and therefore closes #2731.
We originally added the golang codegen to provide first-class support to downstream integrators. This is no longer necessary, as those same integrators, e.g. Strangelove, are performing their own codegen in the respective repos. These codepaths in the Penumbra monorepo are unused and largely unmaintained, so I'm culling them. Refs #2184. Moots and therefore closes #2731.
Is your feature request related to a problem? Please describe.
Our generated golang code, based on protos and built via
buf
tooling, lacks convenient constructors present in the generated rust code. For example, we can callViewProtocolServiceClient::new
in rust:penumbra/crates/view/src/service.rs
Line 432 in 125c5a1
But there's no comparable method in the generated go code:
Describe the solution you'd like
Other downstream consumers of our protos, notably Strangelove, use a different buf build module,
protoc-gen-gocosmos
, to generate these convenience methods. If we switch our CI to use that tooling, we can have access to the same methods in the generated golang we build automatically.Describe alternatives you've considered
We can simply ignore this discrepancy. Depending on the upstream
gocosmos
tooling (which itself is a fork of the deprecated gogoprotobuf project) might cause problems down the road if it's no longer maintained.Additional context
An example of using the convenient method in go
The text was updated successfully, but these errors were encountered: