gpt4 book ai didi

php - 为什么 CodeSniffer 不排除 --ignore 指定的文件夹?

转载 作者:可可西里 更新时间:2023-11-01 13:39:10 24 4
gpt4 key购买 nike

我正在使用 Jenkins(Hudson) CI,每天晚上都使用多种报告工具分析代码,包括用于 Checkstyle 报告的 Codesniffer。我不想让它忽略 ./framework/*目录,但它坚持包含它,不管我对 --ignore 的努力如何参数。

报告已成功创建和解析,但对我们没有任何用处,因为框架中存在大量违反 Pear 编码标准的行为。

Codesniffer 是从我的 Ant 构建脚本中调用的,如下所示:

<target name="phpcs-ci" description="Find coding standard violations using PHP_CodeSniffer creating a log file for the continuous integration server">
<exec executable="phpcs" dir="${basedir}" output="${basedir}/build/logs/checkstyle.xml" failonerror="off">
<arg line="--report=checkstyle --standard=${basedir}/build/phpcs.xml --extensions=php --ignore=*/framework/* ${basedir}" />
</exec>
</target>

我试过了 --ignore=framework , --ignore=framework/ ,以及上面一行中的那个,都是我在网上找到的例子。

我也尝试过为每个参数使用不同的行 ( using < arg value"..." /> ),但无济于事。

有什么想法吗?非常感谢:)

编辑:--ignore 参数现在是:

--ignore=${basedir}/framework/

...仍然包含框架文件夹。有没有人有一个有效的 PhpCodeSniffer 配置,带有 --ignore 参数,可以正常工作?

在这里交叉手指

最佳答案

我在 Jenkins 遇到了同样的问题,上面的回答在一定程度上帮助了我。这就是我现在拥有的(并且可以在我的系统上运行)。

如果你的系统是这样的:

/
/build.xml
/foo
/foo/bar

这就是我的 build.xml 中的内容

  <target name="phpcs" 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">
<arg value="--standard=${basedir}/build/phpcs.xml" />
<arg value="--ignore=foo/bar" />
<arg path="${basedir}" />
</exec>

诀窍是不使用 ${basedir} 并丢失目录的尾部斜杠。

希望对你有帮助

关于php - 为什么 CodeSniffer 不排除 --ignore 指定的文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12298805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com