<?xml version="1.0" encoding="utf-8" ?>
<project name="FireBoxComponents" default="test">

	<property name="formatter" value="Plain" unless="${property::exists('formatter')}" />
	<property name="config" value="Debug" unless="${property::exists('config')}" />

	<property name="testsuitesdir" value="t:\rover2\testsuites" />
	<property name="scriptsdir" value="${testsuitesdir}\scripts" />
	<property name="commondir" value="${testsuitesdir}\common" />
	<property name="basedir" value="${testsuitesdir}\${project::get-name()}" />

	<target name="update">
		<exec program="${scriptsdir}\vssget.cmd">
			<arg file="${basedir}\vssprojects.txt" />
			<arg file="${basedir}\update.log" />
		</exec>
	</target>

	<target name="clean">
		<exec program="${scriptsdir}\build.cmd">
			<arg file="${basedir}\solutions.txt" />
			<arg file="${basedir}\clean.log" />
			<arg value="clean" />
		</exec>
		<foreach item="Folder" in="T:\" property="folder">
			<delete unless="${folder == 'T:\System Volume Information'}">
				<fileset basedir="${folder}">
					<include name="**\bin" />
					<include name="**\obj" />
				</fileset>
			</delete>
		</foreach>
	</target>

	<target name="cleanlog">
		<delete>
			<fileset basedir="${basedir}">
				<include name=".\*.log" />
			</fileset>
		</delete>
	</target>

	<target name="build">
		<exec program="${scriptsdir}\build.cmd">
			<arg file="${basedir}\solutions.txt" />
			<arg file="${basedir}\build.log" />
		</exec>
	</target>

	<target name="testsuite">
		<solution solutionfile="${basedir}\${project::get-name()}.sln" configuration="${config}" />
	</target>

	<target name="testexec" depends="testsuite">
		<nunit2>
			<formatter type="${formatter}" />
			<test>
				<assemblies basedir="${basedir}">
					<include name="**\bin\${config}\*.dll" />
					<exclude name="**\Interop.*.dll" />
					<exclude name="**\TestUtilityLib.dll" />
				</assemblies>
			</test>
		</nunit2>
	</target>

	<target name="testclean">
		<delete>
			<fileset basedir="${basedir}">
				<include name="**\bin" />
				<include name="**\obj" />
			</fileset>
		</delete>
	</target>

	<target name="test" depends="build,testsuite,testexec" />

	<target name="ContinuousIntegration" depends="clean,update,build,test" />

	<target name="ccgen">
		<exec program="${scriptsdir}\ccgen.cmd">
			<arg file="${basedir}\ccnet.config" />
			<arg file="${commondir}\project.format.xml" />
			<arg file="${basedir}\ccnet.format.xml" />
			<arg file="${basedir}\vssprojects.txt" />
		</exec>
	</target>

</project>
