]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/tools/xonotic-map-compiler-autobuild
handle errors better
[xonotic/xonotic.git] / misc / tools / xonotic-map-compiler-autobuild
index 17ff0e77a4148f3afe63b3a2ecfef12334a582d2..384123fcef7fbc6bdcaa0adbb8309681517cd691 100755 (executable)
@@ -116,6 +116,11 @@ log2spam()
                        WARNING:\ Couldn\'t\ find\ image\ for\ shader\ *)
                                s_failshaders="$s_failshaders ${L##* }"
                                ;;
+                       ERROR:\ *)
+                               if [ -z "$s_error" ]; then
+                                       s_error=$L
+                               fi
+                               ;;
                        '******* leaked *******')
                                s_leaked=1
                                ;;
@@ -172,11 +177,20 @@ buildthemap()
        t0=`date +%s`
        (
                cd maps
-               ../../../misc/tools/xonotic-map-compiler "$M" `grep ^- "$M.map.options" | cut -d '#' -f 1` $build_override > "$M.log"
+               sz=`grep '^size ' "$M.mapinfo" 2>/dev/null || true`
+               if [ -n "$sz" ]; then
+                       minimap_override="-minimap + -minmax ${sz#size }"
+               else
+                       minimap_override=
+               fi
+               ../../../misc/tools/xonotic-map-compiler "$M" `grep ^- "$M.map.options" | cut -d '#' -f 1` $minimap_override $build_override > "$M.log" 2>&1
        )
+       status=$?
+       if ! [ -f "maps/$M.bsp" ]; then
+               echo >>"$M.log" "ERROR: No BSP file"
+       fi
        t1=`date +%s`
        dt=$(($t1 - $t0))
-       status=$?
        if [ -n "$IRCSPAM" ]; then
                cat "maps/$M.log" | log2spam "$M" "$url$M-$blobhash.pk3" "$REFNAME" "$commithash" "$status" "$dt" > "maps/$M.irc"
        fi
@@ -203,6 +217,11 @@ screenshotthemap()
                continue
        fi
 
+       if ! unzip -l "$bspdir/$M-$blobhash.pk3" "maps/$M.bsp"; then
+               # no BSP file
+               continue
+       fi
+
        rm -rf ~/.xonotic
        (
                cd ../..
@@ -317,7 +336,7 @@ case "$1" in
 
                        git reset --hard
                        git clean -xfd
-                       git checkout -f "$commithash"
+                       git checkout -f "$HASH"
 
                        rundownload
                        if $getthemap_fail; then