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

Add make proto using protoeasy for compiling protobuf files, update example .pb.go generated files #9

Closed
wants to merge 2 commits into from

Conversation

bufdev
Copy link
Contributor

@bufdev bufdev commented Dec 19, 2015

You may insta-reject this, but I thought I'd at least put it out there if you found it useful especially for OSS developers.

This uses protoeasy https://go.pedge.io/protoeasy for compilation of protocol buffers. See the README for details. Here's a quick message I sent around the grpc-io dlist:

Hey everybody,

I wrote a library over the weekend for simple, remote protoc compilation in multiple languages with grpc support https://go.pedge.io/protoeasy. There's a long-ish README to check out, but the basic concept is to automatically compile all .proto files within a directory and sub-directories, figure out all import paths, and take care of all flags for each language plus grpc. The primary use case for this was for Golang, so there's a lot of additional features for Golang, but there is preliminary support for C++, C#, Objective-C, Python, and ruby as well.

Compilation can be done locally, but the intended usage is to do the compilation remotely within a docker container. A server is brought up using the docker image quay.io/pedge/protoeasy, which implements the API at https://github.com/peter-edge/go-protoeasy/blob/master/protoeasy.proto and exposes it using grpc, and the protoeasy binary sends over a tarballed context along with directives, and gets back the a tarballed output conttext. If you compile protocol buffers files in a docker container with a host volume mapping, this means you can use the docker compilation pattern without docker needing to be local or in a VM anymore.

This is extremely new, but I'd love any feedback anyone has. Here's a direct link to the README: https://github.com/peter-edge/go-protoeasy/blob/master/README.md.

Peter

@bufdev bufdev mentioned this pull request Dec 19, 2015
@jprobinson
Copy link
Contributor

Thanks again for your contributions, but I'd like to hold off bringing in any protobuf tools until they are in use by the gRPC team. If they start adopting proto-easy, please open the PR and we can reconsider.

@jprobinson jprobinson closed this Dec 21, 2015
@bufdev
Copy link
Contributor Author

bufdev commented Dec 21, 2015

Protoeasy is something that is meant to actually encourage adoption - without it, most people won't be able to immediately use protobuf compilation and there will be less adoption IMO.

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

Successfully merging this pull request may close these issues.

2 participants