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