build/makedocs.sh: handle relative output directories
[project/luci.git] / build / makedocs.sh
index 2f7f573..955c58c 100755 (executable)
@@ -1,2 +1,21 @@
-luadoc -d $2 --no-files $(for f in $(find $1 -name '*.lua' -type f); do if grep -q -- "@return" $f; then echo $f; fi; done)
-echo API-Documentation was created in $2.
+#!/bin/bash
+
+topdir=$(pwd)
+
+[ -f "$topdir/build/makedocs.sh" -a -n "$1" ] || {
+       echo "Please execute as ./build/makedocs.sh [output directory]" >&2
+       exit 1
+}
+
+outdir=$(readlink -f "$1")
+
+mkdir -p "$outdir" || {
+       echo "Unable to mkdir '$outdir'" >&2
+       exit 1
+}
+
+(
+       cd "$topdir/build/luadoc/"
+       find "$topdir/libs/" "$topdir/modules/" -type f -name '*.lua' -or -name '*.luadoc' | \
+               xargs grep -l '@return' | xargs ./doc.lua --no-files -d "$outdir"
+)