stan.go icon indicating copy to clipboard operation
stan.go copied to clipboard

Strip gogoproto from the main protocol.proto

Open mcqueary opened this issue 9 years ago • 0 comments

Ideally protocol.proto should have no external cross-language dependencies. Right now, it imports gogoprotobuf, which requires that you have a go environment installed on your build system and gogoprotobuf installed. For a java or C# client, this doesn't make sense. Protobuf allows for language-specific options (e.g. java_package, go_package, etc), but apparently not language-specific imports.

If possible, we should find a way to isolate the Go-specific parts of the .proto file and put them in a separate .proto.

The goal is to have a .proto file that does not depend on go, and does not require editing in order to use in other non-go projects.

EDIT: we aren't the first ones to deal with this. The folks at cockroachdb solved it by putting their proto file in a separate repo along with a Makefile and scripts to produce clean proto files: https://github.com/cockroachdb/cockroach-proto/

Barring a better idea, we could follow this approach.

mcqueary avatar Feb 24 '16 16:02 mcqueary