2012-05-02 128 views

回答

88

您可以使用--all标志获取更详细的可用任务列表和任务依赖关系

gradle tasks --all 

编辑:正如Radim在注释中指出的那样,该命令不报告依赖关系,对于gradle 3.3和更新的版本。

+0

它似乎没有列出任何地方从网上下载依赖关系的任务?运行任务清晰的下载东西,但不知道依赖是在哪里......没有办法超载它? –

+2

下载资源的行为不绑定到专门的任务。 Gradle中的依赖项被添加到配置中。只要您(在您自己的任务实现中)或gradle(在其自己提供的任务中)引用此配置的文件,就会触发解析机制。 –

+33

这不会列出依赖关系,至少在Gradle 1.5或1.7中是这样。它是否曾经这样做过,还是这是一个不完整的答案? –

7

可以通过编程访问任务图使用Gradle.getTaskGraph()

+5

gradle.getTaskGraph()仅向您显示将在当前Gradle构建中执行的任务,并且此任务图只在执行阶段可用。 –

14

gradle这个--profile干净的构建

一旦完成,去建立/报告的构建脚本内检验/ profile文件夹并浏览.html文件。你会看到依赖关系解决方案和其他信息随着时间的推移在一个不错的HTML页面。

+7

该报告不包含有关任务之间的依赖关系的任何信息。它只是按顺序列出在构建期间执行的所有任务。 – rwitzel

2

由于多项目的增长,标志着我为正确解决方案的增长有点unweildy聱牙

gradle tasks --all 

相反,我有转移到查看特定项目使其更容易

gradlew :full-httpproxy:tasks --all 

其中'full-httpproxy'是我的项目(和典型的目录)的名称。

不过,我好奇如何列出在主/根项目任务,虽然这里有一个突出的问题,以及

How to list all tasks for the master project only in gradle?

因为这样做似乎并不可能现在。

16

名单,他们依靠什么任务的任务,(有点像Maven的 depenceny:树但任务)此

你可以使用--dry-run(或-m)选项,可以列出所有任务为了特定的命令执行,但不执行命令,例如

gradle assemble --dry-run 

你可以找到更多here

6

你能坚持到这个您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: [email protected] 
Found 19 tasks. 
task ':compileJava' 
    - task 'compileJava' input files 
task ':compileScala' 
    - task 'compileScala' input files 
    - compileJava 
task ':processResources' 
    - task 'processResources' input files 
task ':classes' 
    - [email protected] 
    - task 'classes' input files 
    - compileJava 
    - dirs 
    - compileScala 
    - processResources 
task ':jar' 
    - task 'jar' input files 
task ':assemble' 
    - task 'assemble' input files 
    - org.gradle.api.inter[email protected]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 
    - [email protected] 
    - 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 
    - [email protected] 
    - 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 
相关问题