Permalink
Browse files

Refactor build system.

  • Loading branch information...
1 parent d97fdd7 commit 9e7593e568e7a6877d7b6bfd76c4a14be74c877f @sebastianbergmann committed Oct 26, 2011
Showing with 101 additions and 1,066 deletions.
  1. +1 −2 .gitignore
  2. +99 −75 build.xml
  3. +0 −989 build/ant2dot.xsl
  4. +1 −0 build/phpmd.xml
View
@@ -8,6 +8,5 @@ Tests/TextUI/*.exp
Tests/TextUI/*.log
Tests/TextUI/*.out
Tests/TextUI/*.php
-phpunit.xml
phpunit.phar
-build.png
+phpunit.xml
View
174 build.xml
@@ -1,126 +1,150 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated by PHP Project Wizard (PPW) 1.1.0-dev on Sat Mar 12 12:47:10 CET 2011 -->
-<project name="phpunit" default="build" basedir=".">
- <property name="source" value="PHPUnit"/>
- <property name="source_comma_sep" value="PHPUnit"/>
+<project name="PHPUnit" default="build">
+ <target name="build"
+ depends="prepare,lint,phploc,pdepend,phpmd-ci,phpcs-ci,phpcpd,phpunit,phpcb"/>
- <target name="clean" description="Clean up and create artifact directories">
+ <target name="build-parallel"
+ depends="prepare,lint,tools-parallel,phpunit,phpcb"/>
+
+ <target name="tools-parallel"
+ description="Run tools in parallel">
+ <parallel threadCount="2">
+ <sequential>
+ <antcall target="pdepend"/>
+ <antcall target="phpmd-ci"/>
+ </sequential>
+ <antcall target="phpcpd"/>
+ <antcall target="phpcs-ci"/>
+ <antcall target="phploc"/>
+ </parallel>
+ </target>
+
+ <target name="clean" description="Cleanup build artifacts">
<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"/>
+ </target>
+ <target name="prepare" depends="clean,phpab"
+ description="Prepare for build">
<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="phpab" description="Generates the autoloader using PHPAB">
+ <target name="phpab" description="Generate autoloader scripts">
<exec executable="phpab">
- <arg line='-o PHPUnit/Autoload.php -c -t PHPUnit/Autoload.php.in --indent " " PHPUnit' />
+ <arg value="--output" />
+ <arg path="PHPUnit/Autoload.php" />
+ <arg value="--compat" />
+ <arg value="--template" />
+ <arg path="PHPUnit/Autoload.php.in" />
+ <arg value="--indent" />
+ <arg value=" " />
+ <arg path="PHPUnit" />
</exec>
</target>
- <target name="phar" description="Generates PHP Archive (PHAR)">
- <exec executable="${basedir}/build/create-phar.php" />
- <chmod file="${basedir}/phpunit.phar" perm="+x"/>
- </target>
+ <target name="lint">
+ <apply executable="php" failonerror="true">
+ <arg value="-l" />
- <target name="create-assertion-wrappers" description="Generates global functions that act as wrappers for PHPUnit_Framework_Assert">
- <exec executable="${basedir}/build/assertions.php" />
- </target>
+ <fileset dir="${basedir}/PHPUnit">
+ <include name="**/*.php" />
+ </fileset>
- <target name="phpunit" description="Run unit tests using PHPUnit and generates junit.xml and clover.xml">
- <exec executable="phpunit" failonerror="true"/>
+ <fileset dir="${basedir}/Tests">
+ <include name="**/*.php" />
+ </fileset>
+ </apply>
</target>
- <target name="parallelTasks" description="Run the pdepend, phpmd, phpcpd, phpcs, phpdoc and phploc tasks in parallel using a maximum of 2 threads.">
- <parallel threadCount="2">
- <sequential>
- <antcall target="pdepend"/>
- <antcall target="phpmd"/>
- </sequential>
- <antcall target="phpcpd"/>
- <antcall target="phpcs"/>
- <antcall target="phpdoc"/>
- <antcall target="phploc"/>
- </parallel>
+ <target name="phploc" description="Measure project size using PHPLOC">
+ <exec executable="phploc">
+ <arg value="--log-csv" />
+ <arg value="${basedir}/build/logs/phploc.csv" />
+ <arg path="${basedir}/PHPUnit" />
+ </exec>
</target>
- <target name="pdepend" description="Generate jdepend.xml and software metrics charts using PHP_Depend">
+ <target name="pdepend"
+ description="Calculate software metrics 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}" />
+ <arg value="--jdepend-xml=${basedir}/build/logs/jdepend.xml" />
+ <arg value="--jdepend-chart=${basedir}/build/pdepend/dependencies.svg" />
+ <arg value="--overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg" />
+ <arg path="${basedir}/PHPUnit" />
</exec>
</target>
- <target name="phpmd" description="Generate pmd.xml using PHPMD">
+ <target name="phpmd"
+ description="Perform project mess detection using PHPMD">
<exec executable="phpmd">
- <arg line="${source_comma_sep}
- xml
- build/phpmd.xml
- --reportfile ${basedir}/build/logs/pmd.xml" />
+ <arg path="${basedir}/PHPUnit" />
+ <arg value="text" />
+ <arg value="${basedir}/build/phpmd.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
- ${source}" />
- </exec>
- </target>
-
- <target name="phploc" description="Generate phploc.csv">
- <exec executable="phploc">
- <arg line="--log-csv ${basedir}/build/logs/phploc.csv
- ${source}" />
+ <target name="phpmd-ci"
+ description="Perform project mess detection using PHPMD">
+ <exec executable="phpmd">
+ <arg path="${basedir}/PHPUnit" />
+ <arg value="xml" />
+ <arg value="${basedir}/build/phpmd.xml" />
+ <arg value="--reportfile" />
+ <arg value="${basedir}/build/logs/pmd.xml" />
</exec>
</target>
- <target name="phpcs" description="Generate checkstyle.xml using PHP_CodeSniffer">
+ <target name="phpcs"
+ description="Find coding standard violations using PHP_CodeSniffer">
<exec executable="phpcs">
- <arg line="--report=checkstyle
- --report-file=${basedir}/build/logs/checkstyle.xml
- --standard=build/phpcs.xml
- ${source}" />
+ <arg value="--standard=${basedir}/build/phpcs.xml" />
+ <arg value="--extensions=php" />
+ <arg value="--ignore=Autoload.php" />
+ <arg path="${basedir}/PHPUnit" />
</exec>
</target>
- <target name="phpdoc" description="Generate API documentation using PHPDocumentor">
- <exec executable="phpdoc">
- <arg line="--directory ${source}
- --target ${basedir}/build/api" />
+ <target name="phpcs-ci"
+ description="Find coding standard violations using PHP_CodeSniffer">
+ <exec executable="phpcs" output="/dev/null">
+ <arg value="--report=checkstyle" />
+ <arg value="--report-file=${basedir}/build/logs/checkstyle.xml" />
+ <arg value="--standard=${basedir}/build/phpcs.xml" />
+ <arg value="--extensions=php" />
+ <arg value="--ignore=Autoload.php" />
+ <arg path="${basedir}/PHPUnit" />
</exec>
</target>
- <target name="phpcb" description="Aggregate tool output with PHP_CodeBrowser">
- <exec executable="phpcb">
- <arg line="--log ${basedir}/build/logs
- --output ${basedir}/build/code-browser" />
+ <target name="phpcpd" description="Find duplicate code using PHPCPD">
+ <exec executable="phpcpd">
+ <arg value="--log-pmd" />
+ <arg value="${basedir}/build/logs/pmd-cpd.xml" />
+ <arg path="${basedir}/PHPUnit" />
</exec>
</target>
- <target name="ant2dot" description="Visualize this build script using GraphViz">
- <property name="build.xml" value="${ant.file}"/>
- <property name="ant2dot.xsl" value="${basedir}/build/ant2dot.xsl"/>
- <basename property="basename.script" file="${build.xml}" suffix=".xml"/>
- <property name="dot.file" value="${basename.script}.dot"/>
- <property name="png.file" value="${basename.script}.png"/>
-
- <xslt in="${build.xml}" out="${dot.file}" style="${ant2dot.xsl}" force="true" />
+ <target name="phpunit" description="Run unit tests with PHPUnit">
+ <exec executable="phpunit" failonerror="true"/>
+ </target>
- <exec executable="dot" dir="${basedir}">
- <arg line="-Tpng ${dot.file} -o ${png.file}" />
+ <target name="phpcb"
+ description="Aggregate tool output with PHP_CodeBrowser">
+ <exec executable="phpcb">
+ <arg value="--log" />
+ <arg path="${basedir}/build/logs" />
+ <arg value="--source" />
+ <arg path="${basedir}/PHPUnit" />
+ <arg value="--output" />
+ <arg path="${basedir}/build/code-browser" />
</exec>
-
- <delete file="${dot.file}"/>
</target>
-
- <target name="build" depends="clean,parallelTasks,phpunit,phpcb"/>
</project>
Oops, something went wrong.

0 comments on commit 9e7593e

Please sign in to comment.