Generating protocol buffers
BuildStream uses protobuf and gRPC for serialization and communication with
artifact cache servers. This requires .proto files and Python code
generated from the .proto files using protoc. All these files live in the
src/buildstream/_protos directory. The generated files are included in the
git repository to avoid depending on grpcio-tools for user installations.
Regenerating code
When .proto files are modified, the corresponding Python code needs to
be regenerated:
tox -e build-grpc
This installs the correct version of grpcio-tools and regenerates the
protobuf and grpc code.