Skip to content

Instantly share code, notes, and snippets.

@pboethig
Last active September 20, 2016 16:09
Show Gist options
  • Save pboethig/5b0839d9a4358619420e1268cddcfb5b to your computer and use it in GitHub Desktop.
Save pboethig/5b0839d9a4358619420e1268cddcfb5b to your computer and use it in GitHub Desktop.
<project name="Testproject" default="dist" basedir=".">
<description>
simple example build file
</description>
<!-- set global properties for this build -->
<property name="src" location="src"/>
<property name="build" location="build"/>
<property name="dist" location="dist"/>
<target name="init">
<!-- Create the time stamp -->
<tstamp/>
<!-- Create the build directory structure used by compile -->
<mkdir dir="${build}"/>
<mkdir dir="${basedir}/build/api"/>
<mkdir dir="${basedir}/build/api/html"/>
<mkdir dir="${basedir}/build/coverage"/>
<mkdir dir="${basedir}/build/logs"/>
<mkdir dir="${basedir}/build/pdepend"/>
<mkdir dir="${basedir}/build/phpdox"/>
<antcall target="REPORT" />
</target>
<target name="TEST" depends="Lint, PHPUnit"></target>
<target name="REPORT" depends="TEST, phploc,phpcs,pdepend,phpmd,phpcpd,phpdox"></target>
<target name="Lint" description="Lint Check (Syntax error check)">
<apply executable="php" failonerror="true">
<arg value="-l" />
<fileset dir="${basedir}/src">
<include name="**/*.php"/>
</fileset>
</apply>
</target>
<target name="phploc" description="messure projectsize with PHPLOC">
<exec osfamily="unix" executable="${basedir}/vendor/bin/phploc">
<arg value="--count-tests" />
<arg value="--log-csv" />
<arg value="${basedir}/build/logs/phploc.csv" />
<arg path="${basedir}/src" />
</exec>
<exec osfamily="windows" executable="${basedir}/vendor/bin/phploc.bat">
<arg value="--count-tests" />
<arg value="--log-csv" />
<arg value="${basedir}/build/logs/phploc.csv" />
<arg path="${basedir}/src" />
</exec>
</target>
<target name="phpcs" description="checks missing codestyles">
<exec osfamily="windows" executable="${basedir}/vendor/bin/phpcs.bat">
<arg value="--report=checkstyle" />
<arg value="--report-file=${basedir}/build/logs/checkstyle.xml" />
<arg value="--standard=${basedir}/build/phpcs/phpcs_ruleset.xml" />
<arg path="${basedir}/src" />
</exec>
<exec osfamily="unix" executable="${basedir}/vendor/bin/phpcs">
<arg value="--report=checkstyle" />
<arg value="--report-file=${basedir}/build/logs/checkstyle.xml" />
<arg value="--standard=${basedir}/build/phpcs/phpcs_ruleset.xml" />
<arg path="${basedir}/src" />
</exec>
</target>
<target name="pdepend" description="checks dependencies">
<exec osfamily="windows" executable="${basedir}/vendor/bin/pdepend.bat">
<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-pyramide.svg" />
<arg path="${basedir}/src" />
</exec>
<exec osfamily="unix" executable="${basedir}/vendor/bin/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-pyramide.svg" />
<arg path="${basedir}/src" />
</exec>
</target>
<target name="phpmd" description="checks codemess">
<exec osfamily="windows" executable="${basedir}/vendor/bin/phpmd.bat">
<arg path="${basedir}/src" />
<arg value="xml" />
<arg value="${basedir}/build/phpmd/phpmd_ruleset.xml" />
<arg value="--overview-pyramid=${basedir}/build/pdepend/overview-pyramide.svg" />
</exec>
<exec osfamily="unix" executable="${basedir}/vendor/bin/phpmd">
<arg path="${basedir}/src" />
<arg value="xml" />
<arg value="${basedir}/build/phpmd/phpmd_ruleset.xml" />
<arg value="--overview-pyramid=${basedir}/build/pdepend/overview-pyramide.svg" />
</exec>
</target>
<target name="phpcpd" description="find douplicate code">
<exec osfamily="windows" executable="${basedir}/vendor/bin/phpcpd.bat">
<arg value="--log-pmd" />
<arg value="${basedir}/build/logs/pmd-cpd.xml"/>
<arg path="${basedir}/src"/>
</exec>
<exec osfamily="unix" executable="${basedir}/vendor/bin/phpcpd">
<arg value="--log-pmd" />
<arg value="${basedir}/build/logs/pmd-cpd.xml"/>
<arg path="${basedir}/src"/>
</exec>
</target>
<target name="phpdox" description="Generate API Documentation">
<exec osfamily="windows" executable="${basedir}/vendor/bin/phpdox.bat">
</exec>
<exec osfamily="unix" executable="${basedir}/vendor/bin/phpdox">
</exec>
</target>
<target name="PHPUnit" description="Run PHP Unit">
<exec osfamily="unix" executable="${basedir}/vendor/bin/phpunit" failonerror="true">
<arg value="--configuration"/>
<arg value="${basedir}/phpunit.xml"/>
</exec>
<exec osfamily="windows" executable="${basedir}/vendor/bin/phpunit.bat" failonerror="true">
<arg value="--configuration"/>
<arg value="${basedir}/phpunit.xml"/>
</exec>
</target>
<target name="package" description="package the release">
<zip
destfile="${basedir}/../release/release-${TAG_TO_BUILD}.zip"
basedir="." excludes="vendor/**, release/**"/>
</target>
<target name="dist">
</target>
<target name="clean"
description="clean up">
<!-- Delete the ${build} and ${dist} directory trees -->
<delete dir="${build}"/>
<delete dir="${dist}"/>
</target>
</project>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment