7a6a7e4da1
Previously installing buf was left out of `make bootstrap` because it had conflicts with the `tools/go.mod` file and dependencies used by other tools. With Go 1.16 we eliminated that `go.mod` file, and can now just install `buf` with `go install` like everything else.
18 lines
657 B
Markdown
18 lines
657 B
Markdown
# Buf
|
|
|
|
> `buf` is a high-performance `protoc` replacement.
|
|
|
|
## Installation
|
|
|
|
Use `make bootstrap` in the root of this repo to install the version of `buf` used by Nomad.
|
|
|
|
## Usage
|
|
`make proto` in the root of this repo will invoke `buf` using the configuration in this directory.
|
|
|
|
## Why use `buf` instead of `protoc`?
|
|
|
|
Buf is a user-friendly tool to work with Protobuf that outperforms `protoc` in every conceivable way.
|
|
It was written by the author(s) of [`prototool`](https://github.com/uber/prototool), another tool
|
|
that made generating Protobuf easier, but which is now deprecated in favor of `buf`. Buf also does
|
|
linting and breaking-change detection.
|