34 lines
860 B
Plaintext
34 lines
860 B
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
set -e
|
||
|
|
||
|
failuremsg="Error"
|
||
|
failurecode=1
|
||
|
|
||
|
while [ $# -gt 0 ]
|
||
|
do
|
||
|
case "$1" in
|
||
|
--warning|-w)
|
||
|
failuremsg="Warning"
|
||
|
failurecode=0;;
|
||
|
esac
|
||
|
shift
|
||
|
done
|
||
|
|
||
|
echo "Checking for theories that are not part of an Isabelle session:"
|
||
|
echo "==============================================================="
|
||
|
|
||
|
PWD=`pwd`
|
||
|
TMPDIR=`mktemp -d`
|
||
|
isabelle build -D . -l -n | grep $PWD | sed -e "s| *${PWD}/||" | sort -u | grep thy$ > ${TMPDIR}/sessions-thy-files.txt
|
||
|
find * -type f | sort -u | grep thy$ > ${TMPDIR}/actual-thy-files.txt
|
||
|
thylist=`comm -13 ${TMPDIR}/sessions-thy-files.txt ${TMPDIR}/actual-thy-files.txt`
|
||
|
if [ -z "$thylist" ] ; then
|
||
|
echo " * Success: No dangling theories found."
|
||
|
exit 0
|
||
|
else
|
||
|
echo -e "$thylist"
|
||
|
echo "$failuremsg: Dangling theories found (see list above)!"
|
||
|
exit $failurecode
|
||
|
fi
|