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.