Permalink
Browse files

Added ant build support

  • Loading branch information...
1 parent c8fa68b commit 561be58748985942475338d7c09824e7d82372d5 CI server committed with Apr 19, 2012
Showing with 228 additions and 0 deletions.
  1. +165 −0 build.xml
  2. +36 −0 build/phpcs.xml
  3. +27 −0 build/phpmd.xml
View
165 build.xml
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project name="BankAccount" default="build">
+ <target name="build"
+ depends="prepare,lint,phploc,pdepend,phpmd-ci,phpcs-ci,phpcpd,phpdox,behat,phpcb"/>
+
+ <target name="build-parallel"
+ depends="prepare,lint,tools-parallel,behat,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"/>
+ <antcall target="phpdox"/>
+ </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"/>
+ <delete dir="${basedir}/build/phpdox"/>
+ </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"/>
+ <mkdir dir="${basedir}/build/phpdox"/>
+ <mkdir dir="${basedir}/build/logs/behat"/>
+ </target>
+
+ <target name="phpab" description="Generate autoloader scripts">
+ <exec executable="phpab">
+ <arg value="--output" />
+ <arg path="${basedir}/Panorama/autoload.php" />
+ <arg path="${basedir}/Panorama" />
+ </exec>
+
+ <exec executable="phpab">
+ <arg value="--output" />
+ <arg path="${basedir}/tests/autoload.php" />
+ <arg path="${basedir}/tests" />
+ </exec>
+ </target>
+
+ <target name="lint">
+ <apply executable="php" failonerror="true">
+ <arg value="-l" />
+
+ <fileset dir="${basedir}/Panorama">
+ <include name="**/*.php" />
+ <modified />
+ </fileset>
+
+ <fileset dir="${basedir}/features">
+ <include name="**/*.php" />
+ <modified />
+ </fileset>
+ </apply>
+ </target>
+
+ <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}/Panorama" />
+ </exec>
+ </target>
+
+ <target name="pdepend"
+ description="Calculate software metrics using PHP_Depend">
+ <exec executable="pdepend">
+ <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}/Panorama" />
+ </exec>
+ </target>
+
+ <target name="phpmd"
+ description="Perform project mess detection using PHPMD">
+ <exec executable="phpmd">
+ <arg path="${basedir}/Panorama" />
+ <arg value="text" />
+ <arg value="${basedir}/build/phpmd.xml" />
+ </exec>
+ </target>
+
+ <target name="phpmd-ci"
+ description="Perform project mess detection using PHPMD">
+ <exec executable="phpmd">
+ <arg path="${basedir}/Panorama" />
+ <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="Find coding standard violations using PHP_CodeSniffer">
+ <exec executable="phpcs">
+ <arg value="--standard=${basedir}/build/phpcs.xml" />
+ <arg value="--ignore=autoload.php" />
+ <arg path="${basedir}/Panorama" />
+ </exec>
+ </target>
+
+ <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="--ignore=autoload.php" />
+ <arg path="${basedir}/Panorama" />
+ </exec>
+ </target>
+
+ <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}/Panorama" />
+ </exec>
+ </target>
+
+ <target name="phpdox"
+ description="Generate API documentation using phpDox">
+ <exec executable="phpdox"/>
+ </target>
+
+ <target name="behat">
+ <exec dir="${basedir}/" failonerror="true" executable="behat">
+ <arg value="${basedir}/features/" />
+ <arg value="-f junit" />
+ <arg value="--out"/>
+ <arg path="${basedir}/build/logs/behat" />
+</exec>
+ </target>
+
+ <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}/Panorama" />
+ <arg value="--output" />
+ <arg path="${basedir}/build/code-browser" />
+ </exec>
+ </target>
+</project>
View
36 build/phpcs.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<ruleset name="Sebastian">
+ <description>Sebastian Bergmann's coding standard</description>
+
+ <rule ref="Generic.CodeAnalysis.ForLoopShouldBeWhileLoop"/>
+ <rule ref="Generic.CodeAnalysis.ForLoopWithTestFunctionCall"/>
+ <rule ref="Generic.CodeAnalysis.JumbledIncrementer"/>
+ <rule ref="Generic.CodeAnalysis.UnconditionalIfStatement"/>
+ <rule ref="Generic.CodeAnalysis.UnnecessaryFinalModifier"/>
+ <rule ref="Generic.CodeAnalysis.UselessOverridingMethod"/>
+
+ <rule ref="Generic.Commenting.Todo"/>
+
+ <rule ref="Generic.ControlStructures.InlineControlStructure"/>
+
+ <rule ref="Generic.Files.LineEndings"/>
+
+ <rule ref="Generic.Formatting.DisallowMultipleStatements"/>
+ <rule ref="Generic.Formatting.MultipleStatementAlignment"/>
+ <rule ref="Generic.Formatting.NoSpaceAfterCast"/>
+
+ <rule ref="Generic.Functions.OpeningFunctionBraceBsdAllman"/>
+ <rule ref="PEAR.Functions.ValidDefaultValue"/>
+
+ <rule ref="Generic.NamingConventions.ConstructorName"/>
+ <rule ref="Generic.NamingConventions.UpperCaseConstantName"/>
+ <rule ref="PEAR.NamingConventions.ValidClassName"/>
+
+ <rule ref="Generic.PHP.DisallowShortOpenTag"/>
+ <rule ref="Generic.PHP.NoSilencedErrors"/>
+ <rule ref="Generic.PHP.UpperCaseConstant"/>
+
+ <rule ref="Generic.WhiteSpace.DisallowTabIndent"/>
+ <rule ref="Generic.WhiteSpace.ScopeIndent"/>
+ <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace"/>
+</ruleset>
View
27 build/phpmd.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+
+<ruleset name="Sebastian"
+ xmlns="http://pmd.sf.net/ruleset/1.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
+ xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
+ <description>Sebastian Bergmann's ruleset</description>
+
+ <rule ref="rulesets/codesize.xml/CyclomaticComplexity" />
+ <rule ref="rulesets/codesize.xml/NPathComplexity" />
+ <rule ref="rulesets/codesize.xml/ExcessiveClassComplexity" />
+ <rule ref="rulesets/codesize.xml/ExcessiveClassLength" />
+ <rule ref="rulesets/codesize.xml/ExcessiveMethodLength" />
+ <rule ref="rulesets/codesize.xml/ExcessiveParameterList" />
+
+ <rule ref="rulesets/design.xml/EvalExpression" />
+ <rule ref="rulesets/design.xml/ExitExpression" />
+ <rule ref="rulesets/design.xml/GotoStatement" />
+
+ <rule ref="rulesets/naming.xml/ConstructorWithNameAsEnclosingClass" />
+
+ <rule ref="rulesets/unusedcode.xml/UnusedFormalParameter" />
+ <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable" />
+ <rule ref="rulesets/unusedcode.xml/UnusedPrivateField" />
+ <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod" />
+</ruleset>

0 comments on commit 561be58

Please sign in to comment.