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