summaryrefslogtreecommitdiffstats
path: root/bin/find-undocumented-classes
diff options
context:
space:
mode:
Diffstat (limited to 'bin/find-undocumented-classes')
-rwxr-xr-xbin/find-undocumented-classes33
1 files changed, 33 insertions, 0 deletions
diff --git a/bin/find-undocumented-classes b/bin/find-undocumented-classes
new file mode 100755
index 000000000..3476596c0
--- /dev/null
+++ b/bin/find-undocumented-classes
@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+
+# finds undocumented classes in the current directory (recursive)
+
+type -p doxygen >/dev/null || exit
+
+filter=
+quiet=n
+if [ "$1" = "-q" ]; then
+ filter=">/dev/null"
+ quiet=y
+ shift
+fi
+
+doxygen=$(mktemp -d)
+eval doxygen -g $doxygen/doxygen.cfg $filter
+sed -i "/HTML_OUTPUT/s|html|$doxygen/html|" $doxygen/doxygen.cfg
+sed -i '/GENERATE_LATEX/s/= YES/= NO/' $doxygen/doxygen.cfg
+sed -i '/RECURSIVE/s/= NO/= YES/' $doxygen/doxygen.cfg
+# do we have any arguments?
+if [ -n "$*" ]; then
+ sed -i "/^INPUT[^_]/s|=.*|= $*|" $doxygen/doxygen.cfg
+fi
+eval doxygen $doxygen/doxygen.cfg $filter 2> $doxygen/errors.txt
+if [ "$quiet" == "n" ]; then
+ echo
+ echo "The following classes are undocumented:"
+ echo
+fi
+cat $doxygen/errors.txt|grep -i 'Warning: Compound.*is not documented'
+rm -rf $doxygen
+
+# vim:set shiftwidth=4 softtabstop=4 expandtab: