#!/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 -- .