2017-04-18 10:46:40 +02:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
#
|
|
|
|
|
# Generate all protobuf bindings.
|
|
|
|
|
# Run from repository root.
|
|
|
|
|
set -e
|
|
|
|
|
set -u
|
|
|
|
|
|
|
|
|
|
if ! [[ "$0" =~ "scripts/genproto.sh" ]]; then
|
2026-02-05 10:47:40 +00:00
|
|
|
echo "must be run from repository root"
|
|
|
|
|
exit 255
|
2017-04-18 10:46:40 +02:00
|
|
|
fi
|
|
|
|
|
|
2026-02-05 10:47:40 +00:00
|
|
|
pushd "internal/tools"
|
|
|
|
|
INSTALL_PKGS="github.com/bufbuild/buf/cmd/buf golang.org/x/tools/cmd/goimports github.com/gogo/protobuf/protoc-gen-gogofast"
|
2019-01-22 16:18:37 +05:30
|
|
|
for pkg in ${INSTALL_PKGS}; do
|
2021-04-22 10:20:26 +02:00
|
|
|
go install "$pkg"
|
2019-01-22 16:18:37 +05:30
|
|
|
done
|
2026-02-05 10:47:40 +00:00
|
|
|
popd
|
2017-04-18 10:46:40 +02:00
|
|
|
|
2018-02-07 16:36:47 +01:00
|
|
|
DIRS="nflog/nflogpb silence/silencepb cluster/clusterpb"
|
2017-04-18 10:46:40 +02:00
|
|
|
|
2019-01-22 16:18:37 +05:30
|
|
|
echo "generating files"
|
2017-04-18 10:46:40 +02:00
|
|
|
for dir in ${DIRS}; do
|
2026-02-05 10:47:40 +00:00
|
|
|
pushd ${dir}
|
|
|
|
|
buf dep update
|
|
|
|
|
buf generate
|
|
|
|
|
sed -i.bak -E 's/import _ \"gogoproto\"//g' *.pb.go
|
|
|
|
|
sed -i.bak -E 's/import _ \"google\/protobuf\"//g' *.pb.go
|
|
|
|
|
sed -i.bak -E 's/\t_ \"google\/protobuf\"//g' -- *.pb.go
|
|
|
|
|
rm -f *.bak
|
|
|
|
|
goimports -w *.pb.go
|
|
|
|
|
popd
|
2017-04-18 10:46:40 +02:00
|
|
|
done
|