2015-11-04 16:12:46 -05:00
<?xml version="1.0" encoding="UTF-8"?>
2016-01-11 10:42:34 -05:00
<project default= "full-build" name= "animeclient" basedir= "." >
<!-- By default, we assume all tools to be on the $PATH -->
<property name= "pdepend" value= "pdepend" />
<property name= "phpcpd" value= "phpcpd" />
<property name= "phpdox" value= "phpdox" />
<property name= "phploc" value= "phploc" />
<property name= "phpmd" value= "phpmd" />
<property name= "phpunit" value= "phpunit" />
<property name= "sonar" value= "sonar-runner" />
<target name= "full-build"
depends="prepare,static-analysis,phpunit,phpdox,sonar"
description="Performs static analysis, runs the tests, and generates project documentation"
/>
<target name= "quick-build"
depends="prepare,lint,phpunit-no-coverage"
description="Performs a lint check and runs the tests (without generating code coverage reports)"
/>
<target name= "static-analysis"
depends="lint,phploc-ci,pdepend,phpcpd-ci"
description="Performs static analysis"
/>
<target name= "clean" unless= "clean.done" description= "Cleanup build artifacts" >
<delete dir= "build/api" />
<delete dir= "build/coverage" />
<delete dir= "build/logs" />
<delete dir= "build/pdepend" />
<delete dir= "build/phpdox" />
<property name= "clean.done" value= "true" />
</target>
<target name= "prepare" depends= "clean" unless= "prepare.done" description= "Prepare for build" >
<mkdir dir= "build/api" />
<mkdir dir= "build/coverage" />
<mkdir dir= "build/logs" />
<mkdir dir= "build/pdepend" />
<mkdir dir= "build/phpdox" />
<property name= "prepare.done" value= "true" />
</target>
<target name= "lint" unless= "lint.done" description= "Perform syntax check of sourcecode files" >
2016-02-03 21:24:10 -05:00
<parallel threadcount= "6" >
<apply executable= "php" passthru= "true" taskname= "lint" >
<arg value= "-l" />
<fileset dir= "." >
<include name= "src/Aviat/AnimeClient/**/*.php" />
</fileset>
</apply>
<apply executable= "php" passthru= "true" taskname= "lint" >
<arg value= "-l" />
<fileset dir= "." >
<include name= "src/Aviat/Ion/**/*.php" />
</fileset>
</apply>
<apply executable= "php" passthru= "true" taskname= "lint" >
<arg value= "-l" />
<fileset dir= "." >
<include name= "tests/AnimeClient/**/*.php" />
</fileset>
</apply>
<apply executable= "php" passthru= "true" taskname= "lint" >
<arg value= "-l" />
<fileset dir= "." >
<include name= "tests/Ion/**/*.php" />
</fileset>
</apply>
</parallel>
2016-01-11 10:42:34 -05:00
<property name= "lint.done" value= "true" />
</target>
<target name= "phploc" unless= "phploc.done" description= "Measure project size using PHPLOC and print human readable output. Intended for usage on the command line." >
2016-02-03 21:24:10 -05:00
<exec executable= "${phploc}" passthru= "true" taskname= "phploc" >
2016-01-11 10:42:34 -05:00
<arg value= "--count-tests" />
<arg path= "src" />
<arg path= "tests" />
</exec>
<property name= "phploc.done" value= "true" />
</target>
<target name= "phploc-ci" depends= "prepare" unless= "phploc.done" description= "Measure project size using PHPLOC and log result in CSV and XML format. Intended for usage within a continuous integration environment." >
2016-02-03 21:24:10 -05:00
<parallel threadcount= "2" >
<phploc countTests= "true" reportType= "csv" reportDirectory= "build/logs" reportName= "phploc" taskname= "csv report" >
<fileset dir= "." >
<include name= "src/**/*.php" />
<include name= "tests/**/*.php" />
</fileset>
</phploc>
<phploc countTests= "true" reportType= "xml" reportDirectory= "build/logs" reportName= "phploc" taskname= "xml report" >
<fileset dir= "." >
<include name= "src/**/*.php" />
<include name= "tests/**/*.php" />
</fileset>
</phploc>
</parallel>
2016-01-11 10:42:34 -05:00
<property name= "phploc.done" value= "true" />
</target>
<target name= "pdepend" depends= "prepare" unless= "pdepend.done" description= "Calculate software metrics using PHP_Depend and log result in XML format. Intended for usage within a continuous integration environment." >
2016-02-03 21:24:10 -05:00
<phpdepend >
<fileset dir= "." >
<include name= "src/**/*.php" />
</fileset>
<logger type= "jdepend-xml" outfile= "build/logs/jdepend.xml" />
<logger type= "jdepend-chart" outfile= "build/pdepend/dependencies.svg" />
<logger type= "overview-pyramid" outfile= "build/pdepend/overview-pyramid.svg" />
</phpdepend>
2016-01-11 10:42:34 -05:00
<property name= "pdepend.done" value= "true" />
</target>
<target name= "phpcpd" unless= "phpcpd.done" description= "Find duplicate code using PHPCPD and print human readable output. Intended for usage on the command line before committing." >
2016-02-03 21:24:10 -05:00
<phpcpd >
<formatter type= "default" usefile= "false" />
<fileset dir= "." >
<include name= "src/**/*.php" />
</fileset>
</phpcpd>
2016-01-11 10:42:34 -05:00
<property name= "phpcpd.done" value= "true" />
</target>
<target name= "phpcpd-ci" depends= "prepare" unless= "phpcpd.done" description= "Find duplicate code using PHPCPD and log result in XML format. Intended for usage within a continuous integration environment." >
2016-02-03 21:24:10 -05:00
<phpcpd >
<formatter type= "pmd" outfile= "build/logs/pmd-cpd.xml" />
<fileset dir= "." >
<include name= "src/**/*.php" />
</fileset>
</phpcpd>
2016-01-11 10:42:34 -05:00
<property name= "phpcpd.done" value= "true" />
</target>
<target name= "phpunit" unless= "phpunit.done" depends= "prepare" description= "Run unit tests with PHPUnit" >
2016-02-03 21:24:10 -05:00
<exec executable= "${phpunit}" logoutput= "true" passthru= "true" checkreturn= "true" taskname= "phpunit" >
2016-01-11 10:42:34 -05:00
<arg value= "--configuration" />
<arg path= "build/phpunit.xml" />
</exec>
<property name= "phpunit.done" value= "true" />
</target>
<target name= "phpunit-no-coverage" depends= "prepare" unless= "phpunit.done" description= "Run unit tests with PHPUnit (without generating code coverage reports)" >
2016-02-03 21:24:10 -05:00
<exec executable= "${phpunit}" passthru= "true" taskname= "phpunit" >
2016-01-11 10:42:34 -05:00
<arg value= "--configuration" />
<arg path= "build/phpunit.xml" />
<arg value= "--no-coverage" />
</exec>
<property name= "phpunit.done" value= "true" />
</target>
<target name= "phpdox" depends= "phploc-ci,phpunit" unless= "phpdox.done" description= "Generate project documentation using phpDox" >
2016-02-03 21:24:10 -05:00
<exec dir= "build" executable= "${phpdox}" passthru= "true" taskname= "phpdox" />
2016-01-11 10:42:34 -05:00
<property name= "phpdox.done" value= "true" />
</target>
<target name= "sonar" depends= "phpunit" unless= "sonar.done" description= "Generate code analysis with sonarqube" >
2016-02-03 21:24:10 -05:00
<exec executable= "${sonar}" passthru= "true" taskname= "sonar" />
2016-01-11 10:42:34 -05:00
<property name= "sonar.done" value= "true" />
</target>
</project>