#!/bin/bash # TODO: add to MakeFile # chmod +x generate_proto.sh # ./generate_proto.sh # Define directories PROTOS_DIR="./frostfs_sdk/protos" SOURCE_DIR="${PROTOS_DIR}/source" MODELS_DIR="${PROTOS_DIR}/models" REPO_FROSTFS_API_PROTOS="https://git.frostfs.info/TrueCloudLab/frostfs-api.git" rm -rf "$PROTOS_DIR" echo "1. Create folder ./protos" mkdir -p "$PROTOS_DIR" echo "2. Cloning repository into ./protos/source..." mkdir -p "$SOURCE_DIR" git clone "$REPO_FROSTFS_API_PROTOS" "$SOURCE_DIR" echo "3. Generating Python code from .proto files to $MODELS_DIR" mkdir -p "$MODELS_DIR" find "$SOURCE_DIR" -name "*.proto" | while read -r proto_file; do python -m grpc_tools.protoc -I "$SOURCE_DIR" --python_out="$MODELS_DIR" --pyi_out="$MODELS_DIR" --grpc_python_out="$MODELS_DIR" "$proto_file" done echo "4. Making ./protos/models a Python package..." touch "$MODELS_DIR/__init__.py" echo "All steps completed successfully."