Page MenuHomeDevCentral

No OneTemporary

diff --git a/.gitignore b/.gitignore
index 580242e..63a111c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,8 @@
/vendor
/node_modules
composer.lock
.env
+
+# Ant build
+build/
+cache.properties
diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000..3257510
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,274 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="name-of-project" default="full-build">
+ <!-- By default, we assume all tools to be on the $PATH -->
+ <property name="composer" value="composer"/>
+ <property name="pdepend" value="pdepend"/>
+ <property name="phpcpd" value="phpcpd"/>
+ <property name="phpcs" value="phpcs"/>
+ <property name="phpdox" value="phpdox"/>
+ <property name="phploc" value="phploc"/>
+ <property name="phpmd" value="phpmd"/>
+ <property name="phpunit" value="phpunit"/>
+
+ <!-- Use this when the tools are managed by Composer in ${basedir}/vendor/bin
+ <property name="pdepend" value="${basedir}/vendor/bin/pdepend"/>
+ <property name="phpcpd" value="${basedir}/vendor/bin/phpcpd"/>
+ <property name="phpcs" value="${basedir}/vendor/bin/phpcs"/>
+ <property name="phpdox" value="${basedir}/vendor/bin/phpdox"/>
+ <property name="phploc" value="${basedir}/vendor/bin/phploc"/>
+ <property name="phpmd" value="${basedir}/vendor/bin/phpmd"/>
+ <property name="phpunit" value="${basedir}/vendor/bin/phpunit"/> -->
+
+ <target name="full-build"
+ depends="prepare,static-analysis,phpunit,phpdox,-check-failure"
+ description="Performs static analysis, runs the tests, and generates project documentation"/>
+
+ <target name="full-build-parallel"
+ depends="prepare,static-analysis-parallel,phpunit,phpdox,-check-failure"
+ description="Performs static analysis (executing the tools in parallel), runs the tests, and generates project documentation"/>
+
+ <target name="quick-build"
+ depends="prepare,lint,phpunit-no-coverage"
+ description="Performs a lint check and runs the tests (without generating code coverage reports)"/>
+
+ <target name="static-analysis"
+ depends="lint,phploc-ci,pdepend,phpmd-ci,phpcs-ci,phpcpd-ci"
+ description="Performs static analysis" />
+
+ <!-- Adjust the threadCount attribute's value to the number of CPUs -->
+ <target name="static-analysis-parallel"
+ description="Performs static analysis (executing the tools in parallel)">
+ <parallel threadCount="2">
+ <sequential>
+ <antcall target="pdepend"/>
+ <antcall target="phpmd-ci"/>
+ </sequential>
+ <antcall target="lint"/>
+ <antcall target="phpcpd-ci"/>
+ <antcall target="phpcs-ci"/>
+ <antcall target="phploc-ci"/>
+ </parallel>
+ </target>
+
+ <target name="clean"
+ unless="clean.done"
+ description="Cleanup build artifacts">
+ <delete dir="${basedir}/build/api"/>
+ <delete dir="${basedir}/build/coverage"/>
+ <delete dir="${basedir}/build/logs"/>
+ <delete dir="${basedir}/build/pdepend"/>
+ <delete dir="${basedir}/build/phpdox"/>
+ <property name="clean.done" value="true"/>
+ </target>
+
+ <target name="prepare"
+ unless="prepare.done"
+ depends="clean"
+ description="Prepare for build">
+ <mkdir dir="${basedir}/build/api"/>
+ <mkdir dir="${basedir}/build/coverage"/>
+ <mkdir dir="${basedir}/build/logs"/>
+ <mkdir dir="${basedir}/build/pdepend"/>
+ <mkdir dir="${basedir}/build/phpdox"/>
+ <exec executable="${composer}">
+ <arg value="install"/>
+ </exec>
+ <property name="prepare.done" value="true"/>
+ </target>
+
+ <target name="lint"
+ unless="lint.done"
+ description="Perform syntax check of sourcecode files">
+ <apply executable="php" taskname="lint">
+ <arg value="-l" />
+
+ <fileset dir="${basedir}/app">
+ <include name="**/*.php" />
+ <modified />
+ </fileset>
+
+ <fileset dir="${basedir}/config">
+ <include name="**/*.php" />
+ <modified />
+ </fileset>
+
+ <fileset dir="${basedir}/tests">
+ <include name="**/*.php" />
+ <modified />
+ </fileset>
+ </apply>
+
+ <property name="lint.done" value="true"/>
+ </target>
+
+ <target name="phploc"
+ unless="phploc.done"
+ description="Measure project size using PHPLOC and print human readable output. Intended for usage on the command line.">
+ <exec executable="${phploc}" taskname="phploc">
+ <arg value="--count-tests" />
+ <arg path="${basedir}/app" />
+ <arg path="${basedir}/tests" />
+ </exec>
+
+ <property name="phploc.done" value="true"/>
+ </target>
+
+ <target name="phploc-ci"
+ unless="phploc.done"
+ depends="prepare"
+ description="Measure project size using PHPLOC and log result in CSV and XML format. Intended for usage within a continuous integration environment.">
+ <exec executable="${phploc}" taskname="phploc">
+ <arg value="--count-tests" />
+ <arg value="--log-csv" />
+ <arg path="${basedir}/build/logs/phploc.csv" />
+ <arg value="--log-xml" />
+ <arg path="${basedir}/build/logs/phploc.xml" />
+ <arg path="${basedir}/app" />
+ <arg path="${basedir}/tests" />
+ </exec>
+
+ <property name="phploc.done" value="true"/>
+ </target>
+
+ <target name="pdepend"
+ unless="pdepend.done"
+ depends="prepare"
+ description="Calculate software metrics using PHP_Depend and log result in XML format. Intended for usage within a continuous integration environment.">
+ <exec executable="${pdepend}" taskname="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}/app" />
+ </exec>
+
+ <property name="pdepend.done" value="true"/>
+ </target>
+
+ <target name="phpmd"
+ unless="phpmd.done"
+ description="Perform project mess detection using PHPMD and print human readable output. Intended for usage on the command line before committing.">
+ <exec executable="${phpmd}" taskname="phpmd">
+ <arg path="${basedir}/app" />
+ <arg value="text" />
+ <arg path="${basedir}/ruleset.xml" />
+ </exec>
+
+ <property name="phpmd.done" value="true"/>
+ </target>
+
+ <target name="phpmd-ci"
+ unless="phpmd.done"
+ depends="prepare"
+ description="Perform project mess detection using PHPMD and log result in XML format. Intended for usage within a continuous integration environment.">
+ <exec executable="${phpmd}" taskname="phpmd">
+ <arg path="${basedir}/app" />
+ <arg value="xml" />
+ <arg path="${basedir}/ruleset.xml" />
+ <arg value="--reportfile" />
+ <arg path="${basedir}/build/logs/pmd.xml" />
+ </exec>
+
+ <property name="phpmd.done" value="true"/>
+ </target>
+
+ <target name="phpcs"
+ unless="phpcs.done"
+ description="Find coding standard violations using PHP_CodeSniffer and print human readable output. Intended for usage on the command line before committing.">
+ <exec executable="${phpcs}" taskname="phpcs">
+ <arg value="--standard=PSR1" />
+ <arg value="--extensions=php" />
+ <arg value="--ignore=autoload.php" />
+ <arg path="${basedir}/app" />
+ <arg path="${basedir}/tests" />
+ </exec>
+
+ <property name="phpcs.done" value="true"/>
+ </target>
+
+ <target name="phpcs-ci"
+ unless="phpcs.done"
+ depends="prepare"
+ description="Find coding standard violations using PHP_CodeSniffer and log result in XML format. Intended for usage within a continuous integration environment.">
+ <exec executable="${phpcs}" output="/dev/null" taskname="phpcs">
+ <arg value="--report=checkstyle" />
+ <arg value="--report-file=${basedir}/build/logs/checkstyle.xml" />
+ <arg value="--standard=PSR1" />
+ <arg value="--extensions=php" />
+ <arg value="--ignore=autoload.php" />
+ <arg path="${basedir}/app" />
+ <arg path="${basedir}/tests" />
+ </exec>
+
+ <property name="phpcs.done" value="true"/>
+ </target>
+
+ <target name="phpcpd"
+ unless="phpcpd.done"
+ description="Find duplicate code using PHPCPD and print human readable output. Intended for usage on the command line before committing.">
+ <exec executable="${phpcpd}" taskname="phpcpd">
+ <arg path="${basedir}/app" />
+ </exec>
+
+ <property name="phpcpd.done" value="true"/>
+ </target>
+
+ <target name="phpcpd-ci"
+ unless="phpcpd.done"
+ depends="prepare"
+ description="Find duplicate code using PHPCPD and log result in XML format. Intended for usage within a continuous integration environment.">
+ <exec executable="${phpcpd}" taskname="phpcpd">
+ <arg value="--log-pmd" />
+ <arg path="${basedir}/build/logs/pmd-cpd.xml" />
+ <arg path="${basedir}/app" />
+ </exec>
+
+ <property name="phpcpd.done" value="true"/>
+ </target>
+
+ <target name="phpunit"
+ unless="phpunit.done"
+ depends="prepare"
+ description="Run unit tests with PHPUnit">
+ <exec executable="${phpunit}" resultproperty="result.phpunit" taskname="phpunit">
+ <arg value="--configuration"/>
+ <arg path="${basedir}/phpunit.xml"/>
+ </exec>
+
+ <property name="phpunit.done" value="true"/>
+ </target>
+
+ <target name="phpunit-no-coverage"
+ unless="phpunit.done"
+ depends="prepare"
+ description="Run unit tests with PHPUnit (without generating code coverage reports)">
+ <exec executable="${phpunit}" failonerror="true" taskname="phpunit">
+ <arg value="--configuration"/>
+ <arg path="${basedir}/phpunit.xml"/>
+ <arg value="--no-coverage"/>
+ </exec>
+
+ <property name="phpunit.done" value="true"/>
+ </target>
+
+ <target name="phpdox"
+ unless="phpdox.done"
+ depends="phploc-ci,phpcs-ci,phpmd-ci"
+ description="Generate project documentation using phpDox">
+ <exec executable="${phpdox}" dir="${basedir}/build" taskname="phpdox">
+ <arg value="--file"/>
+ <arg path="${basedir}/phpdox.xml"/>
+ </exec>
+ <property name="phpdox.done" value="true"/>
+ </target>
+
+ <target name="-check-failure">
+ <fail message="PHPUnit did not finish successfully">
+ <condition>
+ <not>
+ <equals arg1="${result.phpunit}" arg2="0"/>
+ </not>
+ </condition>
+ </fail>
+ </target>
+</project>
+
diff --git a/phpdox.xml b/phpdox.xml
new file mode 100644
index 0000000..305f8a3
--- /dev/null
+++ b/phpdox.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<phpdox xmlns="http://xml.phpdox.net/config">
+ <project name="Notifications" source="${basedir}/app" workdir="${basedir}/build/api/xml">
+ <collector backend="parser" />
+ <generator output="${basedir}/build/api">
+ <build engine="html" output="html"/>
+ </generator>
+ </project>
+</phpdox>

File Metadata

Mime Type
text/x-diff
Expires
Mon, Nov 25, 12:19 (1 d, 12 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2260156
Default Alt Text
(10 KB)

Event Timeline