]> granicus.if.org Git - ejabberd/commitdiff
Add helper to check xep implementations and versions
authorChristophe Romain <christophe.romain@process-one.net>
Mon, 17 Jun 2019 10:02:23 +0000 (12:02 +0200)
committerChristophe Romain <christophe.romain@process-one.net>
Mon, 17 Jun 2019 10:02:23 +0000 (12:02 +0200)
tools/check_xep_versions.sh [new file with mode: 0755]

diff --git a/tools/check_xep_versions.sh b/tools/check_xep_versions.sh
new file mode 100755 (executable)
index 0000000..c22781a
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+check_xep()
+{
+    xep=xep-$1
+    int=$(echo $1 | sed 's/^0*//')
+    [ -f $BASE/doc/$xep ] || curl -s -o $BASE/doc/$xep https://xmpp.org/extensions/$xep.html
+    title=$(sed '/<title>/!d;s/.*<title>\(.*\)<\/title>.*/\1/' $BASE/doc/$xep)
+    vsn=$(grep -A1 Version $BASE/doc/$xep | sed '/<dd>/!d;q' | sed 's/.*>\(.*\)<.*/\1/')
+    imp=$(grep "{xep, $int," $BASE/src/* | sed "s/.*src\/\(.*\).erl.*'\([0-9.-]*\)'.*/\1 \2/")
+    [ "$imp" == "" ] && imp="NA 0.0"
+    echo "$title;$vsn;${imp/ /;}"
+}
+
+[ $# -eq 1 ] && BASE="$1" || BASE="$PWD"
+[ -d $BASE/doc ] || mkdir $BASE/doc
+
+for x_num in $(grep "{xep" $BASE/src/* | sed "s/,//" | awk '{printf("%04d\n", $2)}' | sort -u)
+do
+  check_xep $x_num
+done