Trong dự án của tôi có một số thư mục nhất định và một số tệp php có kích thước rất lớn do xây dựng của tôi không thành công và tôi muốn loại trừ chúng trong của tôi build.xml
Loại trừ các thư mục và tập tin nhất định trong pdepend, phpmd, phpcpd, phpcs, phpdoc, phploc
Ques1- Tôi có phải viết --ignore="path/filename"
cho mọi tệp php trong dự án không?
Ques2- Có một số tệp không phải là php nhưng .dat
vì vậy tôi cũng nên đề cập đến những tệp này trong số --ignore
?
Ques3- Tôi có thể chỉ định loại trừ tệp dựa trên kích thước của chúng sao cho tôi loại trừ tất cả các tệp lớn hơn 500kb không?
tập tin xml hiện tại của tôi trông như thế này:
<?xml version="1.0" encoding="UTF-8"?>
<project name="name-of-project" default="build" basedir=".">
<property name="root.dir" value="${basedir}/.."/>
<property name="source" value="${root.dir}"/>
<target name="clean"
description="Clean up and create artifact directories">
<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"/>
<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>
<target name="phpunit"
description="Run unit tests using PHPUnit and generates junit.xml and clover.xml">
<exec executable="phpunit" failonerror="true">
<env key="DOCUMENT_ROOT" value="${source}/api"/>
<env key="MODEL_ROOT" value="${source}/model"/>
</exec>
</target>
<target name="parallelTasks"
description="Run the pdepend, phpmd, phpcpd, phpcs, phpdoc and phploc tasks in parallel using a maximum of 2 threads.">
<parallel threadCount="2">
<sequential>
<antcall target="pdepend"/>
<antcall target="phpmd"/>
</sequential>
<antcall target="phpcpd"/>
<antcall target="phpcs"/>
<antcall target="phpdoc"/>
<antcall target="phploc"/>
</parallel>
</target>
<target name="pdepend"
description="Generate jdepend.xml and software metrics charts 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=${source}/web" />
<arg path="${source}" />
</exec>
</target>
<target name="phpmd"
description="Generate pmd.xml using PHPMD">
<exec executable="phpmd">
<arg path="${source}" />
<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}/web" />
</exec>
</target>
<target name="phpcpd"
description="Generate pmd-cpd.xml using PHPCPD">
<exec executable="phpcpd">
<arg value="--log-pmd" />
<arg value="${basedir}/build/logs/pmd-cpd.xml" />
<arg value="--exclude" />
<arg value="${basedir}/web" />
<arg path="${source}" />
</exec>
</target>
<target name="phploc"
description="Generate phploc.csv">
<exec executable="phploc">
<arg value="--log-csv" />
<arg value="${basedir}/build/logs/phploc.csv" />
<arg value="--exclude" />
<arg value="${basedir}/web" />
<arg path="${source}" />
</exec>
</target>
<target name="phpcs"
description="Generate checkstyle.xml using PHP_CodeSniffer">
<exec executable="phpcs" output="/dev/null">
<arg value="--report=checkstyle" />
<arg value="--report-file=${basedir}/build/logs/checkstyle.xml" />
<arg value="--standard=${basedir}/build/phpcs.xml" />
<arg value="--ignore=${source}/web" />
<arg path="${source}" />
</exec>
</target>
<target name="phpdoc"
description="Generate API documentation using PHPDocumentor">
<exec executable="phpdoc">
<arg value="--directory" />
<arg path="${source}" />
<arg value="--target" />
<arg path="${basedir}/build/api" />
<arg value="--ignore" />
<arg path="${basedir}/web" />
</exec>
</target>
<target name="phpcb"
description="Aggregate tool output with PHP_CodeBrowser">
<exec executable="phpcb">
<arg value="--log" />
<arg path="${basedir}/build/logs" />
<arg value="--source" />
<arg path="${source}" />
<arg value="--ignore" />
<arg path="${basedir}/web" />
<arg value="--output" />
<arg path="${basedir}/build/code-browser" />
</exec>
</target>
<target name="build" depends="clean,parallelTasks,phpunit,phpcb"/>
</project>
Và Tôi nhận được lỗi như thế này
pdepend:
[exec] PHP_Depend 0.10.5 by Manuel Pichler
[exec] Parsing source files:
[exec] phpcpd 1.3.2 by Sebastian Bergmann.
[exec] PHP Fatal error: Allowed memory size of 262144000 bytes exhausted (tried to allocate 71 bytes) in /usr/share/pear/PHPCPD/Detector.php on line 115
[exec] PHP Stack trace:
[exec] PHP 1. {main}() /usr/bin/phpcpd:0
[exec] PHP 2. PHPCPD_TextUI_Command::main() /usr/bin/phpcpd:51
[exec] PHP 3. PHPCPD_Detector->copyPasteDetection() /usr/share/pear/PHPCPD/TextUI/Command.php:216
[exec] PHP 4. token_get_all() /usr/share/pear/PHPCPD/Detector.php:115
[exec] Result: 255
phploc:
[exec] phploc 1.6.1 by Sebastian Bergmann.
[exec] PHP Fatal error: Allowed memory size of 262144000 bytes exhausted (tried to allocate 71 bytes) in /usr/share/pear/PHPLOC/Analyser.php on line 279
[exec] PHP Stack trace:
[exec] PHP 1. {main}() /usr/bin/phploc:0
[exec] PHP 2. PHPLOC_TextUI_Command::main() /usr/bin/phploc:51
[exec] PHP 3. PHPLOC_Analyser->countFiles() /usr/share/pear/PHPLOC/TextUI/Command.php:215
[exec] PHP 4. PHPLOC_Analyser->countFile() /usr/share/pear/PHPLOC/Analyser.php:170
[exec] PHP 5. token_get_all() /usr/share/pear/PHPLOC/Analyser.php:279
[exec] Result: 255
Tôi nên làm gì để giải quyết nó? Nếu tôi tự loại bỏ các tập tin lớn từ thư mục sau đó xây dựng chỉ cần vượt qua nhưng tôi muốn xây dựng để chạy tự động kiểm tra ra các cơ sở mã từ svn mà sẽ có những tập tin lớn.
Ques4- Tôi có thể định cấu hình thanh toán của mình theo cách sao cho các tệp này không được kiểm tra không?
-1 Không có ví dụ về 'fileset' trong mã mẫu của bạn! – Ben
trong trường hợp bạn cần loại trừ tệp (không phải thư mục), hãy sử dụng tùy chọn --names-exclude –
Select0r