gpt4 book ai didi

java - Maven 查找错误 'high water mark'

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:58:13 26 4
gpt4 key购买 nike

[这里以 findbugs 为例,问题适用于任何此类 maven 插件]

不久前我参加了一个构建讲座,谈到了一个我非常喜欢的模式是:当向链中添加一个新工具并且你从 n 次违规开始时,你应该保持 n 减少(高水位线)并且仅当当前检查超过 n 的最后一个值时才使构建失败。

findbugs 刚刚被引入到我们的构建中,我们正在寻找一种方法来实现这种模式。我们看不到任何通过插件配置来做到这一点的方法,所以很好奇是否有人可以提及他们是如何实现这一目标的。我想最明显的方法是自定义插件,但在我们继续前进之前,想听听其他人的想法。

最佳答案

Findbugs(以及我所知道的所有其他代码度量插件)生成 an XML file .我要做的是编写一个专门读取这些 xml 文件的 maven 插件。它会在某处保留一个私有(private)查找表,其中存储每个构建、每个指标的最新值。

它将使用一个通用的解析器接口(interface),您必须为每个度量插件实现该接口(interface)。配置将是这样的:

<plugin>
<groupId>com.yourcompany</groupId>
<artifactId>your-plugin-id</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>readmetrics</id>
<phase>process-classes</phase>
<goals>
<goal>analyse-metrics</goal>
</goals>
</execution>
</executions>
<configuration>
<metrics>
<metric>
<type>findbugs</type>
<file>${project.reporting.outputDirectory}/findbugs/output.xml</file>
</metric>
<metric>
<type>checkstyle</type>
<file>${project.reporting.outputDirectory}/checkstyle/output.xml</file>
</metric>
<metric>
<type>pmd</type>
<file>${project.reporting.outputDirectory}/pmd/output.xml</file>
</metric>
</metrics>
</configuration>
</plugin>

关于java - Maven 查找错误 'high water mark',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3115022/

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