gradle這個文檔說,我在我的build.gradle文件中聲明任務的方法應該是gradle這個任務定義語法
task greeting(type: GreetingTask) {
greeting = 'greetings from GreetingTask'
}
任何人可以向我解釋這裏發生的事情在常規語法方面? 我知道{}
塊是封閉,它可以作爲一個參數的函數傳遞,但我還是不明白這裏發生了什麼
gradle這個文檔說,我在我的build.gradle文件中聲明任務的方法應該是gradle這個任務定義語法
task greeting(type: GreetingTask) {
greeting = 'greetings from GreetingTask'
}
任何人可以向我解釋這裏發生的事情在常規語法方面? 我知道{}
塊是封閉,它可以作爲一個參數的函數傳遞,但我還是不明白這裏發生了什麼
的task
關鍵字是gradle這個特定的東西。這不是標準的groovy,而是通過使用AST轉換的gradle添加的,以使DSL更簡單。它基本上相當於
project.tasks.create([name: 'greeting', type: GreetingTask]) { ... }
見https://discuss.gradle.org/t/how-to-translate-task-keyword-in-dsl-into-groovy-call/7243
閉包在函數調用之後是什麼意思?@JB Nizet – Ilia
這是標準的groovy語法。這相當於將封閉作爲最後一個參數。 –
[瞭解常規語法在gradle這個任務定義]的可能的複製(https://stackoverflow.com/questions/27584463/understanding-the-groovy-syntax -in-a-gradle-task-definition) – tkruse