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

Sonar - Ignore Lombok code via custom annotation

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

事实上,我什至尝试过从分析中排除整个目录,但仍然行不通。

我也不知疲倦地在 Whosebug 上搜索以寻找解决方案,我看到这里已经对此进行了很多讨论,但我看到人们一直建议编写一个测试来获得覆盖率上升,这是没有意义的,因为我们不应该测试自动生成的代码。

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

如有任何帮助,我们将不胜感激。

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

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

我们计划扩展此机制,以允许用户实施他们自己的自定义问题过滤器,与实施自定义规则的方式相同。这种方法将涵盖您的情况,并允许您过滤使用自定义注释注释的代码的任何规则。此新功能将在以下 JIRA 工单中处理:SONARJAVA-1761

您的另一个选择是 运行 声纳通过 delomboked 源。根据您的构建系统,有多种 delombok 方法,请参阅: Delombok Overview

对于 Maven,有一个 运行ning 分析 delmboked 代码的例子:Delombok test pom

在每种情况下,您都会确保 运行 检查生成的源代码。