有没有办法在Gradle中列出任务依赖关系?
./gradle tasks
列出“一些”任务。 看看http://gradle.org/docs/current/userguide/java_plugin.html有没有列出隐藏的。 另外,其他插件不会有任务之间依赖关系的漂亮graphics。
有没有办法
- 用gradle列出所有插件中的所有任务
- 列出任务和他们依赖的任务(有点像Maven的依赖
depenceny:tree
但是任务)
您可以使用–all标志来获取可用任务和任务依赖关系的更详细列表
gradle tasks --all
gradle –简洁的构build
完成后,转到构build/报告/configuration文件文件夹并浏览.html文件。 你会看到依赖关系的解决scheme和其他信息与时间,它在一个不错的HTML页面。
你可以用简单的用法来试试com.dorongold.task-tree插件:
gradle <task 1>...<task N> taskTree
列出任务和他们依赖的任务(有点像Maven的依赖:树,但是任务)
为此,您可以使用--dry-run
(或-m
)选项列出为特定命令执行的任务,但不执行命令,例如
gradle assemble --dry-run
你可以在这里find更多
您可以通过编程访问任务图,以使用Gradle.getTaskGraph()在构build脚本中检查它
随着您的多项目增长,我标记为正确的解决scheme会变得有点不自然,难以阅读
gradle tasks --all
相反,我已经转移到了一个特定的项目,使其更容易
gradlew :full-httpproxy:tasks --all
其中“full-httpproxy”是我的项目(和典型的目录)的名称。
然而,我很好奇如何列出master / root项目上的任务,并且还有一个突出的问题
如何仅在gradle中列出主项目的所有任务?
因为现在这样做似乎不可能。
你可以坚持到你的build.gradle
:
gradle.taskGraph.whenReady {taskGraph -> println "Found task graph: " + taskGraph println "Found " + taskGraph.allTasks.size() + " tasks." taskGraph.allTasks.forEach { task -> println task task.dependsOn.forEach { dep -> println " - " + dep } } }
然后用gradle运行你的任务:
./gradlew build
你应该看到这个:
Found task graph: org.gradle.execution.taskgraph.DefaultTaskGraphExecuter@36eb780c Found 19 tasks. task ':compileJava' - task 'compileJava' input files task ':compileScala' - task 'compileScala' input files - compileJava task ':processResources' - task 'processResources' input files task ':classes' - org.gradle.api.internal.tasks.DefaultTaskDependency@287a7782 - task 'classes' input files - compileJava - dirs - compileScala - processResources task ':jar' - task 'jar' input files task ':assemble' - task 'assemble' input files - org.gradle.api.internal.artifacts.DefaultPublishArtifactSet$ArtifactsTaskDependency@5bad9616 task ':compileTestJava' - task 'compileTestJava' input files task ':compileTestScala' - task 'compileTestScala' input files - compileTestJava task ':processTestResources' - task 'processTestResources' input files task ':testClasses' - processTestResources - task 'testClasses' input files - compileTestScala - org.gradle.api.internal.tasks.DefaultTaskDependency@42c1fa08 - compileTestJava - dirs task ':compileIntegrationTestJava' - task 'compileIntegrationTestJava' input files task ':compileIntegrationTestScala' - task 'compileIntegrationTestScala' input files - compileIntegrationTestJava task ':processIntegrationTestResources' - task 'processIntegrationTestResources' input files task ':integrationTestClasses' - processIntegrationTestResources - compileIntegrationTestJava - org.gradle.api.internal.tasks.DefaultTaskDependency@7c8aa0fe - compileIntegrationTestScala - dirs - task 'integrationTestClasses' input files task ':composeUp' - task 'composeUp' input files task ':integrationTest' - task ':composeUp' - task 'integrationTest' input files task ':test' - task 'test' input files task ':check' - task 'check' input files - task ':test' - task ':integrationTest' task ':build' - task 'build' input files - check - assemble
- 如何使用Gradle构build工具在android studio中使用opencv?
- 在Jenkins中不能运行程序“gradle”
- 如何在IDEA中下载Gradle项目的依赖项源码?
- 在Android Gradle项目中复制APK文件
- 在Intellij IDEA 2016.1.1的控制台中显示Gradle输出
- 通过Eclipse错误运行Gradle项目“system can not find System Java Compiler”
- Gradle sourceCompatibility对子项目没有影响
- javax。*不能在我的Android应用程序中导入?
- 了解Gradle任务依赖关系(dependsOn)