我们使用SonarQube来分析具有多个源文件夹的Eclipse插件 - 一个用于手动编写代码,另一个用于生成不同类型的代码。最近,我们注意到并非所有源代码都被分析,尽管我们没有找到排除规则。详细分析显示,名为src-gen的源文件夹中的所有代码都被忽略,而所有其他代码都存在。
E.g。在project named org.eclipse.incquery.patternlanguage的情况下,我们有三个源文件夹, src , src-gen 和 xtend-gen ,但我们的构建执行Sonar(并在后台使用Eclipse Tycho)仅在源路径元素中报告 src 和 xtend-gen 文件夹。
[INFO] ------------- Scan org.eclipse.incquery.patternlanguage
[INFO] Load module settings
[INFO] Base dir: /home/jenkins/workspace/EMF-IncQueryv2-NightlyAnalysis/core/plugins/org.eclipse.incquery.patternlanguage
[INFO] Working dir: /home/jenkins/workspace/EMF-IncQueryv2-NightlyAnalysis/core/plugins/org.eclipse.incquery.patternlanguage/target/sonar
[INFO] Source paths: pom.xml, src, xtend-gen
我们在其他项目中也发现了类似的情况:只有名为 src-gen 的源文件夹才会被忽略,其他所有文件都会被正确分析。我的问题是如何告诉SonarQube分析 src-gen 文件夹?
答案 0 :(得分:2)
我们倾向于认为不应该分析生成的代码。这就是为什么在Eclipse中我们排除标记为'衍生的'的文件夹。您仍然可以通过在SonarQube / SonarLint项目设置中设置属性sonar.sources = pom.xml,src,src-gen,xtend-gen来手动配置此项目的分析。
在SonarQube论坛上继续讨论,最后是corresponding bug was found