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?
1
A
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
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? –
@AbhijitSarkar Ich zeige Ihnen nur, was die Ärzte sagen und Ihre Frage beantworten. –