prepare.sh: fix directory handling

Allow spaces in path and fail early if `cd` target doesn't exist.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
remotes/KirillovDenis/master
Evgenii Stratonikov 2021-11-12 11:47:56 +03:00 committed by Alex Vanin
parent 133cd011f0
commit 9798b03ba2
1 changed files with 13 additions and 13 deletions

View File

@ -2,38 +2,38 @@
prefix=v2
if [ -z "$1" ]; then
if [ -z "$1" ]; then
echo "usage: ./prepare.sh path/to/neofs-api"
exit 1
fi
fi
API_GO_PATH=$(pwd)
API_PATH=$1
mkdir $API_GO_PATH/$prefix 2>/dev/null
API_PATH=$1
mkdir "$API_GO_PATH/$prefix" 2>/dev/null
# MOVE FILES FROM API REPO
cd $API_PATH
cd "$API_PATH" || exit 1
ARGS=$(find ./ -name '*.proto' -not -path './vendor/*')
for file in $ARGS; do
dir=$(dirname $file)
mkdir -p $API_GO_PATH/$prefix/$dir/grpc
cp -r $dir/* $API_GO_PATH/$prefix/$dir/grpc
dir=$(dirname "$file")
mkdir -p "$API_GO_PATH/$prefix/$dir/grpc"
cp -r "$dir"/* "$API_GO_PATH/$prefix/$dir/grpc"
done
# MODIFY FILES
cd $API_GO_PATH/$prefix
cd "$API_GO_PATH/$prefix" || exit 1
ARGS2=$(find ./ -name '*.proto')
for file in $ARGS2; do
echo $file
sed -i "s/import\ \"\(.*\)\/\(.*\)\.proto\";/import\ \"$prefix\/\1\/grpc\/\2\.proto\";/" $file
echo "$file"
sed -i "s/import\ \"\(.*\)\/\(.*\)\.proto\";/import\ \"$prefix\/\1\/grpc\/\2\.proto\";/" $file
done
cd $API_GO_PATH
cd "$API_GO_PATH" || exit 1
# COMPILE
make protoc
# REMOVE PROTO DEFINITIONS
ARGS=$(find ./$prefix -name '*.proto' -not -path './vendor/*')
for file in $ARGS; do
rm $file
rm "$file"
done