kvm/scripts/generate_proto.sh

45 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# Generate gRPC code from proto files
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
cd "$PROJECT_ROOT"
# Check if protoc is installed
if ! command -v protoc &> /dev/null; then
echo "Error: protoc is not installed"
echo "Install it with:"
echo " sudo apt-get install protobuf-compiler # Debian/Ubuntu"
echo " brew install protobuf # macOS"
exit 1
fi
# Check if protoc-gen-go is installed
if ! command -v protoc-gen-go &> /dev/null; then
echo "Error: protoc-gen-go is not installed"
echo "Install it with: go install google.golang.org/protobuf/cmd/protoc-gen-go@latest"
exit 1
fi
# Check if protoc-gen-go-grpc is installed
if ! command -v protoc-gen-go-grpc &> /dev/null; then
echo "Error: protoc-gen-go-grpc is not installed"
echo "Install it with: go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest"
exit 1
fi
# Generate code
echo "Generating gRPC code from proto files..."
protoc \
--go_out=. \
--go_opt=paths=source_relative \
--go-grpc_out=. \
--go-grpc_opt=paths=source_relative \
internal/native/proto/native.proto
echo "Done!"