#!/bin/sh
#
# Make a local copy of the HTML unit tree.
# Meant to be run on the wesnoth server site.

if [ $# -ne 1 ]; then
	echo "Syntax: $0 <wesnoth version>"
	exit 1
fi

VERSION=$1
SITE=$HOME/html/units
SOURCE=$HOME/source

if ! [ -d $SOURCE ]; then
	echo "'$SOURCE' not found."
	exit 1
fi

BRANCH=Development
case $VERSION in
	1.2 )	cd $SOURCE/1.2 || exit 1
		BRANCH=Stable
	;;
	1.3.* ) cd $SOURCE/trunk || exit 1
	;;
	1.4 )	cd $SOURCE/1.4 || exit 1
		BRANCH=Stable
	;;
	trunk ) cd $SOURCE/trunk || exit 1
	;;
	* ) 	echo "Unknown version."
		exit 1
	;;
esac
if [ -d $SITE/$VERSION ] && [ "$BRANCH" != "Stable" ] && [ "$VERSION" != "trunk" ]; then
	echo "'$SITE/$VERSION' already exists."
	exit 1
fi
#echo 'svn update...'
#svn update
#svn status
if [ "$VERSION" == "trunk"]; then
	data/tools/wmlunits -d data/ -o $SITE/temp || exit 1
	rm -rf $SITE/$VERSION
	# move the generated files to their proper place
	mv $SITE/temp $SITE/$VERSION
else
	cd data/tools/unit_tree/ || exit 1
	# make sure we update with the right version
	sed -i -e "s/\(my \$version = '\).*\(';\)/\1$VERSION\2/" units.pl
	./units.pl || exit 1
	rm -rf $SITE/$VERSION
	# move the generated files to their proper place
	mv files $SITE/$VERSION
	cp -p templates/units.css $SITE/$VERSION
	# revert to prevent future conflicts if $version changed
	svn revert units.pl
fi
if [ "$VERSION" != "trunk" ] && ! [ $(grep "<p><a href=\"$VERSION/index.html\">$VERSION ($BRANCH)</a></p>" $SITE/index.html) ]; then
	# insert a link for the new version
	sed -i -e "s,\(<p><a href=\"trunk/index.html\">Trunk</a></p>\),\1\n<p><a href=\"$VERSION/index.html\">$VERSION ($BRANCH)</a></p>," $SITE/index.html
fi
