|
|
- #!/usr/bin/sh
- set -eo pipefail
-
- # This script appends the "option go_package" proto option to the file located at $FNAME.
- # This option specifies what the package will be named when imported by other packages.
- # This option is not directly included in the proto files to allow the files to more easily
- # be hosted in github.com/tendermint/spec and shared between other repos.
- # If the option is already specified in the file, it will be replaced using the
- # arguments passed to this script.
-
- FNAME="${1:?missing required .proto filename}"
- MODNAME=$(echo $2| sed 's/\//\\\//g')
- PACKAGE="$(dirname $FNAME | sed 's/^\.\/\(.*\)/\1/g' | sed 's/\//\\\//g')"
- if [[ ! -z "$3" ]]; then
- PACKAGE="$(echo $3 | sed 's/\//\\\//g')"
- fi
-
-
- if ! grep -q 'option\s\+go_package\s\+=\s\+.*;' $FNAME; then
- sed -i "s/\(package tendermint.*\)/\1\n\noption go_package = \"$MODNAME\/$PACKAGE\";/g" $FNAME
- else
- sed -i "s/option\s\+go_package\s\+=\s\+.*;/option go_package = \"$MODNAME\/$PACKAGE\";/g" $FNAME
- fi
|