Files
scoutfs-manager/scripts/generate.sh

28 lines
762 B
Bash

#!/usr/bin/env bash
# Generate Go code from protobuf definitions.
# Requires: protoc, protoc-gen-go, protoc-gen-go-grpc
#
# Install tools:
# go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
# go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
PROTO_DIR="$PROJECT_ROOT/api/proto"
OUT_DIR="$PROJECT_ROOT/internal/app/scoutfs-manager/sync/syncpb"
mkdir -p "$OUT_DIR"
protoc \
--proto_path="$PROTO_DIR" \
--go_out="$OUT_DIR" \
--go_opt=paths=source_relative \
--go-grpc_out="$OUT_DIR" \
--go-grpc_opt=paths=source_relative \
"$PROTO_DIR/sync/v1/sync.proto"
echo "Proto generation complete: $OUT_DIR"