为什么 SonarQube 实例会跳过名为 src-gen 的源文件夹?

Why does SonarQube instance skip source folders named src-gen?

我们使用 SonarQube 分析具有多个源文件夹的 Eclipse 插件——一个用于手动编写的代码,另一个用于不同类型的生成代码。最近,我们注意到并没有分析所有源代码,尽管我们没有发现排除规则。详细分析表明,名为 src-gen 的源文件夹中的所有代码都被忽略,所有其他的都存在。

例如对于 project named org.eclipse.incquery.patternlanguage,我们有三个源文件夹,srcsrc-genxtend-gen ,但我们执行 Sonar 的构建(并在后台使用 Eclipse Tycho)仅在源路径元素中报告 srcxtend-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 文件夹?

我们倾向于认为不应分析生成的代码。这就是为什么在 Eclipse 中我们排除标记为 'derived' 的文件夹。您仍然可以通过在 SonarQube / SonarLint 项目设置中设置 属性 sonar.sources = pom.xml,src,src-gen,xtend-gen 来手动配置此项目的分析。


这个讨论在 SonarQube 论坛上继续进行,最后 corresponding bug was found