You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
protobuild works by scanning the go package in a project and emitting correct
protoc commands, configured with the plugins, packages and details of your
choice.
The main benefit is that it makes it much easier to consume external types from
vendored projects. By integrating the protoc include paths with Go's vendoring
and GOPATH, builds are much easier to keep consistent across a project.
This comes from experience with generating protobufs with go generate in
swarmkit and the tool used with containerd. It should replace both.
Status
Very early stages.
Installation
To ensure easy use with builds, we'll try to support go get. Install with the
following command:
go get -u github.com/containerd/protobuild
Usage
Protobuild works by providing a list of Go packages in which to build the
protobufs. To get started with a project, you must do the following:
Create a Protobuild.toml file in the root of your Go project. Use the
example as a starting point.
Make sure that the packages where you want your protobuf files have a Go
file in place. Usually, adding a doc.go file is sufficient. A package for
protobuf should look like this:
foo.proto
doc.go
Where the contents of doc.go will have a package declaration in it. See
the example for details. Make sure the package name
corresponds to what is in the go_package option.