2016-06-02 22 views
1

Ich bin vertraut mit compile project(':A') Syntax wo ein Submodul eines Multi-Module-Projekts eine Kompilierabhängigkeit zu einem anderen Submodul deklariert. Kürzlich bin ich auf compile module(':A') gestoßen (sorry, habe die Referenz nicht). Wie unterscheidet sich die zweite von der ersten?Gradle Projekt vs Modulabhängigkeit?

Antwort

0

Direkt aus der Dokumentation:

23.4.2. Clientmodulabhängigkeiten

Mit Clientmodulabhängigkeiten können Sie transitive Abhängigkeiten direkt im Buildskript deklarieren. Sie ersetzen einen Moduldeskriptor in einem externen Repository.

Beispiel 23.8. Client-Modul Abhängigkeiten - transitive Abhängigkeiten

build.gradle 
dependencies { 
    runtime module("org.codehaus.groovy:groovy:2.4.4") { 
     dependency("commons-cli:commons-cli:1.0") { 
      transitive = false 
     } 
     module(group: 'org.apache.ant', name: 'ant', version: '1.9.6') { 
      dependencies "org.apache.ant:ant-launcher:[email protected]", 
         "org.apache.ant:ant-junit:1.9.6" 
     } 
    } 
} 

finden Sie in der Dokumentation hier: https://docs.gradle.org/current/userguide/userguide_single.html#sub:client_module_dependencies

+0

So ist es zu sagen, dass „Nicht nur ich weiß, was Abhängigkeiten ich brauche, ich weiß auch, welche Abhängigkeiten meine Abhängigkeiten müssen“? Das ist so anti-ish. Warum sollte das jemand tun? Es scheint, als würde es sich um "Abhängigkeitsmanagement" handeln? –

+0

@AbhijitSarkar Ich zeige Ihnen nur, was die Ärzte sagen und Ihre Frage beantworten. –

Verwandte Themen