35 lines
808 B
Bash
35 lines
808 B
Bash
#!/bin/bash
|
|
|
|
set -eou pipefail
|
|
SRC=$(dirname ${BASH_SOURCE[0]})
|
|
|
|
GEN_DIR="$SRC/../gen/serial"
|
|
|
|
# cleanup old generated files
|
|
if [ ! -z "$(ls $GEN_DIR)" ]; then
|
|
rm $GEN_DIR/*.go
|
|
fi
|
|
|
|
FLATC=${FLATC:-$SRC/../../../dolt/proto/third_party/flatbuffers/bazel-bin/flatc}
|
|
|
|
if [ ! -x "$FLATC" ]; then
|
|
echo "$FLATC is not an executable. Did you remember to run 'bazel build //:flatc' in $(dirname $(dirname $FLATC))"
|
|
exit 1
|
|
fi
|
|
|
|
# generate golang (de)serialization package
|
|
"$FLATC" -o $GEN_DIR --gen-onefile --filename-suffix "" --gen-mutable --go-namespace "serial" --go \
|
|
collation.fbs \
|
|
rootvalue.fbs
|
|
|
|
# prefix files with copyright header
|
|
for FILE in $GEN_DIR/*.go;
|
|
do
|
|
mv $FILE "tmp.go"
|
|
cat "copyright.txt" "tmp.go" >> $FILE
|
|
rm "tmp.go"
|
|
done
|
|
|
|
# format and remove unused imports
|
|
goimports -w $GEN_DIR
|