2020-05-08 20:38:30 +01:00
|
|
|
#!/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"
|
|
|
|
|
2020-05-17 00:55:29 +01:00
|
|
|
echo "#![allow(unused)]" > "$modfile"
|
2020-05-08 20:38:30 +01:00
|
|
|
|
|
|
|
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" \
|
2020-05-11 00:48:18 +01:00
|
|
|
-a AsRefClosure \
|
2020-05-08 20:38:30 +01:00
|
|
|
-o "$out"
|
|
|
|
|
2020-05-17 00:55:29 +01:00
|
|
|
rustfmt "$out"
|
2020-05-08 20:38:30 +01:00
|
|
|
|
2020-05-17 23:23:45 +01:00
|
|
|
echo "\n#[allow(clippy::all)]\nmod $name;\npub use self::$name::*;" >> "$modfile"
|
2020-05-08 20:38:30 +01:00
|
|
|
done
|
|
|
|
|
|
|
|
git -C telepathy-spec checkout -- .
|