#!/bin/bash

function show_title() {
	echo "RK_HOME: $RK_HOME"
	echo "O---------------------------------------------O"
	echo 
	echo "   $rk_name ";
	echo "   $rk_fullname ";
	echo 
	echo "O---------------------------------------------O"

}

function show_help {
	echo "usage: {rk2|rk3|sork2|sork2|cdrk2|derk|clientrk} [-help|-cmd] [ANT_ARGS]"
	echo "	-help       show this help screen"
	echo "	-cmd        show the ant command being used by the releas kit"
	echo "	ANT_ARGS    additional arguments to be passed to ant"
}

#determine requested release kit
rk_name="$(basename $0)"
export RK_HOME="$(cd "$(dirname "$0")/.." && pwd)"

if [ "$rk_name" == "rk2" ]; then
    rk_fullname="Release Kit for Greenstone2"
elif [ "$rk_name" == "rk3" ]; then
    rk_fullname="Release Kit for Greenstone3"
elif [ "$rk_name" == "sork2" ]; then
    rk_fullname="Source Code Release Kit for Greenstone2"
elif [ "$rk_name" == "sork3" ]; then
    rk_fullname="Source Code Release Kit for Greenstone3"
elif [ "$rk_name" == "cdrk2" ]; then
    rk_fullname="CD-ROM Release Kit for Greenstone2"
elif [ "$rk_name" == "derk" ]; then
    rk_fullname="Documented Examples Release Kit"
elif [ "$rk_name" == "clientrk" ]; then
    rk_fullname="Standalone Client-GLI Release Kit"
else
    show_help
    exit
fi

#make sure ant has enough memory
export ANT_OPTS=-Xmx2048M

#create the command
toexec="ant -lib \"`pwd`/installer/classes\" -f \"$RK_HOME/kits/$rk_name/ant-scripts/build.xml\" \"-Dbasedir=`pwd`\" \"-Drk.home=$RK_HOME\" \"-Drk.name=$rk_name\""

# Generally, an ant property can be true|on|yes vs false|off|no (or left unset)
# see https://ant.apache.org/manual/properties.html#if+unless
# However, the release-kit code requires envvar KEEP_SRC to be "true" in order to stop it deleting source code
# set KEEP_SRC env var here or in envi/etc/tasks/snapshot/environment.pl
#KEEP_SRC=true
#echo "KEEP_SRC: $KEEP_SRC"
if test -n $KEEP_SRC ; then
    toexec="$toexec \"-Dkeep.src=$KEEP_SRC\""
fi

#pass on the arguments
while [ "$1" != "" ]; do

	if [ "$1" == "-help" ]; then
		show_help
		exit
	elif [ "$1" == "-cmd" ]; then
		show_cmd=true
	else
		toexec="$toexec \"$1\""
	fi
	shift

done

#show the command to be executed
if [ "$show_cmd" == "true" ]; then
	echo $toexec
#execute
else
	show_title | tee ${rk_name}.out
	$toexec 2>&1 | tee -a ${rk_name}.out
fi