¿Cuál es la diferencia entre declarar repositorios en la buildScript
sección de la construcción de gradle o en el nivel raíz de la construcción?
Opción 1:
build.gradle :
buildScript {
repositories {
mavenCentral();
}
}
o
build.gradle :
repositories {
mavenCentral();
}
build
repository
gradle
Jeff Storey
fuente
fuente
Quiero darte una idea clara. Por esta razón, adjunto el código de instantánea build.grade para una mejor comprensión.
dependencias de buildscript:
Nivel raíz / dependencias principales:
Entonces, primero quiero aclarar en una sola palabra que
Aquí,
El bloque "buildscript" solo controla las dependencias para el proceso buildscript en sí, no para el código de la aplicación. Como varios plugins de gradle
gradle-cobertura-plugin
,gradle-lint-plugin
se encuentran en los repositorios de buildscript. Esos complementos no serían referenciados como dependencias para el código de la aplicación.Pero para la compilación de proyectos y la ejecución de pruebas, los archivos jar
groovy all jar, junit and testng jar
se encontrarán en repositorios de nivel raíz.Y otra cosa , la
maven { url("https://plugins.gradle.org/m2/") }
porción se puede usar en ambos bloques. Porque se usan para diferentes dependencias.Enlace de recursos: diferencia entre dependencias dentro del cierre buildscript y núcleo
fuente
El script de compilación (es decir, build.gradle) puede tener algunas dependencias para la ejecución del propio script de compilación. Debería encerrar esas dependencias dentro del bloque buildScript. El Capítulo 4 de Gradle Beyond the Basics lo describe en detalle.
fuente