国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

跳過 tasks

2018-07-01 16:19 更新

Gradle 提供了好幾種跳過一個任務的方式.

1. 使用判斷條件 (predicate)

你可以使用 onlyIf() 方法來為一個任務加入判斷條件. 就和 Java 里的 if 語句一樣, 任務只有在條件判斷為真時才會執(zhí)行. 你通過一個閉包來實現(xiàn)判斷條件. 閉包像變量一樣傳遞任務, 如果任務應該被執(zhí)行則返回真, 反之亦然. 判斷條件在任務執(zhí)行之前進行判斷.

例子 15.20. 使用判斷條件跳過一個任務

build.gradle

task hello << {
    println 'hello world'
}

hello.onlyIf { !project.hasProperty('skipHello') }

gradle hello -PskipHello 的輸出

> gradle hello -PskipHello
:hello SKIPPED
BUILD SUCCESSFUL

Total time: 1 secs

2. 使用 StopExecutionException

如果想要跳過一個任務的邏輯并不能被判斷條件通過表達式表達出來, 你可以使用 StopExecutionException. 如果這個異常是被一個任務要執(zhí)行的動作拋出的, 這個動作之后的執(zhí)行以及所有緊跟它的動作都會被跳過. 構建將會繼續(xù)執(zhí)行下一個任務.

例子 15.21. 通過 StopExecutionException 跳過任務

build.gradle

task compile << {
    println 'We are doing the compile.'
}

compile.doFirst {
    // Here you would put arbitrary conditions in real life.
    // But this is used in an integration test so we want defined behavior.
    if (true) { throw new StopExecutionException() }
}
task myTask(dependsOn: 'compile') << {
   println 'I am not affected'
}

gradle -q myTask 的輸出

> gradle -q myTask
I am not affected

如果你直接使用 Gradle 提供的任務, 這項功能還是十分有用的. 它允許你為內(nèi)建的任務加入條件來控制執(zhí)行. [6]

3. 激活和注銷 tasks

每一個任務都有一個已經(jīng)激活的標記(enabled flag), 這個標記一般默認為真. 將它設置為假, 那它的任何動作都不會被執(zhí)行.

例子 15.22. 激活和注銷 tasks

build.gradle

task disableMe << {
    println 'This should not be printed if the task is disabled.'
}
disableMe.enabled = false

gradle disableMe 的輸出

> gradle disableMe
:disableMe SKIPPED

BUILD SUCCESSFUL

Total time: 1 secs


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號