gpt4 book ai didi

java - 从 Sonar 覆盖报告中排除 Lombok 类

转载 作者:行者123 更新时间:2023-12-01 08:34:11 28 4
gpt4 key购买 nike

最新 Jacoco 插件 (仍然是快照版本, 0.7.10-SNAPSHOT ),有一个很好的新功能来过滤 Lombok 生成的代码( https://github.com/jacoco/jacoco/wiki/FilteringOptions )。
我们需要做的就是添加一个 lombok.config存储库根目录下的文件:

lombok.addLombokGeneratedAnnotation=true 
当我在内部生成 Jacoco 报告时,我看到了不同之处。
然而,当我的常规质量作业执行并将结果发布到 Sonar 时,我得到了不同(即更糟)的结果。
为什么我的本地报告和 Sonar 中的结果不同?有什么解决方法吗?

最佳答案

正如这里提到的:https://github.com/jacoco/jacoco/pull/513#issuecomment-293176354

过滤是在报告生成时(创建 html、xml 等)而不是在收集执行信息(创建 exec 文件)时执行的。所以直接读取执行数据而不是读取xml的工具(这是他们这边的一种错误,纯粹依赖内部中间格式,但是已经完成了)并创建自己的报告(例如SonarQube,Jenkins等) ) 将需要在 JaCoCo 发布后更新他们对 JaCoCo 的依赖,以便过滤报告。当我们的发布完成时,我们将明确通知下游项目(特别是上面提到的所有项目)。所以再次 - 请耐心等待。感谢您的理解。

我没有找到让 Sonar 读取最终报告而不是 exec 文件的方法,所以我想我们需要耐心等待官方 0.7.10 jacoco 插件发布,然后在 Sonar 方面进行更新!

------ 2018 年 5 月 9 日更新

新版本已经发布,我可以确认它对我有用。

使用 :

  • Sonar 6.7
  • SonarJava 插件 5.1.1.13214
  • jacoco maven 插件 0.8.1
  • lombok.addLombokGeneratedAnnotation=true in lombok.config

  • 我现在向 Sonar 报告了更好的覆盖结果,因为现在忽略了 Lombok 生成的代码。它确实有助于确定“真正的”未覆盖区域是什么,以及它是否有风险。

    关于java - 从 Sonar 覆盖报告中排除 Lombok 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47430397/

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