gpt4 book ai didi

gradle - Gradle JacocoReport任务触发令人困惑的异常

转载 作者:行者123 更新时间:2023-12-03 06:06:52 24 4
gpt4 key购买 nike

我正在尝试在非标准的多项目Gradle设置中生成合并的Jacoco测试覆盖率报告。在下面的gradle代码中,有2个任务。第一个jacocoMerge现在可以工作了(经过很多努力之后),并在正确的位置生成了Combined.exec文件。根据日志跟踪,第二个任务jacocoMergedReport似乎没有错误,但没有执行任何操作,跟踪执行后不久,跟踪中就有一个空指针异常。

这是gradle片段:

afterEvaluate {
task jacocoMerge(type: JacocoMerge) {
executionData testTasks
destinationFile = file("$buildDir/../reports/combined.exec")
executionData = files(executionData.findAll({ it.exists() }))
jacocoClasspath = cp

}

task jacocoMergedReport(type: org.gradle.testing.jacoco.tasks.JacocoReport, dependsOn: 'jacocoMerge') {
jacocoClasspath = cp
executionData = files("$buildDir/../reports/combined.exec")
sourceDirectories = files(subprojects.findAll { isActualProject(it) }.sourceSets.main.allSource.srcDirs).filter({it.exists()})
classDirectories = files(subprojects.findAll { isActualProject(it) }.sourceSets.main.output).filter({it.exists()})

reports {
html.enabled = true
xml.enabled = true
csv.enabled = true
}
executionData.each {println it}
}
}

我已经使用 println语句验证了输入和gradle版本(2.14-从通过Eclipse启动的包装程序运行),对我来说一切都很好。

但是,除了空指针Exception以外,它什么也不会产生:
java.lang.NullPointerException at org.gradle.api.internal.project.taskfactory.OutputDirectoryPropertyAnnotationHandler$1.validate(OutputDirectoryPropertyAnnotationHandler.java:49)

in this pastebin file提供了错误之前的有关jacocoMergedReport任务的完整堆栈跟踪和令人鼓舞的生命周期消息。

我看着 source code on github for this class,但是奇怪的是,行号和方法名似乎比2.14的gradle的 an earlier version相对应。

那么是什么导致了此错误,其次,为什么gradle告诉我其版本为2.14,但是堆栈跟踪似乎与早期版本中的代码相对应,而不与2.14构建时间之前最后提交的内容相对应(2016-06 -14 07:16:37 UTC,根据我的构建日志)?

最佳答案

除了有关gradle版本的问题之外,我已经解决了该问题。由于某种原因,报告目标目录未设置为默认值,因此我可以通过如下调整报告来使其工作:

reports {
html.enabled = true
xml.enabled = true
csv.enabled = true
}

getReports().getXml().setDestination(file("$buildDir/../reports/jacoco/merged.xml"))
getReports().getCsv().setDestination(file("$buildDir/../reports/jacoco/merged.csv"))
getReports().getHtml().setDestination(file("$buildDir/../reports/jacoco/html"))

关于gradle - Gradle JacocoReport任务触发令人困惑的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38328319/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com