Мой последний файл сборки с изменениями, готовящимися к обновлению до Gradle 6, находится здесь (хотя эта версия также не работает) ...
https://github.com/deanhiller/webpieces/blob/fixJacoco/build.gradle
Выше я называю его jacocoMergeReport (и все отчет о слиянии должен делать, это отчеты о слиянии, поэтому его нельзя пропустить, если есть тесты ZERO, поскольку к моменту его запуска тест всегда равен нулю). Старый обходной путь, найденный в этой сущности, больше не работает https://gist.github.com/aalmiray/e6f54aa4b3803be0bcac
Моя старая задача, которая работала в Gradle 5.3 (но это не работает в Gradle 5.6) ..
task jacocoTestReport(type: org.gradle.testing.jacoco.tasks.JacocoReport) {
dependsOn = subprojects.test
additionalSourceDirs = files(subprojects.sourceSets.main.allSource.srcDirs)
sourceDirectories = files(subprojects.sourceSets.main.allSource.srcDirs)
classDirectories = files(subprojects.sourceSets.main.output)
executionData = files(subprojects.jacocoTestReport.executionData)
reports {
html.enabled = true
xml.enabled = true
csv.enabled = false
}
onlyIf = {
true
}
doFirst {
executionData = files(executionData.findAll {
it.exists()
})
}
}
jacoco теперь выдает ошибку
Unable to read execution data file /Users/dean/workspace/webpieces/core/output/jacoco/test.exec
Кажется, что раздел doFirst больше не работает, хотя он работал в 5.3.1. Как нам исправить эту проблему, чтобы работать в 5.6 Gradle, хотя? А еще лучше, как нам заставить его работать совместимым с Gradle 6 способом (ie. Близко к более новому файлу build.gradle, на который я ссылался выше).
ПРИМЕЧАНИЕ. Файл build.gradle, на который я ссылаюсь выше Находится в ветке fixJacoco, поэтому, если вы клонируете проект, вам нужно извлечь fixJacoco и запустить сборку ./gradlew и проверить результаты на webpieces / output / jacoco, и самое дальнее, что я получил, - это создание отчета, в котором все 0 строк были покрыты объединенный отчет (в то время как в каждом проекте jacoco показаны закрытые строки).
спасибо, Дин