<?xml version="1.0" encoding="UTF-8"?>
<project name="php-code-coverage" default="setup">
    <target name="setup" depends="clean,install-dependencies"/>

    <target name="clean" description="Cleanup build artifacts">
        <delete dir="${basedir}/vendor"/>
        <delete file="${basedir}/composer.lock"/>
    </target>

    <target name="install-dependencies" depends="clean" description="Install dependencies with Composer">
        <exec executable="${basedir}/tools/composer" taskname="composer">
            <arg value="update"/>
            <arg value="--no-interaction"/>
            <arg value="--no-progress"/>
            <arg value="--no-ansi"/>
        </exec>
    </target>

    <target name="update-dependencies" description="Update (and bump) dependencies with Composer">
        <exec executable="${basedir}/tools/composer" taskname="composer">
            <arg value="update"/>
            <arg value="--no-interaction"/>
            <arg value="--no-progress"/>
            <arg value="--no-ansi"/>
        </exec>

        <exec executable="${basedir}/tools/composer" taskname="composer">
            <arg value="bump"/>
            <arg value="--no-interaction"/>
            <arg value="--no-ansi"/>
        </exec>
    </target>

    <target name="update-tools">
        <exec executable="${basedir}/tools/phive">
            <arg value="--no-progress"/>
            <arg value="self-update"/>
        </exec>

        <exec executable="${basedir}/tools/phive">
            <arg value="--no-progress"/>
            <arg value="update"/>
        </exec>

        <exec executable="${basedir}/tools/composer" dir="${basedir}/tools/.phpstan" taskname="composer">
            <arg value="update"/>
            <arg value="--no-interaction"/>
            <arg value="--no-progress"/>
            <arg value="--no-ansi"/>
        </exec>

        <exec executable="${basedir}/tools/composer" dir="${basedir}/tools/.phpstan" taskname="composer">
            <arg value="bump"/>
            <arg value="--no-interaction"/>
            <arg value="--no-ansi"/>
        </exec>
    </target>
</project>

