[Aider] Phase 0
This commit is contained in:
47
scripts/gen-proto.sh
Executable file
47
scripts/gen-proto.sh
Executable file
@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
# File: scripts/gen-proto.sh
|
||||
set -xe
|
||||
|
||||
# Find protoc-gen-go
|
||||
PROTOC_GEN_GO_PATH=""
|
||||
if command -v protoc-gen-go &> /dev/null; then
|
||||
PROTOC_GEN_GO_PATH=$(command -v protoc-gen-go)
|
||||
elif [ -f "$(go env GOBIN)/protoc-gen-go" ]; then
|
||||
PROTOC_GEN_GO_PATH="$(go env GOBIN)/protoc-gen-go"
|
||||
elif [ -f "$(go env GOPATH)/bin/protoc-gen-go" ]; then
|
||||
PROTOC_GEN_GO_PATH="$(go env GOPATH)/bin/protoc-gen-go"
|
||||
else
|
||||
echo "protoc-gen-go not found. Please run:"
|
||||
echo "go install google.golang.org/protobuf/cmd/protoc-gen-go"
|
||||
echo "And ensure GOBIN or GOPATH/bin is in your PATH."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Project root assumed to be parent of 'scripts' directory
|
||||
PROJECT_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )"
|
||||
API_DIR="${PROJECT_ROOT}/api/v1alpha1"
|
||||
# Output generated code directly into the api/v1alpha1 directory, alongside kat.proto
|
||||
# This is a common pattern and simplifies imports.
|
||||
# The go_package option in kat.proto already points here.
|
||||
OUT_DIR="${API_DIR}"
|
||||
|
||||
# Ensure output directory exists (it should, it's the same as API_DIR)
|
||||
mkdir -p "$OUT_DIR"
|
||||
|
||||
echo "Generating Go code from Protobuf definitions..."
|
||||
protoc --proto_path="${API_DIR}" \
|
||||
--plugin="protoc-gen-go=${PROTOC_GEN_GO_PATH}" \
|
||||
--go_out="${OUT_DIR}" --go_opt=paths=source_relative \
|
||||
"${API_DIR}/kat.proto"
|
||||
|
||||
echo "Protobuf Go code generated in ${OUT_DIR}"
|
||||
|
||||
# Optional: Generate gRPC stubs if/when you add services
|
||||
# PROTOC_GEN_GO_GRPC_PATH="" # Similar logic to find protoc-gen-go-grpc
|
||||
# go install google.golang.org/grpc/cmd/protoc-gen-go-grpc
|
||||
# protoc --proto_path="${API_DIR}" \
|
||||
# --plugin="protoc-gen-go=${PROTOC_GEN_GO_PATH}" \
|
||||
# --plugin="protoc-gen-go-grpc=${PROTOC_GEN_GO_GRPC_PATH}" \
|
||||
# --go_out="${OUT_DIR}" --go_opt=paths=source_relative \
|
||||
# --go-grpc_out="${OUT_DIR}" --go-grpc_opt=paths=source_relative \
|
||||
# "${API_DIR}/kat.proto"
|
Reference in New Issue
Block a user