2016-07-14 58 views
0

這兩個任務有什麼區別。 ./gradlew任務的輸出中僅顯示其定義中的< <任務。上述<<在gradle任務定義中是什麼意思

task greet(type: GreetingToFileTask) { 
    destination = { project.greetingFile } 
} 

task sayGreeting(dependsOn: greet) << { 
    println file(greetingFile).text 
} 

的線是從文檔的gradle Here

回答

1

<<是捷徑一個任務定義的toLast配置項。即下面兩個聲明是等效的:

task hello << { 
    println 'Hello world!' 
} 

和:

task hello { 
    doLast { 
     println 'Hello world!' 
    } 
} 

(例如從搖籃文檔here截取)。

現在,在第一個代碼片段中,您只需定義一個任務並配置它的destination屬性。但是,只有在需要時纔會執行該任務。

在第二代碼段,但是,實際上是定義將總是在配置階段執行的動作,而不管針對執行的任務(從here引用):

甲任務既有配置又有操作。當使用< <時,您只需使用快捷鍵來定義動作就可以使用 。不管目標的任務是什麼,任務 配置部分中定義的代碼將在構建的 配置階段執行。