因此,我試圖在Gradle中向控制檯輸出一些內容,即使構建失敗。我怎樣才能做到這一點?即使構建失敗,Gradle運行任務
我發現build.finalizedBy(taskName)
但只有在構建正常完成時纔會運行。
因此,我試圖在Gradle中向控制檯輸出一些內容,即使構建失敗。我怎樣才能做到這一點?即使構建失敗,Gradle運行任務
我發現build.finalizedBy(taskName)
但只有在構建正常完成時纔會運行。
您可以使用gradle.buildFinished
或終結器任務(如您所述)。
在您的示例中,如果build
任務執行,build.finalizedBy(taskName)
將僅執行taskName
。如果在執行build
任務之前構建失敗,則不會執行taskName
。
例如,這將根據構建的結果的消息:
gradle.buildFinished { result ->
if (result.failure) {
logger.lifecycle("build failed")
} else {
logger.lifecycle("build successful")
}
}
你可以讓任何構建通過使用搖籃調用的參數--continue
在任務失敗繼續。如果您不想鍵入此參數的所有時間,你可以在你的settings.gradle
使用下面的代碼:
startParameter.continueOnFailure = true
請注意,其他任務可能會失敗,因爲失敗的早期任務。使用此選項,將執行通過finalizedBy
連接的任務,但如果任務是相關的,則只應使用此選項,即使對於非故障情況也是如此。
當然,您還可以使用Gradle
對象或其TaskExecutionGraph
的生命週期偵聽器。您可以使用
afterTask
TaskExecutionListener
實施buildFinished
(對於整個編譯)