Je veux vous donner une conception claire. Pour cette raison, j'attache le code de l'instantané build.grade pour une meilleure compréhension.
dépendances buildscript:
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'
    }
}
dépendances de niveau racine / noyau:
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'
}
Donc, d'abord je veux clarifier en un seul mot 
  i) Le fichier jar des dépendances buildscript sera téléchargé à partir des référentiels buildscript. [Dépendance externe du projet]
  
  ii) le fichier jar des dépendances de niveau racine sera téléchargé à partir des référentiels de niveau racine. [Pour la dépendance du projet]
Ici,
Le bloc «buildscript» ne contrôle que les dépendances pour le processus buildscript lui-même, pas pour le code de l'application. Comme divers plugins de gradle comme gradle-cobertura-plugin, gradle-lint-pluginsont trouvés à partir de dépôts de buildscript. Ces plugins ne seraient pas référencés en tant que dépendances pour le code d'application.
Mais pour la compilation de projets et les tests en cours d'exécution, des fichiers jar comme ceux- groovy all jar, junit and testng jarci seront trouvés dans les référentiels de niveau racine.
Et autre chose , la maven { url("https://plugins.gradle.org/m2/") }portion peut être utilisée dans les deux blocs. Parce qu'ils sont utilisés pour différentes dépendances.
Lien de ressource:  différence entre les dépendances dans la fermeture et le noyau de buildscript