33 lines
894 B
Bash
Executable File
33 lines
894 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# don't really use this as the files do have local modifications:
|
|
# - removal of the broken owned container
|
|
# - fixing of clippy warnings
|
|
# - added lifetime
|
|
# - fix the lint ignore
|
|
#
|
|
set -eu
|
|
|
|
gen() {
|
|
# strip the packages as apparently there is a bug with single-mod 0.8.2
|
|
local tmpfile="$(mktemp).proto"
|
|
grep -v '^package ' "$1" > "$tmpfile";
|
|
retval=0
|
|
local filename="$(basename "$1")"
|
|
local output="$(dirname "$1")/${filename%.*}.rs"
|
|
pb-rs --single-mod --output "$output" "$tmpfile" || retval=$?
|
|
rm "$tmpfile"
|
|
|
|
if [[ "$retval" -ne 0 ]]; then
|
|
return $retval;
|
|
fi
|
|
|
|
# strip out the empty lines and fix the automatically generated comment
|
|
# empty lines seem to be a problem for cargo fmt
|
|
sed -i -Ee '/^\s*$/d' -e "s/'$(basename "$tmpfile")'/'$filename'/g" "$output"
|
|
cargo fmt -- "$output"
|
|
}
|
|
|
|
gen src/pb/merkledag.proto src/pb
|
|
gen src/pb/unixfs.proto src/pb
|