Files
telepathy-padfoot/scripts/dbus-codegen

40 lines
708 B
Bash
Executable File

#!/bin/sh
specs="telepathy-spec/spec"
dest="src/telepathy"
modfile="$dest.rs"
#if [ -d "$dest" ]; then
# mv "$dest" "$dest.$$"
#fi
rm -f "$dest.rs"
rm -rf "$dest"
mkdir -p "$dest"
echo "#![allow(unused)]" > "$modfile"
for file in $(ls -a $specs/*.xml); do
sed -i 's/tp:type=/tp:typehint=/g' "$file"
name=$( \
echo $(basename "$file") | \
tr '[:upper:]' '[:lower:]' | \
tr '-' '_' | \
sed --expression 's/\.xml$//' \
)
out="$dest/$name.rs"
dbus-codegen-rust \
--file "$file" \
-i "org.freedesktop.Telepathy" \
-a AsRefClosure \
-o "$out"
rustfmt "$out"
echo "\n#[allow(clippy::all)]\nmod $name;\npub use self::$name::*;" >> "$modfile"
done
git -C telepathy-spec checkout -- .