2017-05-30 84 views
1

我有一個Gradle多項目構建,其中包含通用定義所在的主目錄以及一些通過include語句在settings.gradle中定義的項目。如何打印出Gradle多項目構建中的所有依賴關係

構建,測試,奔跑一切工作正常,但顯示通過任務dependencies依賴不起作用,只打印:

$ g dependencies 
master 
:dependencies 

------------------------------------------------------------ 
Root project 
------------------------------------------------------------ 

No configurations 

BUILD SUCCESSFUL 

gradle :project1:dependencies在主目錄按預期工作。

如何讓Gradle打印出包含所有項目的所有第三方庫的整個依賴關係樹?

回答

1

我不知道任何內置任務。您可能希望創建一個自定義任務,像這樣的:從我的項目

task ('showAll') { 
doLast { 
    allprojects.each { 
     println(it.name+':') 
     println('-compile:') 
     configurations.compile.each { 
      c -> 
      println(' '+c.name) 
     } 
     println '-testCompile:' 
     configurations.testCompile.each { 
      r-> 
      println(' '+ r.name) 
     } 
    } 
} 
} 

輸出:

 
:showAll 
Tools: 
-compile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
-testCompile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
    junit-4.11.jar 
    hamcrest-core-1.3.jar 
Accounting: 
-compile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
-testCompile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
    junit-4.11.jar 
    hamcrest-core-1.3.jar 
Jace: 
-compile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
-testCompile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
    junit-4.11.jar 
    hamcrest-core-1.3.jar 
Bash: 
-compile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
-testCompile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
    junit-4.11.jar 
    hamcrest-core-1.3.jar 
CSS: 
-compile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
-testCompile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
    junit-4.11.jar 
    hamcrest-core-1.3.jar 
FXCSS: 
-compile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
-testCompile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
    junit-4.11.jar 
    hamcrest-core-1.3.jar 
Gradle: 
-compile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
-testCompile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
    junit-4.11.jar 
    hamcrest-core-1.3.jar 
Groovy: 
-compile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
-testCompile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
    junit-4.11.jar 
    hamcrest-core-1.3.jar 
HTML: 
-compile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
-testCompile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
    junit-4.11.jar 
    hamcrest-core-1.3.jar 
Java: 
-compile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
-testCompile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
    junit-4.11.jar 
    hamcrest-core-1.3.jar 
Text: 
-compile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
-testCompile: 
    groovy-all-2.4.9.jar 
    commons-lang3-3.5.jar 
    commons-io-2.5.jar 
    commons-collections4-4.1.jar 
    jsoup-1.10.2.jar 
    junit-4.11.jar 
    hamcrest-core-1.3.jar 
+0

感謝您的建議,但不幸的是,它不包括傳遞依賴關係,但通常我試圖找到一個問題,即傳遞依賴關係在我不想要的東西中拖動... – centic

1

什麼下一個任務,在這裏我們可以創建一個自定義任務,並將其應用於所有項目並使其依賴於dependencies任務。這裏有一個例子:

allprojects { currProject -> 
    task printDependencies { 
     dependsOn 'dependencies' 
    } 
} 

然後我們可以使用./gradlew printDependencies從所有模塊打印的所有依賴關係。

+0

這很好用,謝謝! – centic

相關問題