1 <?xml version="1.0" encoding="UTF-8"?>
3 <project name="phpMyAdmin" default="build" basedir=".">
4 <property name="source" value="."/>
5 <property name="source_comma_sep" value="."/>
7 <target name="clean" description="Clean up and create artifact directories">
8 <delete dir="${basedir}/build/api"/>
9 <delete dir="${basedir}/build/code-browser"/>
10 <delete dir="${basedir}/build/coverage"/>
11 <delete dir="${basedir}/build/logs"/>
12 <delete dir="${basedir}/build/pdepend"/>
14 <mkdir dir="${basedir}/build/api"/>
15 <mkdir dir="${basedir}/build/code-browser"/>
16 <mkdir dir="${basedir}/build/coverage"/>
17 <mkdir dir="${basedir}/build/logs"/>
18 <mkdir dir="${basedir}/build/pdepend"/>
21 <target name="phpunit" description="Run unit tests using PHPUnit and generates junit.xml and clover.xml">
22 <exec executable="phpunit">
23 <arg line="--configuration phpunit.xml.dist"/>
27 <target name="pdepend" description="Generate jdepend.xml and software metrics charts using PHP_Depend">
28 <exec executable="pdepend">
29 <arg line="--jdepend-xml=${basedir}/build/logs/jdepend.xml
30 --jdepend-chart=${basedir}/build/pdepend/dependencies.svg
31 --overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg
32 ${source_comma_sep}" />
36 <target name="phpmd" description="Generate pmd.xml using PHPMD">
37 <exec executable="phpmd">
38 <arg line="${source_comma_sep}
40 codesize,design,naming,unusedcode
41 --exclude test,build,PHPExcel,tcpdf,php-gettext
42 --reportfile ${basedir}/build/logs/pmd.xml" />
46 <target name="phpcpd" description="Generate pmd-cpd.xml using PHPCPD">
47 <exec executable="phpcpd">
48 <arg line="--log-pmd ${basedir}/build/logs/pmd-cpd.xml
51 --exclude libraries/PHPExcel
52 --exclude libraries/tcpdf
53 --exclude libraries/php-gettext
58 <target name="phploc" description="Generate phploc.csv">
59 <exec executable="phploc">
60 <arg line="--log-csv ${basedir}/build/logs/phploc.csv
63 --exclude libraries/PHPExcel
64 --exclude libraries/tcpdf
65 --exclude libraries/php-gettext
70 <target name="phpcs" description="Generate checkstyle.xml using PHP_CodeSniffer excluding test, PHPExcel, tcpdf directories">
71 <exec executable="phpcs">
73 --ignore=*/PHPExcel/*,*/php-gettext/*,*/tcpdf/*,*/canvg/*,*/codemirror/*,*/highcharts/*,*/openlayers/*,*/jquery/*,*/build/*
75 --report-file=${basedir}/build/logs/checkstyle.xml
81 <target name="phpdoc" description="Generate API documentation using PHPDocumentor">
82 <exec executable="phpdoc">
83 <arg line="-d ${source} -t ${basedir}/build/api" />
87 <target name="phpcb" description="Aggregate tool output with PHP_CodeBrowser">
88 <exec executable="phpcb">
89 <arg line="--log ${basedir}/build/logs
91 --output ${basedir}/build/code-browser" />
95 <target name="build" depends="clean,phpunit,pdepend,phpmd,phpcpd,phpcs,phpdoc,phploc,phpcb"/>