|
@build.xml (ant构建配置文件)
- <?xml version="1.0" encoding="UTF-8"?>
- <project name="name-of-project" default="build">
- <!-- By default, we assume all tools to be on the $PATH -->
- <property name="toolsdir" value=""/>
- <!--改成您相应的应用目录和测试目录-->
- <property name="testdir" value="${basedir}/Test"/>
- <property name="appdir" value="${basedir}/PHPCbping"/>
- <available file="${basedir}/build" property="build_path"/>
- <available file="${basedir}/App/TestControllers1" property="TestControllers1_exist"/>
- <!--<property name="version-m" value="1.1" />-->
- <!--<property name="version" value="1.1.0" />-->
- <!--<property name="stability" value="stable" />-->
- <!--<property name="releasenotes" value="" />-->
- <!--<property name="tarfile" value="${phing.project.name}.${buildnumber}.${buildid}.tar.gz" />-->
- <!--<property name="pkgfile" value="${phing.project.name}.${version}.tgz" />-->
- <!--<property name="distfile" value="dist/${tarfile}" />-->
- <!--<property name="tests.dir" value="test" />-->
- <!-- -->
- <!--<fileset id="api.tar.gz" dir=".">-->
- <!--<include name="test/**"/>-->
- <!--<include name="*.php"/>-->
- <!--<include name="*.xml"/>-->
- <!--</fileset>-->
- <!--<target name="check" description="Check variables" >-->
- <!--<fail unless="version" message="Version not defined!" />-->
- <!--<fail unless="buildnumber" message="buildnumber not defined!" />-->
- <!--<fail unless="buildid" message="buildid not defined!" />-->
- <!--<delete dir="dist" failonerror="false" />-->
- <!--<mkdir dir="dist" />-->
- <!--</target>-->
- <!--<target name="tar" depends="check" description="Create tar file for release">-->
- <!--<echo msg="Creating distribution tar for ${phing.project.name} ${version}"/>-->
- <!--<delete file="${distfile}" failonerror="false"/>-->
- <!--<tar destfile="${distfile}" compression="gzip">-->
- <!--<fileset refid="api.tar.gz"/>-->
- <!--</tar>-->
- <!--</target>-->
- <!-- Uncomment the following when the tools are in ${basedir}/vendor/bin -->
- <!-- <property name="toolsdir" value="${basedir}/vendor/bin/"/> -->
- <target name="build"
- depends="prepare,lint,phploc-ci,pdepend,phpmd-ci,phpcpd-ci,phpunit,phpdox"
- description=""/>
- <target name="build-parallel"
- depends="prepare,lint,tools-parallel,phpunit,phpdox"
- description=""/>
- <target name="tools-parallel" description="Run tools in parallel">
- <parallel threadCount="2">
- <sequential>
- <antcall target="pdepend"/>
- <antcall target="phpmd-ci"/>
- </sequential>
- <antcall target="phpcpd-ci"/>
- <!--<antcall target="phpcs-ci"/>-->
- <antcall target="phploc-ci"/>
- </parallel>
- </target>
- <target name="clean"
- unless="clean.done"
- if="build_path"
- description="Cleanup build artifacts">
- <delete includeEmptyDirs="true">
- <fileset dir="build" includes="**/*"/>
- </delete>
- <property name="clean.done" value="true"/>
- </target>
- <target name="prepare"
- unless="prepare.done"
- depends="clean,phpunit-init-clean"
- description="Prepare for build">
- <chmod dir="build" perm="0777"/>
- <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"/>
- <property name="prepare.done" value="true"/>
- </target>
- <target name="phpunit-init-clean" if="TestControllers1_exist" depends="clean">
- <move todir="${testdir}/TestControllers1" failonerror="">
- <fileset dir="${basedir}/App/TestControllers1"/>
- </move>
- </target>
- <target name="lint"
- unless="lint.done"
- description="Perform syntax check of sourcecode files">
- <apply executable="php" failonerror="true" taskname="lint">
- <arg value="-l"/>
- <fileset dir="${appdir}">
- <include name="**/*.php"/>
- <modified/>
- </fileset>
- <fileset dir="${testdir}">
- <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="${toolsdir}phploc.bat" taskname="phploc">
- <arg value="--count-tests"/>
- <arg path="${appdir}"/>
- <!--<arg path="${testdir}"/>-->
- </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="${toolsdir}phploc.bat" 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="${appdir}"/>
- <!--<arg path="${testdir}"/>-->
- </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="${toolsdir}pdepend.bat" 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="${appdir}"/>
- </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="${toolsdir}phpmd.bat" taskname="phpmd">
- <arg path="${appdir}"/>
- <arg value="text"/>
- <arg path="${basedir}/phpmd.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="${toolsdir}phpmd.bat" taskname="phpmd">
- <arg path="${appdir}"/>
- <arg value="xml"/>
- <arg path="${basedir}/phpmd.xml"/>
- <arg value="--reportfile"/>
- <arg path="${basedir}/build/logs/pmd.xml"/>
- </exec>
- <property name="phpmd.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="${toolsdir}phpcpd.bat" taskname="phpcpd">
- <arg path="${appdir}"/>
- </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="${toolsdir}phpcpd.bat" taskname="phpcpd">
- <arg value="--log-pmd"/>
- <arg path="${basedir}/build/logs/pmd-cpd.xml"/>
- <arg path="${appdir}"/>
- </exec>
- <property name="phpcpd.done" value="true"/>
- </target>
- <target name="phpunit"
- unless="phpunit.done"
- depends="prepare"
- description="Run unit tests with PHPUnit">
- <exec executable="${toolsdir}phpunit.bat" failonerror="true" taskname="phpunit">
- <arg value="--configuration"/>
- <arg path="${basedir}/phpunit.xml.dist"/>
- <arg value="--include-path"/>
- <arg path="${appdir}"/>
- </exec>
复制代码 @phpdox.xml(相关规则信息可以查看官方文档)
- <?xml version="1.0" encoding="UTF-8"?>
- <phpdox xmlns="http://xml.phpdox.net/config">
- <project name="phpdox-project" source="${basedir}/PHPCbping" workdir="${basedir}/build/api/xml">
- <collector publiconly="false" backend="parser">
- <include mask="*.php"/>
- </collector>
- <generator output="${basedir}/build/api">
- <enrich base="${basedir}/build/logs">
- <source type="build"/>
- <source type="pmd"/>
- <source type="phploc"/>
- </enrich>
- <build engine="html" enabled="true" output="html">
- <file extension="html"/>
- </build>
- </generator>
- </project>
- </phpdox>
复制代码
|
|