<?xml version="1.0" encoding="UTF-8"?> <project name="gitlist" default="build"> <target name="build" depends="prepare,lint,phploc,pdepend,phpmd,phpcpd,phpunit,package" /> <target name="clean" description="Clean build artifacts"> <delete dir="${basedir}/build"/> </target> <target name="prepare" depends="clean" description="Prepare for build"> <mkdir dir="${basedir}/build/logs"/> <mkdir dir="${basedir}/build/pdepend"/> <exec executable="composer" failonerror="true"> <arg value="install" /> </exec> </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="vendor/" /> <exclude name="cache/" /> <modified /> </fileset> </apply> </target> <target name="phploc" description="Measure project size using PHPLOC"> <exec executable="phploc"> <arg value="--log-csv" /> <arg value="${basedir}/build/logs/phploc.csv" /> <arg value="--exclude" /> <arg value="${basedir}/cache,${basedir}/vendor" /> <arg path="${basedir}/" /> </exec> </target> <target name="pdepend" description="Calculate software metrics using PHP_Depend"> <exec executable="pdepend"> <arg value="--jdepend-xml=${basedir}/build/logs/jdepend.xml" /> <arg value="--jdepend-chart=${basedir}/build/pdepend/dependencies.svg" /> <arg value="--overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg" /> <arg value="--ignore=${basedir}/cache,${basedir}/vendor" /> <arg path="${basedir}/" /> </exec> </target> <target name="phpmd" 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="codesize,design,unusedcode,naming" /> <arg value="--reportfile" /> <arg value="${basedir}/build/logs/pmd.xml" /> <arg value="--exclude" /> <arg value="${basedir}/cache,${basedir}/vendor" /> </exec> </target> <target name="phpcpd" description="Find duplicate code using PHPCPD"> <exec executable="phpcpd"> <arg value="--log-pmd" /> <arg value="${basedir}/build/logs/pmd-cpd.xml" /> <arg value="--exclude" /> <arg value="${basedir}/cache,${basedir}/vendor" /> <arg path="${basedir}/" /> </exec> </target> <target name="phpunit" description="Run unit tests with PHPUnit"> <exec executable="phpunit" failonerror="true"/> </target> <target name="package" description="Package the application for distribution"> <tar destfile="${basedir}/build/gitlist.tar.gz" basedir="${basedir}/" excludes="build/**, tests/**, cache/**, phpunit.xml.dist, cache.properties, .gitignore, .travis.yml, build.xml, composer.json, composer.lock" compression="gzip" longfile="gnu" /> </target> </project>