2017-10-10 75 views
0

因此,我试图在Gradle中向控制台输出一些内容,即使构建失败。我怎样才能做到这一点?即使构建失败,Gradle运行任务

我发现build.finalizedBy(taskName)但只有在构建正常完成时才会运行。

回答

0

您可以使用gradle.buildFinished或终结器任务(如您所述)。

在您的示例中,如果build任务执行,build.finalizedBy(taskName)将仅执行taskName。如果在执行build任务之前构建失败,则不会执行taskName

例如,这将根据构建的结果的消息:

gradle.buildFinished { result -> 
    if (result.failure) { 
     logger.lifecycle("build failed") 
    } else { 
     logger.lifecycle("build successful") 
    } 
} 
0

你可以让任何构建通过使用摇篮调用的参数--continue在任务失败继续。如果您不想键入此参数的所有时间,你可以在你的settings.gradle使用下面的代码:

startParameter.continueOnFailure = true 

请注意,其他任务可能会失败,因为失败的早期任务。使用此选项,将执行通过finalizedBy连接的任务,但如果任务是相关的,则只应使用此选项,即使对于非故障情况也是如此。

当然,您还可以使用Gradle对象或其TaskExecutionGraph的生命周期侦听器。您可以使用

相关问题