#!/bin/sh
#############################################################################
# Name: check.sh
-# Purpose: Check embedded xslt
+# Purpose: Offline checker for the buildbot configuration files
# Author: Mike Wetherell
# RCS-ID: $Id$
# Copyright: (c) 2007 Mike Wetherell
usage() {
echo "Usage: $0 [options] FILE..."
- echo "Check embedded xslt"
+ echo "Offline checker for the buildbot configuration files"
echo
echo "Options:"
echo " -g generate xslt"
exit 1
}
+progcheck() {
+ prog="$1"
+ $prog --version >/dev/null 2>&1 || {
+ echo "$0: requires $prog, not found" >&2
+ exit 1
+ }
+}
+
GENERATE=1
PREPROCESS=2
VALIDATE=3
usage
fi
+XSLTPROC=xsltproc
+XMLLINT=xmllint
+
+progcheck $XSLTPROC
+progcheck $XMLLINT
+
DIR="`dirname $0`"
WORKDIR="${TMPDIR:-/tmp}/wx.$$"
mkdir "$WORKDIR" || exit
{
INPUT="$1"
- if xsltproc --xinclude -o "$XSLT" $DIR/embedded.xsl "$INPUT" 2>"$STDERR" &&
+ if $XSLTPROC --xinclude -o "$XSLT" $DIR/embedded.xsl "$INPUT" 2>"$STDERR" &&
test \! -s "$STDERR"
then
if [ $MODE -eq $GENERATE ]; then
return 0
fi
- if xsltproc --xinclude -o "$PREP" "$XSLT" "$INPUT" 2>"$STDERR" &&
+ if $XSLTPROC --xinclude -o "$PREP" "$XSLT" "$INPUT" 2>"$STDERR" &&
test \! -s "$STDERR"
then
if [ $MODE -eq $PREPROCESS ]; then
return 1
fi
}
-
+
validate()
{
NAME="$1"
return 0
fi
- if xmllint --noout --schema $DIR/bot.xsd "$PREP" 2>"$STDERR"
+ if $XMLLINT --noout --schema $DIR/bot.xsd "$PREP" 2>"$STDERR"
then
errout "$NAME"
else
errout "$NAME" >&2
ERR=1
}
-
+
rm -f "$XSLT" "$PREP" "$STDERR"
shift