2017-05-30 3 views
1

Ich habe eine Gradle Multi-Projekt-Build mit einem Master-Verzeichnis, wo gemeinsame Definitionen und einige Projekte, die in settings.gradle via include Anweisungen definiert sind.So drucken Sie alle Abhängigkeiten in einem Gradle-Multiprojekt Build

Gebäude, Prüfung, runnings alles funktioniert gut, aber Abhängigkeiten via Aufgabe zeigt dependencies nicht funktioniert, es druckt nur:

$ g dependencies 
master 
:dependencies 

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

No configurations 

BUILD SUCCESSFUL 

Doing gradle :project1:dependencies im Master-Verzeichnis wie erwartet funktioniert.

Wie kann ich Gradle dazu bringen, den gesamten Abhängigkeitsbaum einschließlich aller Bibliotheken von Drittanbietern für alle enthaltenen Projekte auszudrucken?

Antwort

1

Ich kenne keine integrierten Aufgaben dafür. Vielleicht möchten Sie eine benutzerdefinierte Aufgabe machen, wie diese:

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) 
     } 
    } 
} 
} 

Ausgabe von meinem Projekt:

 
: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

danke für den Vorschlag, aber leider enthält das nicht die transitiven Abhängigkeiten, aber normalerweise versuche ich ein Problem zu finden, wo transitive Abhängigkeiten in Sachen ziehen, die ich nicht haben will ... – centic

1

Was ist nächste Aufgabe, wo wir eine eigene Aufgabe erstellen und anwenden können es für alle Projekte und machen es abhängig von dependencies Aufgabe. Hier ein Beispiel:

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

Dann können wir ./gradlew printDependencies verwenden, um alle Abhängigkeiten von allen Modulen zu drucken.

+0

Das hat gut funktioniert, danke! – centic

Verwandte Themen