40 lines
888 B
Bash
40 lines
888 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
if [ -z "$1" ]; then
|
||
|
echo "usage: ./prepare.sh path/to/frostfs-api"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
API_GO_PATH=$(pwd)/api
|
||
|
API_PATH=$1
|
||
|
|
||
|
# MOVE FILES FROM API REPO
|
||
|
cd "$API_PATH" || exit 1
|
||
|
ARGS=$(find ./ -name '*.proto' -not -path './bin/*')
|
||
|
for file in $ARGS; do
|
||
|
dir=$(dirname "$file")
|
||
|
mkdir -p "$API_GO_PATH/$dir/grpc"
|
||
|
cp -r "$dir"/* "$API_GO_PATH/$dir/grpc"
|
||
|
done
|
||
|
|
||
|
# MODIFY FILES
|
||
|
cd "$API_GO_PATH" || exit 1
|
||
|
ARGS2=$(find ./ -name '*.proto' -not -path './bin/*')
|
||
|
for file in $ARGS2; do
|
||
|
echo "$file"
|
||
|
sed -i "s/import\ \"\(.*\)\/\(.*\)\.proto\";/import\ \"\1\/grpc\/\2\.proto\";/" $file
|
||
|
sed -i "s/api-go\\/v2/sdk-go\\/api/" $file
|
||
|
sed -i "s/import \"/import \"api\//" $file
|
||
|
done
|
||
|
|
||
|
|
||
|
cd "$API_GO_PATH/.." || exit 1
|
||
|
# COMPILE
|
||
|
make protoc
|
||
|
|
||
|
# REMOVE PROTO DEFINITIONS
|
||
|
ARGS=$(find ./$prefix -name '*.proto' -not -path './util/*' -not -path './bin/*')
|
||
|
for file in $ARGS; do
|
||
|
rm "$file"
|
||
|
done
|