<project name="Test" default="build" basedir=".">
	<property name="output" location="${basedir}/build/"/>

	<target name="init">
		<mkdir dir="${output}"/>
		<mkdir dir="${output}/phpcs/"/>
		<mkdir dir="${output}/pdepend/"/>
		<mkdir dir="${output}/api"/>
		<mkdir dir="${output}/code-browser"/>
		<mkdir dir="${output}/coverage"/>
		<mkdir dir="${output}/logs"/>
		<mkdir dir="${output}/pdepend"/>
		<mkdir dir="${output}/phpdox"/>
	</target>

	<target name="build" depends="init, behat, phpmd, phpcpd, phpdox, pdepend,phpcb,phpcs-ci">
	</target>

	<target name="test">
		<exec executable="phpunit" failonerror="true">
			<arg line=" -c ${basedir}/Symfony/app/"/>
		</exec>
	</target>
	
	
	<target name="behat" description="Run Scenario with Behat">
	  <exec executable="php" failonerror="off">
	    <arg line="${basedir}/Symfony/app/console -e=test behat --format='junit' --out='${basedir}/build/logs/phpunit.xml'" />
	  </exec>
	</target>

	<target name="phpcs">
		<exec executable="phpcs">
		   <arg value="--standard=${basedir}/build/phpcs.xml" />
		   <arg path="${basedir}/Symfony/src/" />
		  </exec>
	</target>
	
	 <target name="phpcs-ci" description="Find coding standard violations using PHP_CodeSniffer creating a log file for the continuous integration server">
	  <exec executable="phpcs">
	   <arg value="--report=checkstyle" />
	   <arg value="--report-file=${basedir}/build/logs/checkstyle.xml" />
	   <arg path="${basedir}/Symfony/src/" />
	  </exec>
	 </target>	
	
	<target name="phpdox" description="Generate API documentation using phpDox">
	  <exec executable="phpdox"/>
	 </target>

	<target name="phpmd">
		<exec executable="phpmd">
			<arg line="
				${basedir}/Symfony/src/ xml codesize,unusedcode,naming,design --reportfile ${output}/phpmd.xml --exclude Tests/
			" />
		</exec>
	</target>

	<target name="phpcpd">
		<exec executable="phpcpd">
			<arg line="
				 --log-pmd ${output}/logs/pmd-cpd.xml ${basedir}/Symfony/src/
			" />
		</exec>
	</target>

	<target name="pdepend">
		<exec executable="pdepend">
			<arg line="
				--jdepend-xml=${output}/logs/jdepend.xml
				--jdepend-chart=${output}/pdepend/dependencies.svg
				--overview-pyramid=${output}/pdepend/overview-pyramid.svg
				--ignore=Tests/
				${basedir}/Symfony/src/
			" />
		</exec>
	</target>
	
	 <target name="phpcb" description="Aggregate tool output with PHP_CodeBrowser">
	  <exec executable="phpcb">
	   <arg value="--log" />
	   <arg path="${basedir}/build/logs" />
	   <arg value="--source" />
	   <arg path="${basedir}/Symfony/src" />
	   <arg value="--output" />
	   <arg path="${basedir}/build/code-browser" />
	  </exec>
	 </target>
	
	
</project>