<?xml version="1.0" encoding="UTF-8"?>
<project name="PlantUML client" default="help">
<target name="setup" depends="composer:install,plantuml:generate"/>
<target name="qa" depends="composer:normalize,composer:validate,phpstan:analyze,phpunit:test"/>
<target name="phpunit:test" description="Run phpunit tests">
<autoloader autoloaderpath="vendor/autoload.php"/>
<phpunit configuration="phpunit.xml">
<formatter type="plain" usefile="false"/>
<batchtest>
<fileset dir="tests">
<include name="**/*Test.php"/>
</fileset>
</batchtest>
</phpunit>
</target>
<target name="plantuml:generate" description="Generate images from *.puml diagrams">
<exec executable="plantuml" passthru="true" checkreturn="true">
<arg path="docs/images/*.puml"/>
<arg value="-tsvg"/>
<arg value="-nometadata"/>
</exec>
<exec executable="plantuml" passthru="true" checkreturn="true">
<arg path="docs/images/*.puml"/>
<arg value="-tpng"/>
<arg value="-nometadata"/>
</exec>
</target>
<target name="composer:install" description="Install dependencies">
<composer command="install">
<arg value="--no-interaction"/>
<arg value="--prefer-dist"/>
<arg value="--ansi"/>
</composer>
</target>
<target name="composer:normalize" description="Auto-format composer.json">
<composer command="normalize">
<arg value="--no-interaction"/>
<arg value="--ansi"/>
</composer>
</target>
<target name="composer:validate" description="Validates composer.json">
<composer command="validate">
<arg value="--no-interaction"/>
<arg value="--strict"/>
<arg value="--ansi"/>
</composer>
</target>
<target name="phpstan:analyze" description="Analyse at max level">
<exec executable="vendor/bin/phpstan" passthru="true" checkreturn="true">
<arg line="--level=max"/>
<arg value="analyze"/>
<arg path="src"/>
<arg value="--no-progress"/>
<arg value="--ansi"/>
</exec>
</target>
<target name="mkdocs:serve" depends="plantuml:generate" description="Run the builtin development server">
<exec executable="mkdocs" passthru="true" checkreturn="true">
<arg value="serve"/>
</exec>
</target>
<target name="mkdocs:gh-deploy" depends="plantuml:generate" description="Deploy documentation to GitHub Pages">
<exec executable="mkdocs" passthru="true" checkreturn="true">
<arg value="gh-deploy"/>
</exec>
</target>
<target name="help">
<visualizer/>
<exec executable="xdg-open" spawn="true">
<arg file="build.png"/>
</exec>
</target>
</project>
|