#!/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")
rk_dirname=$(dirname "$0")
export RK_HOME=$(cd "$rk_dirname/.." && 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=-Xmx1024M


if [ "x$JAVACFLAGS" = "x" ] ; then
    echo "****" >&2
    echo "Warning: Expected to have JAVACFLAGS set.  Have your sourced rk3-setup.bassh?" >&2
    echo "****" >&2
    echo "Sleeping for 5 seconds then continuing, unless ^C is pressed" >&2
    sleep 5
fi

#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

show_cmd=false

#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 ""
        echo export JAVACFLAGS=$JAVACFLAGS
	echo ""
	echo $toexec
        echo ""
#execute
else
	show_title | tee ${rk_name}.out
	bash -c "$toexec" 2>&1 | tee -a ${rk_name}.out
fi