【问题标题】:SonarQube excluding files, directories, and generated code?SonarQube 不包括文件、目录和生成的代码?
【发布时间】:2014-06-25 12:50:09
【问题描述】:

我正在使用的代码库有很多生成的代码。此外,我还想从 SonarQube 分析中排除一些已弃用的文件。我已经阅读了文档并在此处查看了一些答案,但这对我来说没有帮助。

我有一个多模块 Maven 项目。因此,我的工作区中有多个项目,它们都是大型应用程序的一部分。假设我想排除这个文件:

/home/username/workspace/com.mst.rtra.importing.message/bin/com/mst/rtra/importing/message/idl/parse/idlparser.java

由于文件路径有多长,我真的不知道如何在 SonarQube 的排除设置中编写此内容。另外,如果我想排除另一个文件,但来自不同的模块,比如说:

/home/username/workspace/com.mst.rtra.interpreter.create/

我很困惑我应该在项目设置的排除框中写下这个。由于这个项目的多模块性质,我应该写绝对文件路径吗?还是使用了其他约定?

此外,如果我想从分析中排除生成的文件,我需要输入file:<strong>/generated-sources/</strong>,正如我在另一个答案中看到的那样。但是,经过分析,当我在 SonarQube 仪表板中打开项目时,我仍然可以查看这些文件的分析结果。

【问题讨论】:

    标签: maven sonarqube


    【解决方案1】:

    我们使用 ant 而不是 maven,以及旧版本的 Sonar ant 任务。但是对我们有用的是在我们的 build.xml 中设置 sonar.exclusions 属性,它接受文件名的通配符。例如:

    <property name="sonar.exclusions" value="**/com/ex/wsdl/asvc/*.java,**/com/ex/wsdl/bsvc/*.java"/>
    

    这将跳过分析从两个服务的 wsdl 文件生成的所有代码。你应该能够为 maven 做类似的事情。

    【讨论】:

      猜你喜欢
      • 2016-11-29
      • 2011-12-08
      • 2010-09-09
      • 1970-01-01
      • 2016-07-02
      • 2017-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多