所以即使构建失败,我也会尝试在Gradle中向控制台打印一些东西。我怎么能这样做?
我找到了build.finalizedBy(taskName)
,但只有在构建正常完成时才会运行。
答案 0 :(得分:0)
您可以使用gradle.buildFinished
或终结器任务(如您所述)。
在您的示例中,build.finalizedBy(taskName)
只会在执行taskName
任务时执行build
。如果在build
任务执行之前构建失败,则taskName
将无法执行。
gradle.buildFinished { result ->
if (result.failure) {
logger.lifecycle("build failed")
} else {
logger.lifecycle("build successful")
}
}
答案 1 :(得分:0)
通过在Gradle调用上使用--continue
参数,可以让任何构建继续执行任务失败。如果您不想一直输入此参数,则可以在settings.gradle
中使用以下代码:
startParameter.continueOnFailure = true
请注意,由于较早的任务失败,其他任务可能会失败。使用此选项,将执行通过finalizedBy
连接的任务,但只有在任务相关时才应使用此选项,即使对于非故障情况也是如此。
当然,您也可以使用Gradle
对象或其TaskExecutionGraph
的生命周期监听器。你可以使用
afterTask
TaskExecutionListener
实施buildFinished
(整个版本)