强制执行taskReport构建失败?

时间:2013-02-04 20:19:51

标签: gradle

Gradle 1.4有新的测试报告聚合任务: http://www.gradle.org/docs/current/release-notes#stand-alone-test-report-task

task testReport(type: TestReport) {
    destinationDir = file("$buildDir/reports/all-tests")
    reportOn subprojects*.test
}

即使构建失败,有没有办法让这个任务运行?目前,如果我这样做:

taskReport.dependsOn test
build.dependsOn taskReport

仅在构建成功时执行。

1 个答案:

答案 0 :(得分:2)

好消息:Gradle的任务模型即将推出的增强功能,目前计划用于Gradle 1.6,将解决此类和类似用例。

与此同时,可能性有限。一种选择是与--continue一起运行,尽管这也将继续其他任务。另一个可能的选择是注册org.gradle.api.execution.TaskExecutionListener(通过gradle.project.addListener())并在testReport.generateReport()任务失败后调用Test。尽管不鼓励直接调用任务(并且通常不会产生预期的行为),但在这种特殊情况下,它可能会作为临时解决方法。