2012-05-02 133 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 
相關問題