mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
*: 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:
@@ -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/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user