summaryrefslogtreecommitdiff
path: root/lib/codebird-php/build.xml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/codebird-php/build.xml')
-rw-r--r--lib/codebird-php/build.xml115
1 files changed, 115 insertions, 0 deletions
diff --git a/lib/codebird-php/build.xml b/lib/codebird-php/build.xml
new file mode 100644
index 0000000..7addea7
--- /dev/null
+++ b/lib/codebird-php/build.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project name="codebird-php" default="build" basedir=".">
+ <property name="source" value="src"/>
+ <property name="source_comma_sep" value="."/>
+ <property environment="env"/>
+ <property name="env.PHPUNIT_XML" value="phpunit.xml"/>
+ <property name="env.PHPUNIT_XML_HHVM" value="phpunit.xml.hhvm"/>
+ <property name="env.PHPUNIT_ARGS" value=""/>
+
+ <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="phpunit" description="Run unit tests using PHPUnit and generates junit.xml and clover.xml">
+ <exec executable="${basedir}/vendor/bin/phpunit" failonerror="true">
+ <arg line="--configuration ${env.PHPUNIT_XML} ${env.PHPUNIT_ARGS}"/>
+ </exec>
+ </target>
+
+ <target name="phpunit-hhvm" description="Run unit tests using PHPUnit with HHVM specific config">
+ <exec executable="${basedir}/vendor/bin/phpunit" failonerror="true">
+ <arg line="--configuration ${env.PHPUNIT_XML_HHVM} ${env.PHPUNIT_ARGS}"/>
+ </exec>
+ </target>
+
+ <target name="pdepend" description="Generate jdepend.xml and software metrics charts using PHP_Depend">
+ <exec executable="pdepend">
+ <arg line="'--jdepend-xml=${basedir}/build/logs/jdepend.xml'
+ '--jdepend-chart=${basedir}/build/pdepend/dependencies.svg'
+ '--overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg'
+ ${source_comma_sep}" />
+ </exec>
+ </target>
+
+ <target name="phpmd" description="Generate pmd.xml using PHPMD">
+ <exec executable="phpmd">
+ <arg line="${source_comma_sep}
+ xml
+ codesize,design,naming,unusedcode
+ --exclude test,build,vendor
+ --reportfile '${basedir}/build/logs/pmd.xml'" />
+ </exec>
+ </target>
+
+ <target name="phpcpd" description="Generate pmd-cpd.xml using PHPCPD">
+ <exec executable="phpcpd">
+ <arg line="--log-pmd '${basedir}/build/logs/pmd-cpd.xml'
+ --exclude test
+ --exclude build
+ --exclude vendor
+ ${source}" />
+ </exec>
+ </target>
+
+ <target name="phploc" description="Generate phploc.csv">
+ <exec executable="phploc">
+ <arg line="--log-csv '${basedir}/build/logs/phploc.csv'
+ --exclude test
+ --exclude build
+ --exclude vendor
+ ${source}" />
+ </exec>
+ </target>
+
+ <target name="phpcs" description="Generate checkstyle.xml using PHP_CodeSniffer excluding third party libraries">
+ <exec executable="phpcs">
+ <arg line="
+ --ignore=*/vendor/*,*/build/*
+ --report=checkstyle
+ --extensions=php
+ --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="lint" description="Perform syntax check of sourcecode files">
+ <apply executable="php" failonerror="true" output="${basedir}/build/logs/lint.log" logError="true">
+ <arg value="-l" />
+
+ <fileset dir="${basedir}">
+ <include name="src/**/*.php" />
+ <include name="test/**/*.php" />
+ <modified />
+ </fileset>
+ </apply>
+ </target>
+
+ <target name="build" depends="clean,phpunit,pdepend,phpmd,phpcpd,phpcs,phpdoc,phploc,phpcb,lint"/>
+</project>