我正在使用的代码库有很多生成的代码。此外,还有一些我不想从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:/generated-sources/
放在另一个答案中。但是,经过分析,我在SonarQube仪表板中打开项目时仍然可以查看这些文件的分析结果。
答案 0 :(得分:5)
我们使用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做类似的事情。