mirror of https://github.com/grpc/grpc-go.git
24 lines
825 B
Bash
Executable File
24 lines
825 B
Bash
Executable File
#!/bin/bash
|
|
|
|
find . -name '*.proto' -print0 |
|
|
while IFS= read -r -d '' f
|
|
do
|
|
commands=(
|
|
# Import mangling.
|
|
-e 's#import "gogoproto/gogo.proto";##'
|
|
# Remove references to gogo.proto extensions.
|
|
-e 's#option (gogoproto\.[a-z_]\+) = \(true\|false\);##'
|
|
-e 's#\(, \)\?(gogoproto\.[a-z_]\+) = \(true\|false\),\?##'
|
|
# gogoproto removal can result in empty brackets.
|
|
-e 's# \[\]##'
|
|
# gogoproto removal can result in four spaces on a line by itself.
|
|
-e '/^ $/d'
|
|
)
|
|
sed -i "${commands[@]}" "$f"
|
|
|
|
# gogoproto removal can leave a comma on the last element in a list.
|
|
# This needs to run separately after all the commands above have finished
|
|
# since it is multi-line and rewrites the output of the above patterns.
|
|
sed -i -e '$!N; s#\(.*\),\([[:space:]]*\];\)#\1\2#; t; P; D;' "$f"
|
|
done
|