<?xml version="1.0" encoding="UTF-8"?>
<project name= "Chamilo LMS" default= "build" >
<target name= "build"
depends="prepare,lint,pdepend,phpmd-ci,phpcs-ci,phpcpd,phpdoc,phpcb"/>
<target name= "build-parallel"
depends="prepare,lint,tools-parallel,phpcb"/>
<target name= "tools-parallel" description= "Run tools in parallel" >
<parallel threadCount= "2" >
<sequential >
<antcall target= "pdepend" />
<antcall target= "phpmd-ci" />
</sequential>
<antcall target= "phpcpd" />
<antcall target= "phpcs-ci" />
<antcall target= "phpdoc" />
</parallel>
</target>
<target name= "clean" description= "Cleanup build artifacts" >
<delete dir= "${basedir}/tests/api" />
<delete dir= "${basedir}/tests/code-browser" />
<delete dir= "${basedir}/tests/coverage" />
<delete dir= "${basedir}/tests/logs" />
<delete dir= "${basedir}/tests/pdepend" />
</target>
<target name= "prepare" depends= "clean" description= "Prepare for build" >
<mkdir dir= "${basedir}/tests/api" />
<mkdir dir= "${basedir}/tests/code-browser" />
<mkdir dir= "${basedir}/tests/coverage" />
<mkdir dir= "${basedir}/tests/logs" />
<mkdir dir= "${basedir}/tests/pdepend" />
<mkdir dir= "${basedir}/tests/phpdox" />
</target>
<target name= "lint" description= "Perform syntax check of sourcecode files" >
<apply executable= "php" failonerror= "true" >
<arg value= "-l" />
<fileset dir= "${basedir}" >
<include name= "**/*.php" />
<exclude name= "**/class.class.php" />
<modified />
</fileset>
</apply>
</target>
<target name= "pdepend" description= "Calculate software metrics using PHP_Depend" >
<exec executable= "pdepend" >
<arg value= "--jdepend-xml=${basedir}/tests/logs/jdepend.xml" />
<arg value= "--jdepend-chart=${basedir}/tests/pdepend/dependencies.svg" />
<arg value= "--overview-pyramid=${basedir}/tests/pdepend/overview-pyramid.svg" />
<arg path= "${basedir}/src" />
</exec>
</target>
<target name= "phpmd"
description="Perform project mess detection using PHPMD and print human readable output. Intended for usage on the command line before committing.">
<exec executable= "phpmd" >
<arg path= "${basedir}" />
<arg value= "text" />
<arg value= "${basedir}/tests/phpmd.xml" />
</exec>
</target>
<target name= "phpmd-ci" description= "Perform project mess detection using PHPMD creating a log file for the continuous integration server" >
<exec executable= "phpmd" >
<arg path= "${basedir}" />
<arg value= "xml" />
<arg value= "${basedir}/tests/phpmd.xml" />
<arg value= "--reportfile" />
<arg value= "${basedir}/tests/logs/pmd.xml" />
</exec>
</target>
<target name= "phpcs"
description="Find coding standard violations using PHP_CodeSniffer and print human readable output. Intended for usage on the command line before committing.">
<exec executable= "phpcs" >
<arg value= "--standard=${basedir}/tests/phpcs.xml" />
<arg path= "${basedir}" />
</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" output= "/dev/null" >
<arg value= "--report=checkstyle" />
<arg value= "--report-file=${basedir}/tests/logs/checkstyle.xml" />
<arg value= "--standard=${basedir}/tests/phpcs.xml" />
<arg path= "${basedir}" />
</exec>
</target>
<target name= "phpcpd" description= "Find duplicate code using PHPCPD" >
<exec executable= "phpcpd" >
<arg value= "--log-pmd" />
<arg value= "${basedir}/tests/logs/pmd-cpd.xml" />
<arg path= "${basedir}" />
</exec>
</target>
<target name= "phpdoc" description= "Generate API documentation" >
<exec executable= "phpdoc" >
<arg line= "-d ${basedir} -t ${basedir}/logs/docs" />
</exec>
</target>
<target name= "phpcb" description= "Aggregate tool output with PHP_CodeBrowser" >
<exec executable= "phpcb" >
<arg value= "--log" />
<arg path= "${basedir}/tests/logs" />
<arg value= "--source" />
<arg path= "${basedir}" />
<arg value= "--output" />
<arg path= "${basedir}/tests/code-browser" />
</exec>
</target>
</project>