Gradle Run任务即使构建失败

时间:2017-10-10 02:04:20

标签: gradle groovy

所以即使构建失败,我也会尝试在Gradle中向控制台打印一些东西。我怎么能这样做?

我找到了build.finalizedBy(taskName),但只有在构建正常完成时才会运行。

2 个答案:

答案 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的生命周期监听器。你可以使用