mirror of
https://github.com/bisq-network/bisq-api-reference.git
synced 2026-01-27 17:43:33 +00:00
- Use requirements.txt to install dependencies to local venv. - Use setup.py to build/install example packages to local venv. - Adjust reference-doc-builder to new Python pkg imports.
29 lines
1.3 KiB
Bash
Executable File
29 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Generates Bisq API protobufs from pb.proto and grpc.proto.
|
|
#
|
|
# Must be run from root project directory `bisq-grpc-api-doc`. (Set the IDE launcher's working directory).
|
|
#
|
|
# TODO Use requirement.txt for this step:
|
|
# Requirements:
|
|
# Install python plugins for protoc.
|
|
# python -m pip install grpcio grpcio-tools
|
|
# pip3 install mypy-protobuf
|
|
|
|
# Relative path to directory containing the Bisq .proto files (the protoc compiler input).
|
|
export PROTO_PATH="proto"
|
|
|
|
# The destination directory for the generated Python code (he protoc compiler output).
|
|
export PYTHON_PROTO_OUT_PATH="python_examples/bisqapi"
|
|
|
|
python3 -m grpc_tools.protoc \
|
|
--proto_path=$PROTO_PATH \
|
|
--python_out=$PYTHON_PROTO_OUT_PATH \
|
|
--grpc_python_out=$PYTHON_PROTO_OUT_PATH $PROTO_PATH/*.proto
|
|
protoc --proto_path=$PROTO_PATH --python_out=$PYTHON_PROTO_OUT_PATH $PROTO_PATH/*.proto
|
|
|
|
# Hack the internal import statements in the generated python to prepend the `bisq.api` package name.
|
|
# See why Google will not fix this: https://github.com/protocolbuffers/protobuf/issues/1491
|
|
sed -i 's/import pb_pb2 as pb__pb2/import python_examples.bisqapi.pb_pb2 as pb__pb2/g' $PYTHON_PROTO_OUT_PATH/grpc_pb2.py
|
|
sed -i 's/import grpc_pb2 as grpc__pb2/import python_examples.bisqapi.grpc_pb2 as grpc__pb2/g' $PYTHON_PROTO_OUT_PATH/grpc_pb2_grpc.py
|