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. As a prerequisite for code generation you need to install
grpcio-tools
using pip or some other mechanism:
pip3 install --user grpcio-tools
To actually regenerate the code:
./setup.py build_grpc