如何仅在gradle中列出主项目的所有任务?

时间:2016-07-13 22:49:00

标签: gradle

很久以前我问过这个问题....

enter image description here

并注释了我现在所做的事情,因为我的项目已经发展到了一个非常重要的任务计数。然后,我可以列出某个项目的所有任务,例如

./gradlew tasks --all

这给了我一个很好的任务列表和JUST项目的依赖关系。然而,我的主根项目没有我子项目中的许多插件,因为它不需要它们,但我仍然需要了解它的任务列表。我知道我可以做到这一点

./gradlew :master:tasks --all

但打印世界。我似乎无法做到这一点

./gradlew :webpieces:tasks --all

也不是这个

{{1}}

其中webpieces是我的项目...... Is there a way to list task dependencies in Gradle?

有没有办法列出所有根项目任务,以便我可以清楚地了解我的根项目?

感谢, 迪安

2 个答案:

答案 0 :(得分:4)

尝试此命令

$ ./gradlew -q :tasks --all

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

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

Build Type tasks
----------------
.....

答案 1 :(得分:1)

好吧,我找到了一种“轻微”的解决方法,这种方法很有效。我添加了这段代码

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

然而他们所依赖的一些东西是“fileCollection”,当它打印时它“半”起作用。我不确定这些fileCollection在依赖列表中是什么......这有点奇怪。

编辑:oops,一个关闭,所以我看不出它实际取决于什么

: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_eiigg76myo3wuvq219kdx5rxk$_run_closure7@5c1c5fde, file collection]