#!/bin/sh

set -eu

ROBOCODE_HOME=${ROBOCODE_HOME:-~/.robocode}

if [ ! -d "${ROBOCODE_HOME}" ];
then
	mkdir -p "${ROBOCODE_HOME}/battles"
	mkdir -p "${ROBOCODE_HOME}/robots"
	mkdir -p "${ROBOCODE_HOME}/compilers"
	mkdir -p "${ROBOCODE_HOME}/config"
	cp /usr/share/robocode/compiler.properties "${ROBOCODE_HOME}/config"
	ln -s /usr/share/robocode/templates "${ROBOCODE_HOME}/templates"
	ln -s /usr/share/robocode/robots/sample "${ROBOCODE_HOME}/robots"
	ln -s /usr/share/robocode/robots/sampleteam "${ROBOCODE_HOME}/robots"
	ln -s /usr/share/robocode/intro.battle "${ROBOCODE_HOME}/battles"
	ln -s /usr/share/robocode/CompilerTest.java "${ROBOCODE_HOME}/compilers"
fi

for JAVA_VERSION in java-6-openjdk java-5-sun java-6-sun default-java
do
	BINARY="/usr/lib/jvm/${JAVA_VERSION}/bin/java"

	if [ -x "${BINARY}" ];
	then
		ROBOCODE_JAVA="${BINARY}"
		break
	fi
done

if [ -z "${ROBOCODE_JAVA:-}" ];
then
	echo "E: Cannot find JRE, exiting.." 1>&2
	exit 1
fi

cd "${ROBOCODE_HOME}"

exec ${ROBOCODE_JAVA} \
	-Xmx512M -Dsun.io.useCanonCaches=false \
	-cp /usr/share/java/robocode.jar:/usr/share/java/bcel.jar:/usr/share/java/cachecleaner.jar \
	robocode.Robocode \
	"$@"
