Go support for Google's protocol buffers
Go to file
Joe Tsai 707894e869 test.bash: rewrite the integration test in Go
This CL switches the integration test to be written in Go instead of bash.
The benefits are:
* The logic for setting up the dependencies is more robust and
handles better a situation where the dependency failed to initialize
(due to network trouble, FS permission problems, etc).
* The logic does a better job at cleaning up stale dependencies.
For example, my .cache folder has go1.9.4, go1.9.5, go1.10.5, and go1.10.6
folders even though we don't use them anymore.
* Being able to run only a subset of the integration test since you can
pass "-run" to the script.
* A signifcant amount of complexity in the test.bash script was running
the tests in parallel. This is trivial to do in Go.

The major detriment is that Go is more verbose as a "scripting" language.

Change-Id: Id7e5b303fb305fdbc0368bdf809dbf29fca1d983
Reviewed-on: https://go-review.googlesource.com/c/164861
Reviewed-by: Herbie Ong <herbie@google.com>
2019-03-02 00:04:20 +00:00
cmd cmd/protoc-gen-go: change some arrays to slices to save bytes 2019-03-01 23:53:03 +00:00
encoding cmd/protoc-gen-go: change some arrays to slices to save bytes 2019-03-01 23:53:03 +00:00
internal cmd/protoc-gen-go: change some arrays to slices to save bytes 2019-03-01 23:53:03 +00:00
proto internal/cmd/generate-protos: initial commit 2019-03-01 20:47:52 +00:00
protogen internal/cmd/generate-protos: initial commit 2019-03-01 20:47:52 +00:00
reflect cmd/protoc-gen-go: change some arrays to slices to save bytes 2019-03-01 23:53:03 +00:00
runtime internal/fileinit: generate reflect data structures from raw descriptors 2019-01-30 01:33:46 +00:00
types cmd/protoc-gen-go: change some arrays to slices to save bytes 2019-03-01 23:53:03 +00:00
.gitignore cmd/protoc-gen-go-grpc: add gRPC code generator 2018-09-27 19:32:34 +00:00
.travis.yml test.bash: use repo-local cache 2018-09-06 19:58:40 +00:00
AUTHORS AUTHORS, CONTRIBUTORS, LICENSE, PATENTS: initial commit 2018-08-07 22:39:48 +00:00
CONTRIBUTING.md CONTRIBUTING.md: add pre-push hook instructions 2018-08-07 23:58:41 +00:00
CONTRIBUTORS AUTHORS, CONTRIBUTORS, LICENSE, PATENTS: initial commit 2018-08-07 22:39:48 +00:00
go.mod internal/cmd/generate-protos: initial commit 2019-03-01 20:47:52 +00:00
go.sum internal/cmd/generate-protos: initial commit 2019-03-01 20:47:52 +00:00
integration_test.go test.bash: rewrite the integration test in Go 2019-03-02 00:04:20 +00:00
LICENSE AUTHORS, CONTRIBUTORS, LICENSE, PATENTS: initial commit 2018-08-07 22:39:48 +00:00
PATENTS AUTHORS, CONTRIBUTORS, LICENSE, PATENTS: initial commit 2018-08-07 22:39:48 +00:00
README.md CONTRIBUTING.md: initial commit 2018-08-01 20:39:06 +00:00
regenerate.bash test.bash: rewrite the integration test in Go 2019-03-02 00:04:20 +00:00
test.bash test.bash: rewrite the integration test in Go 2019-03-02 00:04:20 +00:00

Next Generation Go Protocol Buffers

WARNING: This repository is in active development. There are no guarantees about API stability. Breaking changes will occur until a stable release is made and announced.

This repository is for the development of the next major Go implementation of protocol buffers. This library makes breaking API changes relative to the existing Go protobuf library. Of particular note, this API aims to make protobuf reflection a first-class feature of the API and implements the protobuf ecosystem in terms of reflection.

Design Documents

List of relevant design documents:

Contributing

We appreciate community contributions. See CONTRIBUTING.md.

Reporting Issues

Issues regarding the new API can be filed at github.com/golang/protobuf. Please use a APIv2: prefix in the title to make it clear that the issue is regarding the new API work.