从TeamCity 10中的多个Gradle构建步骤收集和聚合jacoco结果

我有以下设置:

我有一个monorepo,里面有多个独立的基于Gradle的版本。 我为repo中的每个项目添加了一个构建步骤,使用每个子目录作为该构建的工作目录。 我使用TC的jacoco增强器来生成每个项目的junit4测试运行报告。

目前发生了什么:

只保留最后一个构建步骤的报告,并将其作为构建概览中显示的那个。 我可以在日志中看到,所有的jacoco报告都按预期生成。

我想达到以下目的:

我希望将所有报告汇总并视为构建的总体覆盖面。

任何帮助真的很感激!

我找到了自己的解决方案。 我是这样做的:

  • 从任何构建步骤中删除所有jacoco选项
  • 将gradle jacoco插件添加到要为其生成范围的每个项目
  • 在构建的最后添加一个命令行构建步骤,并用下面的语句填充它

请注意,我在我的项目中使用了Kotlin,请相应地调整您的源代码路径!

echo "##teamcity[jacocoReport dataPath='%teamcity.build.workingDir%/project1/build/jacoco/test.exec %teamcity.build.workingDir%/project2/build/jacoco/test.exec %teamcity.build.workingDir%/project3/build/jacoco/test.exec' includes='trivago.* sps.*' excludes='*Test *Fixture *Proto *Outer' sources='%teamcity.build.workingDir%/project1/src/main/kotlin %teamcity.build.workingDir%/project2/src/main/kotlin %teamcity.build.workingDir%/3/src/main/kotlin']"