summaryrefslogtreecommitdiffstats
path: root/build/build.xml
diff options
context:
space:
mode:
authorThomas Mueller <thomas.mueller@tmit.eu>2012-12-15 21:03:32 +0100
committerThomas Mueller <thomas.mueller@tmit.eu>2012-12-15 21:03:32 +0100
commit03f4250ce6f8981dd576cadd68365a360234d879 (patch)
tree5c2a7ed1eb6a50f478da30e7d30c25d15b0243ea /build/build.xml
parentf0893fb8fe7f0642ae30de2e1168472377c127e2 (diff)
downloadnextcloud-server-03f4250ce6f8981dd576cadd68365a360234d879.tar.gz
nextcloud-server-03f4250ce6f8981dd576cadd68365a360234d879.zip
Migration of build files from Jenkins
Diffstat (limited to 'build/build.xml')
-rw-r--r--build/build.xml179
1 files changed, 179 insertions, 0 deletions
diff --git a/build/build.xml b/build/build.xml
new file mode 100644
index 00000000000..3df77ad024e
--- /dev/null
+++ b/build/build.xml
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="ownCloud" default="build" xmlns:jsl="antlib:com.googlecode.jslint4java">
+
+ <!-- the target 'build' can be used by developers for command line builds -->
+ <target name="build" depends="prepare,lint,jslint,phploc,pdepend,phpmd,phpcs,phpcpd,phpdoc,phpunit"/>
+
+ <!-- the target 'build-ci' is used within our Jenkins CI-server http://ci.tmit.eu -->
+ <target name="build-ci" depends="prepare,lint,jslint-ci,phploc,pdepend,phpmd-ci,phpcs-ci,phpcpd-ci,phpdoc,phpunit,phpcb-ci"/>
+
+ <!-- the target 'build-pullrequests' is used within our Jenkins CI-server for pull request analysis -->
+ <target name="build-pullrequests" depends="prepare,lint,jslint-ci"/>
+
+ <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"
+ 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>
+
+ <!-- php syntax analysis -->
+ <target name="lint">
+ <apply executable="php" failonerror="true">
+ <arg value="-l" />
+
+ <fileset dir="${basedir}">
+ <include name="**/*.php" />
+ <exclude name="**/3rdparty/**" />
+ <exclude name="**/l10n/**" />
+ <!-- modified / -->
+ </fileset>
+
+ </apply>
+ </target>
+
+ <!-- javascript lint -->
+ <target name="jslint-ci" description="Run the JSLint tool on JS files">
+ <jsl:jslint options="white,sloppy,vars,bitwise,eqeq,browser" haltOnFailure="false">
+ <jsl:predef>
+jQuery,$$,OC,$,oc_webroot,oc_appswebroots,oc_current_user,t,Files,FileList,FileActions,localStorage,OCCategories,EventSource,OCdialog,SVGSupport,dragOptions,dragOptions,folderDropOptions,formatDate,humanFileSize,procesSelection,relative_modified_date,scanFiles,simpleFileSize,simpleSize
+</jsl:predef>
+ <!-- jsl:formatter type="plain" / -->
+ <jsl:formatter type="xml" destfile="build/logs/jslint.xml" />
+ <fileset dir="${basedir}" includes="**/*.js" excludes="**/*.min.js,**/3rdparty/**" />
+ </jsl:jslint>
+ </target>
+
+ <target name="jslint" description="Run the JSLint tool on JS files">
+ <jsl:jslint options="white,sloppy,vars,bitwise,eqeq,browser" haltOnFailure="false">
+ <jsl:predef>
+jQuery,$$,OC,$,oc_webroot,oc_appswebroots,oc_current_user,t,Files,FileList,FileActions,localStorage,OCCategories,EventSource,OCdialog,SVGSupport,dragOptions,dragOptions,folderDropOptions,formatDate,humanFileSize,procesSelection,relative_modified_date,scanFiles,simpleFileSize,simpleSize
+</jsl:predef>
+ <jsl:formatter type="plain" />
+ <fileset dir="${basedir}" includes="**/*.js" excludes="**/*.min.js,**/3rdparty/**" />
+ </jsl:jslint>
+ </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}" />
+ <arg value="--exclude" />
+ <arg value="${basedir}/3rdparty/" />
+ </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 value="--ignore=${basedir}/3rdparty/"/>
+ <arg path="${basedir}" />
+ </exec>
+ </target>
+
+ <target name="phpmd-ci"
+ description="Perform project mess detection using PHPMD creating a log file for the continuous integration server">
+ <exec executable="phpmd">
+ <arg path="${basedir}" />
+ <arg value="xml" />
+ <arg value="${basedir}/build/phpmd.xml" />
+ <arg value="--reportfile" />
+ <arg value="${basedir}/build/logs/pmd.xml" />
+ <arg value="--exclude" />
+ <arg value="${basedir}/3rdparty/" />
+ </exec>
+ </target>
+
+ <target name="phpmd"
+ description="Perform project mess detection using PHPMD creating a log file for the continuous integration server">
+ <exec executable="phpmd">
+ <arg path="${basedir}" />
+ <arg value="xml" />
+ <arg value="${basedir}/build/phpmd.xml" />
+ <arg value="--exclude" />
+ <arg value="${basedir}/3rdparty/" />
+ </exec>
+ </target>
+
+ <target name="phpcs-ci"
+ description="Find coding standard violations using PHP_CodeSniffer creating a log file for the continuous integration server">
+ <exec executable="phpcs" >
+ <arg value="-p" />
+ <arg value="-v" />
+ <arg value="--tab-width=4" />
+ <arg value="--report=checkstyle" />
+ <arg value="--report-file=${basedir}/build/logs/checkstyle.xml" />
+ <arg value="--standard=${basedir}/build/phpcs.xml" />
+ <arg path="${basedir}" />
+ </exec>
+ </target>
+
+ <target name="phpcs"
+ description="Find coding standard violations using PHP_CodeSniffer creating a log file for the continuous integration server">
+ <exec executable="phpcs" >
+ <arg value="-p" />
+ <arg value="-v" />
+ <arg value="--tab-width=4" />
+ <arg value="--standard=${basedir}/build/phpcs.xml" />
+ <arg path="${basedir}" />
+ </exec>
+ </target>
+
+ <target name="phpcpd" description="Find duplicate code using PHPCPD">
+ <exec executable="phpcpd">
+ <arg value="--exclude" />
+ <arg value="${basedir}/3rdparty/" />
+ <arg path="${basedir}" />
+ </exec>
+ </target>
+
+ <target name="phpcpd-ci" description="Find duplicate code using PHPCPD">
+ <exec executable="phpcpd">
+ <arg value="--log-pmd" />
+ <arg value="${basedir}/build/logs/pmd-cpd.xml" />
+ <arg value="--exclude" />
+ <arg value="${basedir}/3rdparty/" />
+ <arg path="${basedir}" />
+ </exec>
+ </target>
+
+ <!-- No idea if we need this within this build file. This is part of the release which is not contained within this script. -->
+ <target name="phpdoc"
+ description="Generate API documentation using PHPDocumentor">
+ <!-- exec executable="phpdox"/ -->
+ </target>
+
+ <!-- currently we use autotest.sh for executing the unit tests against 3 different database setups -->
+ <target name="phpunit" description="Run unit tests with PHPUnit">
+ <echo message="TODO: phpunit goes here"/>
+ <!-- exec executable="phpunit" failonerror="true"/ -->
+ </target>
+
+ <target name="phpcb-ci"
+ description="Aggregate tool output with PHP_CodeBrowser">
+ <exec executable="phpcb">
+ <arg value="--log" />
+ <arg path="${basedir}/build/logs" />
+ <arg value="--source" />
+ <arg path="${basedir}" />
+ <arg value="--output" />
+ <arg path="${basedir}/build/code-browser" />
+ <arg value="--exclude" />
+ <arg value="${basedir}/3rdparty/" />
+ </exec>
+ </target>
+</project>