--- /dev/null
+<project name="Kolab_Config" default="build" basedir=".">
+ <property name="tooldir" location="${basedir}/../../%1$s"/>
+
+ <target name="clean">
+ <!-- Clean up -->
+ <delete dir="build"/>
+
+ <!-- Create build directories -->
+ <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>
+
+ <!-- Run unit tests and generate junit.xml and clover.xml -->
+ <target name="phpunit">
+ <exec executable="php" failonerror="true">
+ <arg line="-c php.ini ${tooldir}/phpunit" />
+ </exec>
+ </target>
+
+ <!-- Run pdepend, phpmd, phpcpd, and phpcs in parallel -->
+ <target name="parallelTasks">
+ <parallel>
+ <antcall target="pdepend"/>
+ <antcall target="phpmd"/>
+ <antcall target="phpcpd"/>
+ <antcall target="phpcs"/>
+ <antcall target="phpdoc"/>
+ </parallel>
+ </target>
+
+ <!-- Generate jdepend.xml and software metrics charts -->
+ <target name="pdepend">
+ <exec executable="php">
+ <arg line="-c php.ini ${tooldir}/pdepend
+ --jdepend-xml=${basedir}/build/logs/jdepend.xml
+ --jdepend-chart=${basedir}/build/pdepend/dependencies.svg
+ --overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg
+ lib" />
+ </exec>
+ </target>
+
+ <!-- Generate pmd.xml -->
+ <target name="phpmd">
+ <exec executable="php">
+ <arg line="-c php.ini ${tooldir}/phpmd
+ lib xml codesize,unusedcode --reportfile ${basedir}/build/logs/pmd.xml" />
+ </exec>
+ </target>
+
+ <!-- Generate pmd-cpd.xml -->
+ <target name="phpcpd">
+ <exec executable="php">
+ <arg line="-c php.ini ${tooldir}/phpcpd
+ --log-pmd ${basedir}/build/logs/pmd-cpd.xml lib" />
+ </exec>
+ </target>
+
+ <!-- Generate checkstyle.xml -->
+ <target name="phpcs">
+ <exec executable="php" output="/dev/null">
+ <arg line="-c php.ini ${tooldir}/phpcs
+ --report=checkstyle
+ --report-file=${basedir}/build/logs/checkstyle.xml
+ --standard=PEAR
+ lib" />
+ </exec>
+ </target>
+
+ <!-- Generate API documentation -->
+ <target name="phpdoc">
+ <exec executable="php">
+ <arg line="-c php.ini ${tooldir}/phpdoc --
+ -d lib -t build/api" />
+ </exec>
+ </target>
+
+ <target name="phpcb">
+ <exec executable="php">
+ <arg line="-c php.ini ${tooldir}/phpcb
+ --log=${basedir}/build/logs
+ --source=${basedir}/lib
+ --output=${basedir}/build/code-browser" />
+ </exec>
+ </target>
+
+ <target name="build" depends="clean,pdepend,phpcpd,phpcs,phpdoc,phpmd,phpunit,phpcb"/>
+</project>
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<project>
+ <actions/>
+ <description>%4$s</description>
+ <logRotator>
+ <daysToKeep>5</daysToKeep>
+ <numToKeep>10</numToKeep>
+ <artifactDaysToKeep>-1</artifactDaysToKeep>
+ <artifactNumToKeep>-1</artifactNumToKeep>
+ </logRotator>
+ <keepDependencies>false</keepDependencies>
+ <properties/>
+ <scm class="hudson.scm.NullSCM"/>
+ <canRoam>true</canRoam>
+ <disabled>false</disabled>
+ <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
+ <triggers class="vector"/>
+ <concurrentBuild>false</concurrentBuild>
+ <builders>
+ <hudson.tasks.Shell>
+ <command>cp -r ${WORKSPACE}/../../%2$s/workspace/%1$s/* ${WORKSPACE}/
+echo "include_path = \".:${WORKSPACE}/lib:${WORKSPACE}/deps/pear/php:${WORKSPACE}/../../%3$s/php\"" > ${WORKSPACE}/php.ini
+php -c php.ini ../../%3$s/horde-element --install=${WORKSPACE}/deps ../../%2$s/workspace/%1$s
+php -c php.ini ../../%3$s/horde-element --ciprebuild=${WORKSPACE} ../../%2$s/workspace/%1$s</command>
+ </hudson.tasks.Shell>
+ <hudson.tasks.Ant>
+ <targets></targets>
+ </hudson.tasks.Ant>
+ </builders>
+ <publishers>
+ <hudson.plugins.pmd.PmdPublisher>
+ <threshold></threshold>
+ <newThreshold></newThreshold>
+ <failureThreshold></failureThreshold>
+ <newFailureThreshold></newFailureThreshold>
+ <healthy></healthy>
+ <unHealthy></unHealthy>
+ <pluginName>[PMD] </pluginName>
+ <thresholdLimit>low</thresholdLimit>
+ <defaultEncoding></defaultEncoding>
+ <useDeltaValues>false</useDeltaValues>
+ <canRunOnFailed>false</canRunOnFailed>
+ <pattern>build/logs/pmd.xml</pattern>
+ </hudson.plugins.pmd.PmdPublisher>
+ <hudson.plugins.checkstyle.CheckStylePublisher>
+ <threshold></threshold>
+ <newThreshold></newThreshold>
+ <failureThreshold></failureThreshold>
+ <newFailureThreshold></newFailureThreshold>
+ <healthy></healthy>
+ <unHealthy></unHealthy>
+ <pluginName>[CHECKSTYLE] </pluginName>
+ <thresholdLimit>low</thresholdLimit>
+ <defaultEncoding></defaultEncoding>
+ <useDeltaValues>false</useDeltaValues>
+ <canRunOnFailed>false</canRunOnFailed>
+ <pattern>build/logs/checkstyle.xml</pattern>
+ </hudson.plugins.checkstyle.CheckStylePublisher>
+ <hudson.plugins.dry.DryPublisher>
+ <threshold></threshold>
+ <newThreshold></newThreshold>
+ <failureThreshold></failureThreshold>
+ <newFailureThreshold></newFailureThreshold>
+ <healthy></healthy>
+ <unHealthy></unHealthy>
+ <pluginName>[DRY] </pluginName>
+ <thresholdLimit>low</thresholdLimit>
+ <defaultEncoding></defaultEncoding>
+ <useDeltaValues>false</useDeltaValues>
+ <canRunOnFailed>false</canRunOnFailed>
+ <pattern>build/logs/pmd-cpd.xml</pattern>
+ <highThreshold>50</highThreshold>
+ <normalThreshold>25</normalThreshold>
+ </hudson.plugins.dry.DryPublisher>
+ <hudson.plugins.jdepend.JDependRecorder>
+ <configuredJDependFile>build/logs/jdepend.xml</configuredJDependFile>
+ </hudson.plugins.jdepend.JDependRecorder>
+ <hudson.plugins.clover.CloverPublisher>
+ <cloverReportDir>build/logs</cloverReportDir>
+ <cloverReportFileName>clover.xml</cloverReportFileName>
+ <healthyTarget>
+ <methodCoverage>70</methodCoverage>
+ <conditionalCoverage>80</conditionalCoverage>
+ <statementCoverage>80</statementCoverage>
+ </healthyTarget>
+ <unhealthyTarget/>
+ <failingTarget/>
+ </hudson.plugins.clover.CloverPublisher>
+ <hudson.plugins.violations.ViolationsPublisher>
+ <config>
+ <suppressions class="tree-set">
+ <no-comparator/>
+ </suppressions>
+ <typeConfigs>
+ <no-comparator/>
+ <entry>
+ <string>checkstyle</string>
+ <hudson.plugins.violations.TypeConfig>
+ <type>checkstyle</type>
+ <min>10</min>
+ <max>999</max>
+ <unstable>999</unstable>
+ <usePattern>false</usePattern>
+ <pattern>build/logs/checkstyle.xml</pattern>
+ </hudson.plugins.violations.TypeConfig>
+ </entry>
+ <entry>
+ <string>cpd</string>
+ <hudson.plugins.violations.TypeConfig>
+ <type>cpd</type>
+ <min>10</min>
+ <max>999</max>
+ <unstable>999</unstable>
+ <usePattern>false</usePattern>
+ <pattern>build/logs/pmd-cpd.xml</pattern>
+ </hudson.plugins.violations.TypeConfig>
+ </entry>
+ <entry>
+ <string>findbugs</string>
+ <hudson.plugins.violations.TypeConfig>
+ <type>findbugs</type>
+ <min>10</min>
+ <max>999</max>
+ <unstable>999</unstable>
+ <usePattern>false</usePattern>
+ <pattern></pattern>
+ </hudson.plugins.violations.TypeConfig>
+ </entry>
+ <entry>
+ <string>fxcop</string>
+ <hudson.plugins.violations.TypeConfig>
+ <type>fxcop</type>
+ <min>10</min>
+ <max>999</max>
+ <unstable>999</unstable>
+ <usePattern>false</usePattern>
+ <pattern></pattern>
+ </hudson.plugins.violations.TypeConfig>
+ </entry>
+ <entry>
+ <string>gendarme</string>
+ <hudson.plugins.violations.TypeConfig>
+ <type>gendarme</type>
+ <min>10</min>
+ <max>999</max>
+ <unstable>999</unstable>
+ <usePattern>false</usePattern>
+ <pattern></pattern>
+ </hudson.plugins.violations.TypeConfig>
+ </entry>
+ <entry>
+ <string>jcreport</string>
+ <hudson.plugins.violations.TypeConfig>
+ <type>jcreport</type>
+ <min>10</min>
+ <max>999</max>
+ <unstable>999</unstable>
+ <usePattern>false</usePattern>
+ <pattern></pattern>
+ </hudson.plugins.violations.TypeConfig>
+ </entry>
+ <entry>
+ <string>jslint</string>
+ <hudson.plugins.violations.TypeConfig>
+ <type>jslint</type>
+ <min>10</min>
+ <max>999</max>
+ <unstable>999</unstable>
+ <usePattern>false</usePattern>
+ <pattern></pattern>
+ </hudson.plugins.violations.TypeConfig>
+ </entry>
+ <entry>
+ <string>pmd</string>
+ <hudson.plugins.violations.TypeConfig>
+ <type>pmd</type>
+ <min>10</min>
+ <max>999</max>
+ <unstable>999</unstable>
+ <usePattern>false</usePattern>
+ <pattern>build/logs/pmd.xml</pattern>
+ </hudson.plugins.violations.TypeConfig>
+ </entry>
+ <entry>
+ <string>pylint</string>
+ <hudson.plugins.violations.TypeConfig>
+ <type>pylint</type>
+ <min>10</min>
+ <max>999</max>
+ <unstable>999</unstable>
+ <usePattern>false</usePattern>
+ <pattern></pattern>
+ </hudson.plugins.violations.TypeConfig>
+ </entry>
+ <entry>
+ <string>simian</string>
+ <hudson.plugins.violations.TypeConfig>
+ <type>simian</type>
+ <min>10</min>
+ <max>999</max>
+ <unstable>999</unstable>
+ <usePattern>false</usePattern>
+ <pattern></pattern>
+ </hudson.plugins.violations.TypeConfig>
+ </entry>
+ <entry>
+ <string>stylecop</string>
+ <hudson.plugins.violations.TypeConfig>
+ <type>stylecop</type>
+ <min>10</min>
+ <max>999</max>
+ <unstable>999</unstable>
+ <usePattern>false</usePattern>
+ <pattern></pattern>
+ </hudson.plugins.violations.TypeConfig>
+ </entry>
+ </typeConfigs>
+ <limit>100</limit>
+ <sourcePathPattern></sourcePathPattern>
+ <fauxProjectPath></fauxProjectPath>
+ <encoding>default</encoding>
+ </config>
+ </hudson.plugins.violations.ViolationsPublisher>
+ <htmlpublisher.HtmlPublisher>
+ <reportTargets>
+ <htmlpublisher.HtmlPublisherTarget>
+ <reportName>API Documentation</reportName>
+ <reportDir>build/api</reportDir>
+ <reportFiles>index.html</reportFiles>
+ <keepAll>false</keepAll>
+ <wrapperName>htmlpublisher-wrapper.html</wrapperName>
+ </htmlpublisher.HtmlPublisherTarget>
+ <htmlpublisher.HtmlPublisherTarget>
+ <reportName>Code Browser</reportName>
+ <reportDir>build/code-browser</reportDir>
+ <reportFiles>index.html</reportFiles>
+ <keepAll>false</keepAll>
+ <wrapperName>htmlpublisher-wrapper.html</wrapperName>
+ </htmlpublisher.HtmlPublisherTarget>
+ <htmlpublisher.HtmlPublisherTarget>
+ <reportName>Code Coverage</reportName>
+ <reportDir>build/coverage</reportDir>
+ <reportFiles>index.html</reportFiles>
+ <keepAll>false</keepAll>
+ <wrapperName>htmlpublisher-wrapper.html</wrapperName>
+ </htmlpublisher.HtmlPublisherTarget>
+ </reportTargets>
+ </htmlpublisher.HtmlPublisher>
+ <com.thalesgroup.hudson.plugins.xunit.XUnitPublisher>
+ <types>
+ <com.thalesgroup.dtkit.metrics.hudson.model.PHPUnitHudsonTestType>
+ <pattern>build/logs/junit.xml</pattern>
+ <faildedIfNotNew>true</faildedIfNotNew>
+ <deleteOutputFiles>true</deleteOutputFiles>
+ </com.thalesgroup.dtkit.metrics.hudson.model.PHPUnitHudsonTestType>
+ </types>
+ </com.thalesgroup.hudson.plugins.xunit.XUnitPublisher>
+ </publishers>
+ <buildWrappers/>
+</project>