version = '0.1.0-SNAPSHOT' task first(group: "test", description: "first task") { doLast { println "first" } } task second { doLast { println "second" } } task printVersion(dependsOn: [second, first], group: "test", description: "printVersion task") { doLast { logger.quiet "Version: $version" } }
- task 的屬性: group、description
gradle tasks --all
可以看到 first、printVersion 兩個 task 被放在同一組,也有加上 description 的說明,這樣可以方便非 gradle script 的編寫者了解 gradle script 中各個 task 的功用。
- 使用 dependsOn 定義 task 間的依賴關係
gradle printVersion
結果三個 task 都有執行,因為在 printVersion 中有個 dependsOn 屬性,指出在執行 printVersion 前要先執行 second 和 first,所以三個都執行了! 要特別注意的是,dependsOn 不保證 task 依賴的順序,就像 gradle script 中寫的是 [second, first],看似要先執行 second,實際上卻先執行 first。
- -q 即是 quiet
gradle -q printVersion
沒有留言:
張貼留言