]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/tools/xonotic-map-compiler-autobuild
Don't create a top-level gmqcc directory since there are no prebuilt GMQCC binaries...
[xonotic/xonotic.git] / misc / tools / xonotic-map-compiler-autobuild
index 75306ced9d64f892e713e5ae4f3bbad13bd3f2d0..0cfb057922ff7401190bd2392bf36e4259c935e6 100755 (executable)
@@ -3,7 +3,7 @@
 set -e
 
 bspdir="$PWD/data"
-url_http=http://beta.xonotic.org/autobuild-bsp/
+url_http=https://beta.xonotic.org/autobuild-bsp/
 url_ssh=xonotic-beta:autobuild-bsp/
 build_cachedir="$HOME/xonotic-map-compiler.cache/"
 screenshot_cachedir="$HOME/xonotic-map-screenshot.cache/"
@@ -164,7 +164,8 @@ buildthemap()
        blobhash=$4
        commithash=$5
        if lwp-request -m HEAD "$url$M-$blobhash.pk3"; then
-               continue
+               # already compiled
+               return
        fi
 
        git reset --hard
@@ -237,13 +238,19 @@ screenshotthemap()
        M=$3
        blobhash=$4
        commithash=$5
+       if ! [ -f "$bspdir/$M-$blobhash.pk3" ]; then
+               # not downloaded yet
+               return
+       fi
+
        if lwp-request -m HEAD "$url$M-$blobhash/$M-000000.jpg"; then
-               continue
+               # already done
+               return
        fi
 
        if ! unzip -l "$bspdir/$M-$blobhash.pk3" "maps/$M.bsp"; then
                # no BSP file
-               continue
+               return
        fi
 
        rm -rf ~/.xonotic/data
@@ -301,17 +308,15 @@ getthemap()
                fi
        fi
        if ! wget -c -O "$bspdir/$M-$blobhash.pk3" "$url$M-$blobhash.pk3"; then
-               if ! curl -o "$bspdir/$M-$blobhash.pk3" "$url$M-$blobhash.pk3"; then
+               if ! curl -Lo "$bspdir/$M-$blobhash.pk3" "$url$M-$blobhash.pk3"; then
                        rm -f "$bspdir/$M-$blobhash.pk3"
                        echo "WARNING: could not download $url$M-$blobhash.pk3, maybe not ready yet"
-                       getthemap_fail=true
                        return 0
                fi
        fi
        if ! unzip -l "$bspdir/$M-$blobhash.pk3"; then
                rm -f "$bspdir/$M-$blobhash.pk3"
                echo "WARNING: could not download $url$M-$blobhash.pk3, invalid zip file"
-               getthemap_fail=true
                return 0
        fi
 }
@@ -378,12 +383,15 @@ case "$1" in
 
                        getthemap_fail=false
                        rundownload
+
+                       allmaps "$HASH" screenshotthemap "$REFNAME" "$url_http"
+
                        if $getthemap_fail; then
+                               # If any map fetch failed, we've skipped them and thus need to try again later.
+                               # Note that we're not going to re-screenshot maps because of this as we'll check for uploaded screenshots first.
                                continue
                        fi
 
-                       allmaps "$HASH" screenshotthemap "$REFNAME" "$url_http"
-
                        touch "$screenshot_cachedir/$HASH"
                done
                git checkout -f master