*: fix shellcheck warnings

Fixes scripts and removes shellcheck warning suppressions.

* regexp warnings
* use ./*glob* so names don't become options
* use $(..) instead of legacy `..`
* read with -r to avoid mangling backslashes
* double quote to prevent globbing and word splitting
This commit is contained in:
Anthony Romano
2017-09-06 10:38:08 -07:00
parent 3c1845604b
commit 9abe9da9db
10 changed files with 149 additions and 147 deletions

View File

@@ -5,12 +5,12 @@
#
set -e
if ! [[ "$0" =~ "scripts/genproto.sh" ]]; then
if ! [[ "$0" =~ scripts/genproto.sh ]]; then
echo "must be run from repository root"
exit 255
fi
if ! [[ $(protoc --version) =~ "3.3.0" ]]; then
if [[ $(protoc --version | cut -f2 -d' ') != "3.3.0" ]]; then
echo "could not find protoc 3.3.0, is it installed + in PATH?"
exit 255
fi
@@ -57,16 +57,16 @@ pushd "${GRPC_GATEWAY_ROOT}"
popd
for dir in ${DIRS}; do
pushd ${dir}
protoc --gofast_out=plugins=grpc,import_prefix=github.com/coreos/:. -I=".:${GOGOPROTO_PATH}:${COREOS_ROOT}:${GRPC_GATEWAY_ROOT}/third_party/googleapis" *.proto
sed -i.bak -E "s/github\.com\/coreos\/(gogoproto|github\.com|golang\.org|google\.golang\.org)/\1/g" *.pb.go
sed -i.bak -E 's/github\.com\/coreos\/(errors|fmt|io)/\1/g' *.pb.go
sed -i.bak -E 's/import _ \"gogoproto\"//g' *.pb.go
sed -i.bak -E 's/import fmt \"fmt\"//g' *.pb.go
sed -i.bak -E 's/import _ \"github\.com\/coreos\/google\/api\"//g' *.pb.go
sed -i.bak -E 's/import _ \"google\.golang\.org\/genproto\/googleapis\/api\/annotations\"//g' *.pb.go
rm -f *.bak
goimports -w *.pb.go
pushd "${dir}"
protoc --gofast_out=plugins=grpc,import_prefix=github.com/coreos/:. -I=".:${GOGOPROTO_PATH}:${COREOS_ROOT}:${GRPC_GATEWAY_ROOT}/third_party/googleapis" ./*.proto
sed -i.bak -E "s/github\.com\/coreos\/(gogoproto|github\.com|golang\.org|google\.golang\.org)/\1/g" ./*.pb.go
sed -i.bak -E 's/github\.com\/coreos\/(errors|fmt|io)/\1/g' ./*.pb.go
sed -i.bak -E 's/import _ \"gogoproto\"//g' ./*.pb.go
sed -i.bak -E 's/import fmt \"fmt\"//g' ./*.pb.go
sed -i.bak -E 's/import _ \"github\.com\/coreos\/google\/api\"//g' ./*.pb.go
sed -i.bak -E 's/import _ \"google\.golang\.org\/genproto\/googleapis\/api\/annotations\"//g' ./*.pb.go
rm -f ./*.bak
goimports -w ./*.pb.go
popd
done
@@ -75,15 +75,15 @@ rm -rf Documentation/dev-guide/apispec/swagger/*json
for pb in etcdserverpb/rpc api/v3lock/v3lockpb/v3lock api/v3election/v3electionpb/v3election; do
protobase="etcdserver/${pb}"
protoc -I. \
-I${GRPC_GATEWAY_ROOT}/third_party/googleapis \
-I${GOGOPROTO_PATH} \
-I${COREOS_ROOT} \
-I"${GRPC_GATEWAY_ROOT}"/third_party/googleapis \
-I"${GOGOPROTO_PATH}" \
-I"${COREOS_ROOT}" \
--grpc-gateway_out=logtostderr=true:. \
--swagger_out=logtostderr=true:./Documentation/dev-guide/apispec/swagger/. \
${protobase}.proto
# hack to move gw files around so client won't include them
pkgpath=`dirname ${protobase}`
pkg=`basename ${pkgpath}`
pkgpath=$(dirname "${protobase}")
pkg=$(basename "${pkgpath}")
gwfile="${protobase}.pb.gw.go"
sed -i.bak -E "s/package $pkg/package gw/g" ${gwfile}
sed -i.bak -E "s/protoReq /&$pkg\./g" ${gwfile}
@@ -93,13 +93,13 @@ for pb in etcdserverpb/rpc api/v3lock/v3lockpb/v3lock api/v3election/v3electionp
sed -i.bak -E "s/New[A-Za-z]*Client/${pkg}.&/" ${gwfile}
# darwin doesn't like newlines in sed...
sed -i.bak -E "s|import \(|& \"github.com/coreos/etcd/${pkgpath}\"|" ${gwfile}
mkdir -p ${pkgpath}/gw/
mkdir -p "${pkgpath}"/gw/
go fmt ${gwfile}
mv ${gwfile} ${pkgpath}/gw/
mv ${gwfile} "${pkgpath}/gw/"
rm -f ./etcdserver/${pb}*.bak
swaggerName=`basename ${pb}`
swaggerName=$(basename ${pb})
mv Documentation/dev-guide/apispec/swagger/etcdserver/${pb}.swagger.json \
Documentation/dev-guide/apispec/swagger/${swaggerName}.swagger.json
Documentation/dev-guide/apispec/swagger/"${swaggerName}".swagger.json
done
rm -rf Documentation/dev-guide/apispec/swagger/etcdserver/