Protocol buffer files for TiKV
- Write your own protocol file in proto folder.
- If you need to update raft-rs, please download the proto file respectively and overwrite the one in include folder.
- Run
maketo generate go and rust code. We generate all go codes in pkg folder and rust in src folder. - Update the dependent projects.
- Rust
- Go
- Protoc 3.8.0
To avoid IDE-induced diffs, we use buf format to keep all .proto files consistently formatted.
- Check formatting (also runs as part of
make check):make proto-fmt-check - Format in-place:
make proto-fmt
The formatter is pinned and will be downloaded automatically into ./bin (gitignored) when needed.
If make check fails on formatting, run make proto-fmt and then rerun make check.
The easiest way to compile the protobufs is to use docker.
./scripts/docker-build.sh # build the docker image once
./scripts/docker-run.sh make go
There are many dependencies to be installed, please refer to the relevant scripts in workflow to set them up.