From 3c038e72fec1773e6b0ab7f55e2b7ab59c85cb99 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Wed, 29 Sep 2010 14:43:59 +0200 Subject: [PATCH] add an autoscreenshot method --- misc/tools/xonotic-map-compiler-autobuild | 62 +++++++++++++++++++++-- 1 file changed, 59 insertions(+), 3 deletions(-) diff --git a/misc/tools/xonotic-map-compiler-autobuild b/misc/tools/xonotic-map-compiler-autobuild index 90a01232..b87465b9 100755 --- a/misc/tools/xonotic-map-compiler-autobuild +++ b/misc/tools/xonotic-map-compiler-autobuild @@ -5,8 +5,10 @@ set -e bspdir="$PWD/data" url=http://beta.xonotic.org/autobuild-bsp/ url_ssh=xonotic-beta:autobuild-bsp/ -cachedir="$HOME/xonotic-map-compiler.cache/" +build_cachedir="$HOME/xonotic-map-compiler.cache/" +screenshot_cachedir="$HOME/xonotic-map-screenshot.cache/" override="-bsp_timeout 900 -vis_timeout 3600 -light_timeout 14400 -minimap_timeout 900 -scale_timeout 900" +screenshot_override="9 300" allmaps() { @@ -39,6 +41,21 @@ pre2spam() echo "[$branch $hash] starting map compile of $map" } +ss2spam() +{ + map=$1 + url=$2 + branch=$3 + hash=$4 + + branch=${branch##refs/heads/} + branch=${branch##refs/remotes/} + branch=${branch##origin/} + hash=`echo "$hash" | cut -c 1-7` + + echo "[$branch $hash] screenshots of $map are available on $url" +} + log2spam() { map=$1 @@ -147,6 +164,31 @@ buildthemap() fi } +screenshotthemap() +{ + REFNAME=$1 + HASH=$2 + url=$3 + M=$4 + blobhash=$5 + if HEAD "$url$M-$blobhash/"; then + continue + fi + rm -rf ~/.xonotic + ( + ) + if [ -n "$IRCSPAM" ]; then + ss2spam "$M" "$url$M-$blobhash/" "$REFNAME" "$HASH" > "maps/$M.ircss" + fi + mv ~/.xonotic/data/screenshots "$M-$blobhash" + ln -snf "../$M-$blobhash" "$M" # from ALL branches, so beware! + rsync -vaSHP "$M-$blobhash" "$url_ssh" + rsync -vaSHP "$M" "$url_ssh""latest/" + if [ -n "$IRCSPAM" ]; then + $IRCSPAM < "maps/$M.ircss" + fi +} + getthemap() { url=$1 @@ -175,14 +217,28 @@ case "$1" in build) cd data/xonotic-maps.pk3dir git for-each-ref 'refs/remotes' | while read -r HASH TYPE REFNAME; do - if [ -f "$cachedir/$HASH" ]; then + if [ -f "$build_cachedir/$HASH" ]; then continue fi git reset --hard git clean -xfd git checkout -f "$HASH" allmaps buildthemap "$REFNAME" "$HASH" "$url" - touch "$cachedir/$HASH" + touch "$build_cachedir/$HASH" + done + git checkout -f master + ;; + screenshot) + cd data/xonotic-maps.pk3dir + git for-each-ref 'refs/remotes' | while read -r HASH TYPE REFNAME; do + if [ -f "$screenshot_cachedir/$HASH" ]; then + continue + fi + git reset --hard + git clean -xfd + git checkout -f "$HASH" + allmaps screenshotthemap "$REFNAME" "$HASH" "$url" + touch "$screenshot_cachedir/$HASH" done git checkout -f master ;; -- 2.39.2