声纳 - 通过自定义注释忽略Lombok代码

时间:2016-06-29 09:20:04

标签: annotations sonarqube analysis lombok

我试图根据具有自定义注释@ExcludeLombok的文件,从Sonar分析中忽略Lombok代码(生成的代码)。 我尝试了this guide但没有效果。

事实上,我甚至尝试从分析中排除整个目录,但它仍然无法正常工作。

我也通过StackOverflow不知疲倦地搜索寻找解决方案,我已经看到这里已经讨论了很多,但我已经看到人们一直在建议写一个单一测试以获得覆盖率,这是毫无意义的,因为我们不应该测试自动生成的代码。

我正在寻找的解决方案是根据自定义注释排除文件。 但到目前为止,我试图排除的任何内容都不会被排除在外。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:5)

除了使用您引用的“Narrowing the focus”文档中描述的方法之外,目前没有简单的方法可以从SonarQube Java Analyzer中排除SonarQube规则引发的问题。

现在,我们最近在SonarQube Java Analyzer中介绍了问题过滤器的概念。目前,该机制仅在内部用于根据特定标准排除分析时规则引发的问题。

我们计划扩展此机制,以便允许用户实现自己的自定义问题过滤器,就像实现自定义规则一样。此方法将涵盖您的案例,并允许您过滤使用自定义注释注释的代码的任何规则。此新功能将在以下JIRA票证中处理:SONARJAVA-1761

答案 1 :(得分:0)

您拥有的另一个选项是在已删除的源上运行Sonar。根据您的构建系统,有各种方法可以使用delombok: Delombok Overview

对于maven,有一个在删除代码上运行分析的示例:Delombok test pom

在每种情况下,您都要确保对生成的源进行检查。