<?xml version="1.0" encoding="UTF-8"?> <project name="codebird-php" default="build" basedir="."> <property name="source" value="src"/> <property name="source_comma_sep" value="."/> <property environment="env"/> <property name="env.PHPUNIT_XML" value="phpunit.xml"/> <property name="env.PHPUNIT_XML_HHVM" value="phpunit.xml.hhvm"/> <property name="env.PHPUNIT_ARGS" value=""/> <target name="clean" description="Clean up and create artifact directories"> <delete dir="${basedir}/build/api"/> <delete dir="${basedir}/build/code-browser"/> <delete dir="${basedir}/build/coverage"/> <delete dir="${basedir}/build/logs"/> <delete dir="${basedir}/build/pdepend"/> <mkdir dir="${basedir}/build/api"/> <mkdir dir="${basedir}/build/code-browser"/> <mkdir dir="${basedir}/build/coverage"/> <mkdir dir="${basedir}/build/logs"/> <mkdir dir="${basedir}/build/pdepend"/> </target> <target name="phpunit" description="Run unit tests using PHPUnit and generates junit.xml and clover.xml"> <exec executable="${basedir}/vendor/bin/phpunit" failonerror="true"> <arg line="--configuration ${env.PHPUNIT_XML} ${env.PHPUNIT_ARGS}"/> </exec> </target> <target name="phpunit-hhvm" description="Run unit tests using PHPUnit with HHVM specific config"> <exec executable="${basedir}/vendor/bin/phpunit" failonerror="true"> <arg line="--configuration ${env.PHPUNIT_XML_HHVM} ${env.PHPUNIT_ARGS}"/> </exec> </target> <target name="pdepend" description="Generate jdepend.xml and software metrics charts using PHP_Depend"> <exec executable="pdepend"> <arg line="'--jdepend-xml=${basedir}/build/logs/jdepend.xml' '--jdepend-chart=${basedir}/build/pdepend/dependencies.svg' '--overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg' ${source_comma_sep}" /> </exec> </target> <target name="phpmd" description="Generate pmd.xml using PHPMD"> <exec executable="phpmd"> <arg line="${source_comma_sep} xml codesize,design,naming,unusedcode --exclude test,build,vendor --reportfile '${basedir}/build/logs/pmd.xml'" /> </exec> </target> <target name="phpcpd" description="Generate pmd-cpd.xml using PHPCPD"> <exec executable="phpcpd"> <arg line="--log-pmd '${basedir}/build/logs/pmd-cpd.xml' --exclude test --exclude build --exclude vendor ${source}" /> </exec> </target> <target name="phploc" description="Generate phploc.csv"> <exec executable="phploc"> <arg line="--log-csv '${basedir}/build/logs/phploc.csv' --exclude test --exclude build --exclude vendor ${source}" /> </exec> </target> <target name="phpcs" description="Generate checkstyle.xml using PHP_CodeSniffer excluding third party libraries"> <exec executable="phpcs"> <arg line=" --ignore=*/vendor/*,*/build/* --report=checkstyle --extensions=php --report-file='${basedir}/build/logs/checkstyle.xml' --standard=PEAR ${source}" /> </exec> </target> <target name="phpdoc" description="Generate API documentation using PHPDocumentor"> <exec executable="phpdoc"> <arg line="-d ${source} -t '${basedir}/build/api'" /> </exec> </target> <target name="phpcb" description="Aggregate tool output with PHP_CodeBrowser"> <exec executable="phpcb"> <arg line="--log '${basedir}/build/logs' --source '${source}' --output '${basedir}/build/code-browser'" /> </exec> </target> <target name="lint" description="Perform syntax check of sourcecode files"> <apply executable="php" failonerror="true" output="${basedir}/build/logs/lint.log" logError="true"> <arg value="-l" /> <fileset dir="${basedir}"> <include name="src/**/*.php" /> <include name="test/**/*.php" /> <modified /> </fileset> </apply> </target> <target name="build" depends="clean,phpunit,pdepend,phpmd,phpcpd,phpcs,phpdoc,phploc,phpcb,lint"/> </project>