<project name="user" default="build" basedir=".">
	<property name="gwt.root" location=".." />
	<property name="project.tail" value="user" />
	<property name="test.args" value="" />
	<import file="${gwt.root}/common.ant.xml" />

	<!--
		Default hosted mode test cases
	-->
	<fileset id="default.hosted.tests" dir="${javac.junit.out}" 
			 includes="${gwt.junit.testcase.includes}" />

	<!--
		Default web mode test cases
	-->
	<fileset id="default.web.tests" dir="${javac.junit.out}"
 		 	 includes="${gwt.junit.testcase.includes}" />

	<!-- Platform shouldn't matter here, just picking one -->
	<property.ensure name="gwt.dev.jar" location="${gwt.build.lib}/gwt-dev-linux.jar" />

	<target name="compile" description="Compile all class files">
		<mkdir dir="${javac.out}" />
		<gwt.javac>
			<classpath>
				<pathelement location="${gwt.tools.lib}/tomcat/servlet-api-2.4.jar" />
				<pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
				<pathelement location="${gwt.tools.lib}/jfreechart/jfreechart-1.0.3.jar" />
				<pathelement location="${gwt.dev.jar}" />
			</classpath>
		</gwt.javac>

		<!-- Build the BrowserManagerServer_Stub to allow remote browser testing -->
		<rmic base="${javac.out}"
                  classname="com.google.gwt.junit.remote.BrowserManagerServer"
                  stubversion="1.2"/>
	</target>

	<target name="compile.tests" description="Compiles the test code for this project">
		<mkdir dir="${javac.junit.out}" />
		<gwt.javac srcdir="test" destdir="${javac.junit.out}">
			<classpath>
				<pathelement location="${javac.out}" />
				<pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
				<pathelement location="${gwt.dev.staging.jar}" />
			</classpath>
		</gwt.javac>
	</target>

	<target name="build" depends="compile" description="Build and package this project">
		<mkdir dir="${gwt.build.lib}" />
		<gwt.jar>
			<fileset dir="src" excludes="**/package.html" />
			<fileset dir="super" excludes="**/package.html" />
			<fileset dir="${javac.out}" />
			<zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.4.jar" />
		</gwt.jar>
	</target>

	<target name="checkstyle" description="Static analysis of source">
		<gwt.checkstyle>
			<fileset dir="src" />
			<fileset dir="super/com/google/gwt/emul" />
			<fileset dir="super/com/google/gwt/junit/translatable" />
		</gwt.checkstyle>
	</target>

	<target name="remoteweb-test" description="Run a remoteweb test at the given host and path">
		<echo message="Performing remote browser testing at rmi://${gwt.remote.browser}" />
		<gwt.junit test.args="${test.args} -out www -web -remoteweb rmi://${gwt.remote.browser}" test.out="${junit.out}/${gwt.remote.browser}" test.cases="default.web.tests" />
	</target>

	<target name="test.hosted" depends="compile, compile.tests" description="Run only hosted-mode tests for this project.">
		<gwt.junit test.args="${test.args}" test.out="${junit.out}/${build.host.platform}-hosted-mode" test.cases="default.hosted.tests" />
	</target>

	<target name="test.web" depends="compile, compile.tests" description="Run only web-mode tests for this project.">
		<gwt.junit test.args="${test.args} -out www -web" test.out="${junit.out}/${build.host.platform}-web-mode" test.cases="default.web.tests" />
	</target>

	<target name="test" depends="compile, compile.tests" description="Run hosted-mode, web-mode and remoteweb tests for this project.">
		<property.ensure name="distro.built" location="${gwt.dev.staging.jar}" message="GWT must be built before performing any tests.  This can be fixed by running ant in the ${gwt.root} directory." />

		<!--
			Run hosted and web mode tests for the platform on which this build
			is executing
		-->
		<limit failonerror="true" hours="1">
		<parallel threadsPerProcessor="1">
			<antcall target="test.hosted"/>

			<antcall target="test.web"/>

			<!--
				Run remote browser testing for the comma delimited list of remote browsers
			-->
			<foreach list="${gwt.remote.browsers}" delimiter="," parallel="true" maxThreads="1" target="remoteweb-test" param="gwt.remote.browser" />
		</parallel>
		</limit>
	</target>

	<target name="clean" description="Cleans this project's intermediate and output files">
		<delete dir="${project.build}" />
		<delete file="${project.lib}" />
	</target>

</project>
