2016-07-13 45 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 
---------------- 
..... 
相关问题