
Chances are that the previous build works just as well. We just need it for config file parsing which does not change often.
61 lines
1.9 KiB
Bash
Executable file
61 lines
1.9 KiB
Bash
Executable file
#!/bin/bash
|
|
# script running on the wesnoth server to update units.wesnoth.org
|
|
set -e -u
|
|
|
|
# set them in the environment
|
|
# VERSION=1.12
|
|
# PORT=1.12.x
|
|
|
|
# must run from the correct directory
|
|
dir="$(dirname "$0")"
|
|
|
|
EXTRA_ADDON_OPTIONS=${EXTRA_ADDON_OPTIONS:-}
|
|
EXTRA_WMLUNITS_OPTIONS=${EXTRA_WMLUNITS_OPTIONS:-}
|
|
TIMEOUT=${TIMEOUT:-20}
|
|
SOURCES=${SOURCES:-/usr/src/wesnoth}
|
|
addons=$dir/addons
|
|
exe=$dir/wesnoth
|
|
config=$dir/config
|
|
src=$SOURCES/$VERSION
|
|
data=$src
|
|
log=$dir/logs
|
|
tmpout=$dir/output
|
|
OUT=${OUT:-"/srv/www/html/units/$VERSION"}
|
|
trans=$dir/translations
|
|
build=$dir/build
|
|
# always using the master version
|
|
TOOLS=${TOOLS:-$SOURCES/master/data/tools}
|
|
export TEMP=$dir/temp
|
|
|
|
# in case there's leftovers from a previous run
|
|
rm -rf "$config/data/add-ons"
|
|
rm -rf "$tmpout"
|
|
rm -rf "$TEMP"
|
|
|
|
mkdir -p "$config/data/add-ons"
|
|
mkdir -p "$addons"
|
|
mkdir -p "$log"
|
|
mkdir -p "$tmpout"
|
|
mkdir -p "$TEMP"
|
|
mkdir -p "$trans"
|
|
|
|
# we only need the parser, but have to build the game executable for that
|
|
echo BUILDING
|
|
cd "$dir" || exit # the scons build places the wesnoth executable in the current directory
|
|
# continue on failure if there is an executable from a previous build
|
|
TRAVIS=1 TRAVIS_OS_NAME=Linux scons -Y "$src" --option-cache="$build/.scons-option-cache" || [ -x wesnoth ]
|
|
|
|
# later can just rebuild updated campaigns, but for now rebuild everything
|
|
rm -f "$dir/overview.txt"
|
|
|
|
echo DOWNLOADING
|
|
"$TOOLS/wesnoth_addon_manager" -p "$PORT" -d '.*' -c "$addons" $EXTRA_ADDON_OPTIONS > "$log/wesnoth_addon_manager.txt" 2>&1
|
|
echo WORKING
|
|
python3 -u "$TOOLS/wmlunits" -t "$trans" -D "$data" -o "$tmpout" -w "$exe" \
|
|
-C "$config" -a "$addons" -L "$dir/overview.txt" -B "$dir/overview.txt" \
|
|
-T "$TIMEOUT" $EXTRA_WMLUNITS_OPTIONS > "$log/wmlunits.txt" 2>&1
|
|
test -f "$tmpout"/mainline/en_US/mainline.html
|
|
test -f "$tmpout"/'pics/core$images$units$woses$wose.png'
|
|
rsync -vaz --delete "$tmpout/" "$OUT" > "$log/rsync.txt" 2>&1
|
|
rm -rf "$TEMP"
|
|
rm -rf "$tmpout"
|