Created
January 20, 2012 18:34
-
-
Save mbadolato/1648894 to your computer and use it in GitHub Desktop.
Jenkins build.xml file for Symfony 2 projects
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project name="YOUR_PROJECT_NAME" default="build" basedir="."> | |
<property name="source" value="src"/> | |
<property name="ignore" value="build"/> | |
<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="phpunit" failonerror="true"> | |
<arg line="-c app"/> | |
</exec> | |
</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> | |
<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 | |
--exclude=${ignore} | |
${source}" /> | |
</exec> | |
</target> | |
<target name="phpmd" | |
description="Generate pmd.xml using PHPMD"> | |
<exec executable="phpmd"> | |
<arg line="${source} | |
xml | |
build/phpmd.xml | |
--ignore=${ignore} | |
--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 ${ignore} | |
${source}" /> | |
</exec> | |
</target> | |
<target name="phploc" | |
description="Generate phploc.csv"> | |
<exec executable="phploc"> | |
<arg line="--log-csv ${basedir}/build/logs/phploc.csv | |
--exclude ${ignore} | |
--suffixes php | |
${source}" /> | |
</exec> | |
</target> | |
<target name="phpcs" | |
description="Generate checkstyle.xml using PHP_CodeSniffer"> | |
<exec executable="phpcs" output="/dev/null"> | |
<arg line="--report=checkstyle | |
--report-file=${basedir}/build/logs/checkstyle.xml | |
--standard=Symfony2 | |
--extensions=php | |
${source}" /> | |
</exec> | |
</target> | |
<target name="phpdoc" | |
description="Generate API documentation using PHPDocumentor"> | |
<exec executable="phpdoc"> | |
<arg line="-d ${source} -t ${basedir}/build/api -i ${ignore}" /> | |
</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 | |
--ignore=${ignore} | |
" /> | |
</exec> | |
</target> | |
<target name="vendors" | |
description="Install vendors"> | |
<exec executable="bin/vendors" failonerror="true"> | |
<arg value="install" /> | |
</exec> | |
</target> | |
<target name="build" depends="clean,vendors,parallelTasks,phpunit,phpcb"/> | |
</project> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment