mediawiki-extensions-Visual.../.docs/generate.sh
Timo Tijhof 36fb75d6b1 Docgen: Re-colourise jsduck warnings.
When jsduck is executed in a subshell (as we do, to catch output)
it disables the color output. It should have a --color flag, but
it doesn't have that, so manually colourise for now.

Change-Id: I1f8da523b6b4fc1fc6965f751395f8af497b13b5
2013-03-28 19:55:25 +01:00

40 lines
1,011 B
Bash
Executable file

#!/usr/bin/env bash
cd $(cd $(dirname $0); pwd)
(
while IFS='' read -r l
do
if [[ "$l" == "{{VE-LOAD-HEAD}}" ]]
then
php ../maintenance/makeStaticLoader.php --section=head --ve-path=../modules/
elif [[ "$l" == "{{VE-LOAD-BODY}}" ]]
then
php ../maintenance/makeStaticLoader.php --section=body --ve-path=../modules/
else
echo "$l"
fi
done
) < eg-iframe.tpl | php > eg-iframe.html
warnings=`jsduck --config=config.json 2>&1`
ec=$?
rm eg-iframe.html
cd - > /dev/null
# Re-colorize
NORMAL=$(tput sgr0); YELLOW=$(tput setaf 3); MEGANTA=$(tput setaf 5)
echo "$warnings" | perl -pe "s|^([^ ]+) ([^ ]+) (.*)$|${YELLOW}\1 ${MEGANTA}\2${NORMAL} \3|"
# JSDuck doesn't exit with an error code if there are warnings
# (only when there are fatal errors). We fixed all warnings
# in master so lets consider all warnings errors to ensure
# we don't introduce any new invalid jsduck syntax.
if [[ "$ec" == "0" && "$warnings" != "" ]]
then
exit 1
fi
# Exit with exit code of jsduck command
exit $ec