2014-02-17 39 views
1

我想鉤入compileJava目標,並在失敗時吐出額外的自定義消息。我們已經有了一個非常常見的情況下設置的情況下,很多人的忽視,它會是有用的,只有失敗,才能夠像做:Gradle:任務失敗時的自定義消息?

compileJava.onFailure { 
    println "Did you configure your wampfrankle to talk to the slackometer?" 
} 

我的谷歌技能還沒有導致一個答案。

回答

4

錯誤是依賴性錯誤,Rene指出需要在構建執行後檢測,而不是在項目評估完成後才能檢測到。

這裏我添加了一個調用buildFinished的閉包,它檢測是否發生故障並打印出錯誤消息。

project.gradle.buildFinished { buildResult -> 
    if (buildResult.getFailure() != null) { 
    println "Did you configure your wampfrankle to talk to the slackometer?" 
    } 
} 

爲了驗證這一點,我強制解決依賴失敗這個虛假的依賴:

dependencies { 
    compile 'foo:bar:baz' 
} 
+0

不幸的是,故障是在這種情況下,「空」。失敗實際上是無法解決依賴關係,所以也許這就是原因。但是,我還沒有想出如何掛鉤到依賴解析成功/失敗。 –

+0

建立項目後未觸發afterProject。你可能想檢查project.gradle.buildFinished。這個鉤子在構建完成時調用,你可以檢查任務的狀態來收集其他信息 –

+1

啊我明白了。您可以提出並回答,或者我將在測試完成後更正此答案。 – ditkin

相關問題