<?xml version="1.0" encoding="UTF-8"?>
<project name= "Chamilo LMS" default= "build" >
<target name= "build"
depends="prepare,lint,phpcs-ci,simpletest,phpdoc"/>
<target name= "build-parallel"
depends="prepare,lint,tools-parallel,simpletest"/>
<target name= "tools-parallel" description= "Run tools in parallel" >
<parallel threadCount= "2" >
<sequential >
<antcall target= "pdepend" />
<!-- antcall target="phpmd - ci"/ -->
</sequential>
<antcall target= "phpcs-ci" />
<antcall target= "simpletest" />
<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" >
<phplint >
<fileset dir= "${basedir}" >
<include name= "**/*.php" />
</fileset>
</phplint>
</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}" />
</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= "simpletest" description= "Run simpletests" >
<simpletest >
<formatter type= "plain" />
<fileset dir= "${basedir}/tests" >
<include name= "test_suite.php" />
</fileset>
</simpletest>
</target>
<target name= "phpdoc" description= "Generate API documentation" >
<exec executable= "phpdoc" >
<arg line= "-d ${basedir} -t ${basedir}/logs/docs -i ${basedir}/tests,${basedir}/main/inc/entity,${basedir}/main/inc/lib/symfony,${basedir}/main/inc/lib/phpdocx,${basedir}/main/inc/lib/phpqrcode,${basedir}/main/inc/lib/mpdf,${basedir}/main/inc/lib/internationalization_database/transliteration,${basedir}/main/inc/lib/phpmailer,${basedir}/main/inc/lib/htmlpurifier,${basedir}/main/inc/lib/formvalidator,${basedir}/app/upload/users,${basedir}/main/lang,${basedir}/app/courses,${basedir}/app/cache,.htaccess" />
</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>