diff options
author | Thomas Mueller <thomas.mueller@tmit.eu> | 2012-12-15 21:03:32 +0100 |
---|---|---|
committer | Thomas Mueller <thomas.mueller@tmit.eu> | 2012-12-15 21:03:32 +0100 |
commit | 03f4250ce6f8981dd576cadd68365a360234d879 (patch) | |
tree | 5c2a7ed1eb6a50f478da30e7d30c25d15b0243ea /build/build.xml | |
parent | f0893fb8fe7f0642ae30de2e1168472377c127e2 (diff) | |
download | nextcloud-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.xml | 179 |
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> |