nuh*_*oca 8 android gradle multi-module jacoco sonarqube
几天来我一直在寻找一种解决方案,用于合并Jacoco
多模块 Android 项目的多个报告,以便Sonarcloud
立即将它们发送出去。我已经检查了大量的 Stackoverflow 帖子和其他内容,例如博客、Github 存储库、Gradle 论坛等,但不幸的是没有一个解决方案适合我。
如果这里有人与我分享示例项目或代码片段,我将非常感激。
Gradle version: 7.0.2
Kotlin version: 1.5.21
JDK: 11
Run Code Online (Sandbox Code Playgroud)
下面的代码片段也不适合我
/**
* Root task that generates an aggregated Jacoco test coverage report for all sub-projects
*/
task jacocoFullReport(type: JacocoReport, group: 'Coverage reports') {
group = 'Reporting'
description = 'Generates an aggregate report from all subprojects'
tasks.withType(Test) {
ignoreFailures true
}
def projects = subprojects
//noinspection GrUnresolvedAccess
dependsOn(projects.jacocoReport)
final source = files(projects.jacocoReport.sourceDirectories)
additionalSourceDirs.setFrom source
sourceDirectories.setFrom source
classDirectories.setFrom files(projects.jacocoReport.classDirectories)
executionData.setFrom files(projects.jacocoReport.executionData)
reports {
html {
enabled true
destination file('build/reports/jacoco/html')
}
csv {
enabled true
destination file('build/reports/jacoco/jacocoFullReport.csv')
}
}
doFirst {
//noinspection GroovyAssignabilityCheck
executionData.setFrom files(executionData.findAll { it.exists() })
}
}
Run Code Online (Sandbox Code Playgroud)
这里的工作示例如何创建聚合的 jacoco 报告: https://github.com/SurpSG/jacoco-gradle-plugin-merge-coverage
task jacocoRootReport(type: JacocoReport, group: 'Coverage reports') {
description = 'Generates an aggregate report from all subprojects'
dependsOn(subprojects.test)
additionalSourceDirs.from = files(subprojects.sourceSets.main.allSource.srcDirs)
sourceDirectories.from = files(subprojects.sourceSets.main.allSource.srcDirs)
classDirectories.from = files(subprojects.sourceSets.main.output)
executionData.from = files(subprojects.jacocoTestReport.executionData)
reports {
html.enabled true
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7841 次 |
最近记录: |