frostfs-sdk-python/generate_proto.sh
Ilyas Niyazov 297e107b10 [#3] Added generate proto script create container method
Signed-off-by: Ilyas Niyazov <i.niyazov@yadro.com>
2025-03-25 11:13:48 +03:00

32 lines
No EOL
934 B
Bash
Executable file

#!/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."