Ich möchte Ihnen eine klare Vorstellung geben. Aus diesem Grund füge ich zum besseren Verständnis den Snapshot-Code build.grade hinzu .
Buildscript-Abhängigkeiten:
buildscript {
repositories {
maven { url("https://plugins.gradle.org/m2/") }
}
dependencies {
classpath 'net.saliman:gradle-cobertura-plugin:2.3.2'
classpath 'com.netflix.nebula:gradle-lint-plugin:latest.release'
}
}
Abhängigkeiten auf Stammebene / Kern:
repositories{
mavenLocal()
maven { url("https://plugins.gradle.org/m2/") }
maven { url "https://repo.spring.io/snapshot" }
}
dependencies {
//Groovy
compile group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.3.10'
//Spock Test
compile group: 'org.spockframework', name: 'spock-core', version: '1.0-groovy-2.3'
//Test
testCompile group: 'junit', name: 'junit', version: '4.10'
testCompile group: 'org.testng', name: 'testng', version: '6.8.5'
}
Also, zuerst möchte ich das in einem Wort klarstellen
i) Die JAR-Datei für Buildscript-Abhängigkeiten wird aus den Buildscript-Repositorys heruntergeladen. [Externe Projektabhängigkeit]
ii) Die JAR-Datei für Abhängigkeiten auf Stammebene wird aus den Repositorys auf Stammebene heruntergeladen. [Für Projektabhängigkeit]
Hier,
Der Block "Buildscript" steuert nur Abhängigkeiten für den Buildscript-Prozess selbst, nicht für den Anwendungscode. Da verschiedene gradle Plugin wie gradle-cobertura-plugin
, gradle-lint-plugin
aus buildscript repos gefunden. Diese Plugins werden nicht als Abhängigkeiten für den Anwendungscode bezeichnet.
Aber für die Projektkompilierung und den Testlauf werden JAR-Dateien wie groovy all jar, junit and testng jar
aus Repositorys auf Stammebene gefunden.
Und eine andere Sache , maven { url("https://plugins.gradle.org/m2/") }
Portion kann in beiden Blöcken verwendet werden. Weil sie für verschiedene Abhängigkeiten verwendet werden.
Ressourcenverknüpfung: Unterschied zwischen Abhängigkeiten innerhalb des Buildscript-Abschlusses und des Kerns