summary refs log tree commit diff
path: root/tools/check-docs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/check-docs.sh')
-rwxr-xr-xtools/check-docs.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/tools/check-docs.sh b/tools/check-docs.sh
new file mode 100755
index 00000000..9dcdb1ef
--- /dev/null
+++ b/tools/check-docs.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+SOURCEDIR=$1
+[ -n "$SOURCEDIR" ] && SOURCEDIR="$SOURCEDIR/"
+
+# Check that the D-Bus API docs contain all known interfaces
+if (sed -n 's/.*<xi:include href="dbus-\(.*\.xml\)".*/\1\n\1/p' $SOURCEDIR''docs/api/network-manager-docs.xml;
+    cd $SOURCEDIR''introspection; ls *.xml) |sort |uniq -u| grep . >&2; then
+	echo "*** Error: D-Bus interfaces not included in docs/api/network-manager-docs.xml ***" >&2
+	exit 1
+fi
+
+# Check that files that define types that are in public libnm API are included in libnm documentation.
+# Don't complain about readability or I'll rewrite this in Perl.
+if (sed -n 's/.*<xi:include href="\(xml\/.*\.xml\)".*/\1\n\1/p' $SOURCEDIR''docs/libnm/libnm-docs.xml;
+    grep -lE "$(sed -n 's/^[\t ]*\(.*_get_type\);/\1/p' $SOURCEDIR''libnm/libnm.ver |xargs echo |sed 's/ /|/g')" $SOURCEDIR''libnm{,-core}/*.h |
+    sed 's,.*/,xml/,;s/\.h$/.xml/') |sort |uniq -u| grep . >&2; then
+	echo "*** Error: libnm classes not included in docs/libnm/libnm-docs.xml ***" >&2
+	exit 1
+fi
+
+exit 0