我试图解决的具体问题是,集成测试没有出现在服务器上。
此外,这里给出的示例代码似乎是错误的:SonarQube:分析自定义源集
具体来说,这个代码示例:
sonarqube {
properties {
properties["sonar.sources"] += sourceSets.custom.allSource.srcDirs
properties["sonar.tests"] += sourceSets.integTest.allSource.srcDirs
}
}与此一起运行将导致:
Invalid value of sonar.tests for... 这到底应该是什么?基于我正在阅读的另一个论坛,这应该是一个逗号分隔目录的列表。所以我试着:
sonarqube {
properties {
properties["sonar.tests"] += sourceSets.integrationTest
.allSource.srcDirs.join(",")
}
}...same误差请注意,ingegrationTest对我们的构建是正确的。
发布于 2016-05-11 19:41:00
以下代码起作用:
sonarqube {
properties {
properties["sonar.tests"] += sourceSets.integrationTest.allSource.srcDirs.findAll({it.exists()})
if (file("$project.buildDir/jacoco/test.exec").exists())
property "sonar.jacoco.reportPath", "$project.buildDir/jacoco/test.exec"
if (file("$project.buildDir/jacoco/integrationTest.exec").exists())
property "sonar.jacoco.itReportPath", "$project.buildDir/jacoco/integrationTest.exec"
}
}为了避免使用subProjects,我将其导入到每个需要它的项目中。根据Gradle文档,使用subProjects和/或allProjects会导致耦合,从而对并行性产生负面影响。如果进口更好的话,我希望如此。
https://stackoverflow.com/questions/37038136
复制相似问题