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

Proposal to allow multiple service interface implementations for a single .proto #18

Open
fraenkel opened this issue Aug 3, 2018 · 3 comments

Comments

@fraenkel
Copy link

fraenkel commented Aug 3, 2018

Support generation of multiple service interface code implementations via different plugins from a single .proto.
A user should be able to target a specific .proto and specify the plugin, and resulting import package location which provides the target directory for any generated code as well as the package name.
It is the users responsibility to prevent collisions between the multiple plugins.

One use-case of this feature would be to generate ttrpc and grpc service implementations for a given .proto service defintiion.

An experiment was perfomed to see what could be possible with minimal modifications to Protobuild
while leveraging the capabilities of protoc and the existing generators. By providing arguments for
the import path, and output directory, protoc can be controlled to generate what is needed.

@stevvooe
Copy link
Member

Do you have details of the proposal? An example configuration file?

@stevvooe
Copy link
Member

@fraenkel Would these generate the ttrpc and grpc definitions to separate packages or the same package?

@fraenkel
Copy link
Author

fraenkel commented Feb 1, 2020

Had to go track this down since its been a while. It started from containerd/containerd#2475
and I have a branch, https://github.com/fraenkel/protobuild/tree/relative_outputs
TBH, I don't know how far I got since it all went silent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants