kops/vendor/github.com/gogo/protobuf
Justin Santa Barbara 4b7adf6884 Use submodules instead of glide
Manual management of dependencies still seems easier, sadly.
2016-07-26 11:23:24 -04:00
..
codec Include vendored dependencies 2016-07-05 00:03:07 -04:00
gogoproto Use submodules instead of glide 2016-07-26 11:23:24 -04:00
io Include vendored dependencies 2016-07-05 00:03:07 -04:00
jsonpb Use submodules instead of glide 2016-07-26 11:23:24 -04:00
plugin Use submodules instead of glide 2016-07-26 11:23:24 -04:00
proto Use submodules instead of glide 2016-07-26 11:23:24 -04:00
protobuf/google/protobuf Include vendored dependencies 2016-07-05 00:03:07 -04:00
protoc-gen-combo Include vendored dependencies 2016-07-05 00:03:07 -04:00
protoc-gen-gofast Include vendored dependencies 2016-07-05 00:03:07 -04:00
protoc-gen-gogo Use submodules instead of glide 2016-07-26 11:23:24 -04:00
protoc-gen-gogofast Include vendored dependencies 2016-07-05 00:03:07 -04:00
protoc-gen-gogofaster Include vendored dependencies 2016-07-05 00:03:07 -04:00
protoc-gen-gogoslick Include vendored dependencies 2016-07-05 00:03:07 -04:00
protoc-min-version Include vendored dependencies 2016-07-05 00:03:07 -04:00
sortkeys Include vendored dependencies 2016-07-05 00:03:07 -04:00
test Use submodules instead of glide 2016-07-26 11:23:24 -04:00
vanity Use submodules instead of glide 2016-07-26 11:23:24 -04:00
version Include vendored dependencies 2016-07-05 00:03:07 -04:00
.gitignore Include vendored dependencies 2016-07-05 00:03:07 -04:00
.mailmap Include vendored dependencies 2016-07-05 00:03:07 -04:00
.travis.yml Include vendored dependencies 2016-07-05 00:03:07 -04:00
CONTRIBUTORS Include vendored dependencies 2016-07-05 00:03:07 -04:00
GOLANG_CONTRIBUTORS Include vendored dependencies 2016-07-05 00:03:07 -04:00
LICENSE Include vendored dependencies 2016-07-05 00:03:07 -04:00
Makefile Include vendored dependencies 2016-07-05 00:03:07 -04:00
README Use submodules instead of glide 2016-07-26 11:23:24 -04:00
Readme.md Include vendored dependencies 2016-07-05 00:03:07 -04:00
install-protobuf.sh Include vendored dependencies 2016-07-05 00:03:07 -04:00

Readme.md

Protocol Buffers for Go with Gadgets

Travis CI Matrix Builds: Build Status

Getting Started (Give me the speed I don't care about the rest)

Install the protoc-gen-gofast binary

go get github.com/gogo/protobuf/protoc-gen-gofast

Use it to generate faster marshaling and unmarshaling go code for your protocol buffers.

protoc --gofast_out=. myproto.proto

Getting started (I have heard about fields without pointers and more code generation)

Other binaries are also included:

protoc-gen-gogofast (same as gofast, but imports gogoprotobuf)
protoc-gen-gogofaster (same as gogofast, without XXX_unrecognized, less pointer fields)
protoc-gen-gogoslick (same as gogofaster, but with generated string, gostring and equal methods)

Getting started (I want more customization power over fields, speed, other serialization formats and tests, etc.)

Please visit the homepage for more documentation.

Installation

To install it, you must first have Go (at least version 1.3.3) installed (see http://golang.org/doc/install). Go 1.3.3, 1.4.2, 1.5.3 and 1.6 are continiuosly tested.

Next, install the standard protocol buffer implementation from https://github.com/google/protobuf. Most versions from 2.3.1 should not give any problems, but 2.5.0, 2.6.1 and 3 alpha are continuously tested.

Finally run:

go get github.com/gogo/protobuf/proto
go get github.com/gogo/protobuf/protoc-gen-gogo
go get github.com/gogo/protobuf/gogoproto

Proto3

Proto3 is supported, but most of the new native types are not supported yet. See Proto3 Issue for more details.

GRPC

It works the same as golang/protobuf, simply specify the plugin. Here is an example using gofast:

protoc --gofast_out=plugins=grpc:. my.proto