improve the "all" script to notice if it has changed, and rerun

This commit is contained in:
Rudolf Polzer 2010-03-29 15:17:50 +02:00
parent fe9e135a69
commit a3518ca2fb

23
all
View File

@ -2,6 +2,8 @@
set -e
self=`cat "$0"`
verbose()
{
echo "+ $@"
@ -120,6 +122,7 @@ case "$cmd" in
done
"$0" branch
fi
export XONOTIC_FORBID_RERUN_ALL=1
;;
branches)
for d in $repos; do
@ -128,6 +131,7 @@ case "$cmd" in
git branch -a | sed 's/^/ /; /->/d'
cd "$d0"
done
export XONOTIC_FORBID_RERUN_ALL=1
;;
push)
for d in $repos; do
@ -146,6 +150,7 @@ case "$cmd" in
fi
cd "$d0"
done
export XONOTIC_FORBID_RERUN_ALL=1
;;
compile)
if [ -z "$MAKEFLAGS" ]; then
@ -164,6 +169,7 @@ case "$cmd" in
verbose make $MAKEFLAGS sv-debug
verbose make $MAKEFLAGS cl-debug
verbose make $MAKEFLAGS sdl-debug
export XONOTIC_FORBID_RERUN_ALL=1
;;
run)
client=-sdl
@ -187,6 +193,7 @@ case "$cmd" in
fi
#verbose "darkplaces/darkplaces$client" -xonotic "$@"
verbose "darkplaces/darkplaces$client" -nexuiz -customgamename Xonotic -customgamedirname1 data -customgamedirname2 "" -customgamescreenshotname xonotic -customgameuserdirname xonotic "$@"
export XONOTIC_FORBID_RERUN_ALL=1
;;
each|foreach)
for d in $repos; do
@ -194,6 +201,7 @@ case "$cmd" in
verbose "$@"
cd "$d0"
done
export XONOTIC_FORBID_RERUN_ALL=1
;;
*)
echo "Usage:"
@ -205,5 +213,20 @@ case "$cmd" in
echo " $0 compile"
echo " $0 run <client> <options>"
echo " $0 each <command>"
export XONOTIC_FORBID_RERUN_ALL=1
;;
esac
self_new=`cat "$0"`
if [ x"$self" != x"$self_new" ]; then
echo "./all has changed."
if [ -z "$XONOTIC_FORBID_RERUN_ALL" ]; then
echo "Rerunning the requested operation to make sure."
export XONOTIC_FORBID_RERUN_ALL=1
"$0" update
"$0" "$@"
else
echo "Please try $0 update, and then retry your requested operation."
exit 1
fi
fi