定位 tasks

2018-07-01 16:11 更新

你經(jīng)常需要在構(gòu)建文件里找到你定義的 tasks, 舉個例子, 為了配置它們或者使用它們作為依賴. 有許多種方式都可以來實現(xiàn)定位. 首先, 每一個任務(wù)都必須是一個 project 的有效屬性, 并使用任務(wù)名來作為屬性名:

例子 15.4. 通過屬性獲取 tasks

build.gradle

task hello

println hello.name
println project.hello.name

Tasks 也可以通過 tasks collection 來得到.

例子 15.5. 通過 tasks collection 獲取 tasks

build.gradle

task hello

println tasks.hello.name
println tasks['hello'].name

你也可以使用 tasks.getByPath() 方法通過任務(wù)的路徑來使用任何 project 里的任務(wù). 你可以通過使用任務(wù)的名字, 任務(wù)的相對路徑或者絕對路徑作為 getByPath() 方法的輸入.

例子 15.6. 通過路徑獲取 tasks

build.gradle

project(':projectA') {
    task hello
}

task hello

println tasks.getByPath('hello').path
println tasks.getByPath(':hello').path
println tasks.getByPath('projectA:hello').path
println tasks.getByPath(':projectA:hello').path

gradle -q hello 的輸出

> gradle -q hello
:hello
:hello
:projectA:hello
:projectA:hello

參考 TaskContainer 可以知道跟多關(guān)于定位 tasks 的選項.


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號