因此,我正在嘗試將所有gradle任務列表寫入文件。我當然可以使用tasks
這個命令,但是我希望每次調用任何其他 gradle命令時將它緩存到文件中。因此,無論何時我運行./gradlew build
例如,我都希望將可用任務寫入文件。從構建腳本獲取所有Gradle任務的列表
這似乎很簡單,我寫了下面的任務,嘗試一下:
task cacheTasks() {
doLast {
allprojects { p ->
p.tasks*.each { t ->
println(p.name + ":" + t.name)
}
}
}
}
的問題是,我只能得到一個子集的所有可用的任務。當我運行./gradlew tasks --all
命令時,會打印更多內容。似乎沒有一個內置的任務(如build
,clean
或help
)是在tasks*
列表,當我在它循環,但奇怪的是我可以直接引用他們:
tasks.build { t ->
println("DEBUG:" + t.name)
}
如此看來簡單,但我一直在尋找解決方案。我甚至嘗試在gradle源代碼中查看tasks
任務是如何工作的,但我無法找到任何線索,爲什麼這不起作用。
'tasks.build'創建一個新任務的好處。我忘了會發生。但是,這並沒有回答我如何獲得所有任務列表的問題...... – meonlol