若是咱們運行Gradle構建而且其中一項任務失敗,則整個構建將當即中止。所以,咱們能夠快速反饋構建狀態。若是咱們不想這樣作,而且但願Gradle執行全部任務,即便某些任務可能失敗了,咱們也可使用命令行選項--continue
。當咱們使用--continue
命令行選項時,Gradle將執行從屬任務沒有失敗的全部任務。這在多模塊項目中也頗有用,即便在某些項目中測試可能失敗,咱們也可能但願構建全部項目,所以咱們能夠全面瞭解全部模塊的失敗測試。java
在下面的Gradle構建文件中,咱們有兩個任務。任務failTask拋出TaskExecutionException故意使任務失敗。該successTask不會失敗:編程
task failTask << { task -> println "Running ${task.name}" throw new TaskExecutionException( task, new Exception('Fail task on purpose')) } task successTask << { println "Running ${it.name}" }
讓咱們從命令行運行這兩個任務並查看輸出:框架
$ gradle failTask successTask :failTask Running failTask :failTask FAILED FAILURE: Build failed with an exception. * Where: Build file '/Users/mrhaki/samples/gradle/continue/build.gradle' line: 4 * What went wrong: Execution failed for task ':failTask'. > Fail task on purpose * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. BUILD FAILED Total time: 4.148 secs $
咱們看到構建失敗,僅failTask執行任務。如今咱們運行相同的兩個任務,可是咱們使用命令行選項--continue
:性能
$ gradle --continue failTask successTask :failTask Running failTask :failTask FAILED :successTask Running successTask FAILURE: Build failed with an exception. * Where: Build file '/Users/mrhaki/samples/gradle/continue/build.gradle' line: 4 * What went wrong: Execution failed for task ':failTask'. > Fail task on purpose * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. BUILD FAILED Total time: 6.918 secs $
此次,successTask即便failTask再次失敗,也會執行。Gradle將跟蹤全部失敗的任務,並顯示全部失敗任務的摘要。測試