<?xml version="1.0" encoding="UTF-8"?>

<project name="paymill-php" default="build" basedir=".">
    <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="test" description="Run unit tests using PHPUnit">
        <exec executable="phpunit" dir="tests" failonerror="true">
            <arg line="--testsuite=unit" />
        </exec>
    </target>

    <target name="phploc" description="Generate phploc.csv">
        <exec executable="phploc">
            <arg line="--log-csv ${basedir}/build/logs/phploc.csv ${source}" />
        </exec>
    </target>

    <target name="phpcs" description="Generate checkstyle.xml using PHP_CodeSniffer">
        <exec executable="phpcs" output="/dev/null">
            <arg line="--report=checkstyle
            --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="build" depends="clean,test"/>
</project>