2016-07-13 81 views
2

我問這個問題在很久以前....如何僅在gradle中列出主項目的所有任務?

Is there a way to list task dependencies in Gradle?

並註明我做什麼這些天,因爲我的項目已經成長爲一個unweildy任務數。然後,我可以列出某個項目的所有任務,如

./gradlew :core:core-channelmanager2:asynch-server:tasks --all 

這給我一個很好的任務列表和JUST項目的依賴關係。然而,我的主根項目沒有很多我的子項目所具有的插件,因爲它不需要它們,但我仍然需要了解它的任務列表。我知道我可以做到這一點

./gradlew tasks --all 

但是,打印世界。我似乎無法做到這一點

./gradlew :master:tasks --all 

也不是這

./gradlew :webpieces:tasks --all 

其中webpieces是我的項目在這裏... https://github.com/deanhiller/webpieces/blob/master/build.gradle

有沒有辦法列出所有根項目任務,使我可以清楚地瞭解我的根項目?

感謝, 院長

回答

0

好吧,我發現了一個「輕微」的解決辦法那種作品。我加入這個代碼

task printTasks << { 
    project.tasks.collect { task -> println("task="+task+" dependsOn="+task.dependsOn) } 
} 

但後來一些它們所依賴的東西都是「fileCollection」時,它打印所以「半壁江山」的作品。我不確定這些fileCollection事物在依賴項列表中是什麼......這有點奇怪。

編輯:哎呀,縫補的封閉,所以我不能看到它實際上取決於

:printTasks 
task=task ':closeAndPromoteRepository' dependsOn=[task ':promoteRepository', file collection, task ':closeRepository'] 
task=task ':closeRepository' dependsOn=[file collection, uploadArchives2] 
task=task ':getStagingProfile' dependsOn=[file collection] 
task=task ':printTasks' dependsOn=[file collection] 
task=task ':promoteRepository' dependsOn=[file collection, closeRepository] 
task=task ':release' dependsOn=[file collection, :webserver:githubRelease] 
task=task ':taskTree' dependsOn=[file collection] 
task=task ':uploadArchives2' dependsOn=[build_eiigg76myo3wuv[email protected], file collection] 
1

試試這個命令

$ ./gradlew -q :tasks --all 

------------------------------------------------------------ 
All tasks runnable from root project 
------------------------------------------------------------ 

Build Setup tasks 
----------------- 
init - Initializes a new Gradle build. [incubating] 

Build Type tasks 
---------------- 
..... 
相關問題