Files
matchbox/scripts/dev/codegen
2017-05-25 10:32:42 -07:00

23 lines
593 B
Bash
Executable File

#!/usr/bin/env bash
# USAGE ./scripts/codegen
# Generate Go protocol buffer code from proto definitions
set -eu
# Add protoc and protoc-gen-go tools to PATH
export PATH=$PWD/bin:$PATH
# protobuf subpackages end in "pb"
PBUFS=$(go list ./... | grep -v /vendor | grep 'pb$')
# change into each protobuf directory
for pkg in $PBUFS ; do
abs_path=${GOPATH}/src/${pkg}
echo Generating $abs_path
pushd ${abs_path} > /dev/null
# generate protocol buffers, make other .proto files available to import
protoc --go_out=plugins=grpc:. -I=.:"${GOPATH}/src/" *.proto
popd > /dev/null
done