2016-07-01 4 views
2

Ich versuche etwas zu tun, was meiner Meinung nach relativ einfach sein sollte, aber nichts im Internet scheint mir zu geben, was ich bin nach.Ich versuche, den Gruppennamen und die Version meiner build.gradle-Abhängigkeiten in einer benutzerdefinierten Aufgabe zu erstellen

Grundsätzlich möchte ich die compile/testCompile-Abhängigkeiten von meinem build.gradle nehmen (ich will keine der Sub-Abhängigkeiten - nur wörtlich wie sie in der Datei sind), und für jeden möchte ich etwas tun mit dem Gruppennamen, Name und Version. Sagen wir einfach, ich möchte sie drucken.

So, hier ist mein build.gradle:

dependencies { 
    compile 'org.spring.framework.cloud:spring-cloud-example:1.0.6' 
    compile 'org.spring.framework.cloud:spring-cloud-other-example:1.1.6' 
    testCompile 'org.spring.framework.cloud:spring-cloud-example-test:3.1.2' 
} 

task printDependencies { 
    //some code in here to get results such as... 
    // org.spring.framework.cloud spring-cloud-other-example 1.1.6 
} 

alle Danke.

Antwort

2

Um alle Ihre Abhängigkeiten zu durchlaufen, können Sie sich über alle Konfigurationen und über alle Konfigurationsabhängigkeiten hinweg kümmern. Wie so:

task printDependencies { 
    project.configurations.each { conf -> 
     conf.dependencies.each { dep -> 
      println "${dep.group}:${dep.name}:${dep.version}" 
     } 
    } 
} 

Wenn Sie genau Abhängigkeiten Konfiguration benötigen, können Sie diese separat erhalten:

task printDependencies { 
    project.configurations.getByName('compile') { conf -> 
     conf.dependencies.each { dep -> 
      println "${dep.group}:${dep.name}:${dep.version}" 
     } 
    } 

    project.configurations.getByName('testCompile') { conf -> 
     conf.dependencies.each { dep -> 
      println "${dep.group}:${dep.name}:${dep.version}" 
     } 
    } 
} 

Oder das erste Beispiel ändern, durch die Bedingung Hinzufügen conf.name

+0

Brilliant zu überprüfen - dank Stanislav! Und gute Noten, um auch so schnell zurück zu kommen! – MDalt

Verwandte Themen