]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - all
improve the "all" script to notice if it has changed, and rerun
[xonotic/xonotic.git] / all
diff --git a/all b/all
index d0d826cbd3b27895fd924b5da2be8c03e6c27b03..a409faa0b7b9eff7f07c39a6ff582edd10ff98d3 100755 (executable)
--- a/all
+++ b/all
@@ -2,6 +2,8 @@
 
 set -e
 
+self=`cat "$0"`
+
 verbose()
 {
        echo "\e[1m+ $@\e[m"
@@ -56,6 +58,7 @@ case "$cmd" in
                                                ;;
                                esac
                                verbose git pull
+                               verbose git remote prune origin
                                cd "$d0"
                        else
                                verbose git clone "$url" "$d0/$d"
@@ -119,6 +122,7 @@ case "$cmd" in
                        done
                        "$0" branch
                fi
+               export XONOTIC_FORBID_RERUN_ALL=1
                ;;
        branches)
                for d in $repos; do
@@ -127,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
@@ -145,6 +150,7 @@ case "$cmd" in
                        fi
                        cd "$d0"
                done
+               export XONOTIC_FORBID_RERUN_ALL=1
                ;;
        compile)
                if [ -z "$MAKEFLAGS" ]; then
@@ -163,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
@@ -184,7 +191,9 @@ case "$cmd" in
                                exit 1
                        fi
                fi
-               verbose "darkplaces/darkplaces$client" -xonotic $@
+               #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
@@ -192,6 +201,7 @@ case "$cmd" in
                        verbose "$@"
                        cd "$d0"
                done
+               export XONOTIC_FORBID_RERUN_ALL=1
                ;;
        *)
                echo "Usage:"
@@ -203,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