У меня есть многомодульный проект Gradle. В этот проект я включил и клевер, и сонаркуб. Когда я запускаю анализ sonarqube без интеграции клевера, я получаю покрытие должным образом, но когда я интегрирую клевер также в проект, я получаю сообщение об ошибке Следующие классы не соответствуют данным выполнения. И охват составляет 0.
Ниже приведена моя интеграция sonarqube и Clover.
apply plugin: 'org.sonarqube'-
apply plugin: 'jacoco'
apply plugin: 'com.bmuschko.clover'
def allTestCoverageFile = "${rootProject.projectDir}/target/jacoco/allTestCoverage.exec"
task jacocoMerge(type: JacocoMerge, group: 'verification') {
destinationFile = file(allTestCoverageFile)
executionData = project.fileTree(dir: '.', include:'**/build/jacoco/test.exec')
}
jacoco {
toolVersion = "0.8.3"
}
sonarqube {
properties {
property "sonar.jacoco.reportPaths", allTestCoverageFile
property "sonar.working.directory", "${rootProject.projectDir}/target/sonar"
}
}
buildscript {
dependencies {
classpath("com.google.protobuf:protobuf-gradle-plugin:0.8.6")
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath ("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7.1")
classpath ("com.bmuschko:gradle-clover-plugin:2.2.3")
}
}
dependencies {
clover 'org.openclover:clover:4.2.0'
}
clover {
// Although Clover is now open source the plugin
// still expects to find the license file.
// Any file will work.
licenseLocation = File.createTempFile('clover', '.license').absolutePath
includes=['*/*.java']
//Enabling both html and xml report
report {
html = true
xml = true
}
}
subprojects {
apply plugin: 'java'
apply plugin: 'jacoco'
apply plugin: 'com.bmuschko.clover'
sonarqube {
properties {
property "sonar.jacoco.reportPaths", allTestCoverageFile
}
}
test.finalizedBy(jacocoMerge)
dependencies {
clover 'org.openclover:clover:4.2.0'
}
}
Я предполагаю, что интеграция Clover также выполняет модульные тесты по умолчанию, которые перезаписывают файлы классов,Как мне выполнить анализ сонаркуба и клевера, с правильными данными покрытия для сонаркуба.