tutorial studio para now must flavors flavor descargar configurar belong all build repository gradle

build - para - gradle version android studio



Dependencias de compilaciĆ³n de Gradle (3)

El script de compilación (es decir, build.gradle) puede tener algunas dependencias para la ejecución del script de compilación en sí mismo. Debería encerrar esas dependencias dentro del bloque buildScript. El Capítulo 4 de Gradle Beyond the Basics lo describe en detalle.

¿Cuál es la diferencia entre declarar repositorios en la sección buildScript de la compilación gradle o en el nivel raíz de la compilación?

Opción 1:

build.gradle :

buildScript { repositories { mavenCentral(); } }

o

build.gradle :

repositories { mavenCentral(); }


Los repositorios en el bloque de buildScript se utilizan para buscar las dependencias de sus dependencias de buildScript. Estas son las dependencias que se colocan en el classpath de su compilación y que puede consultar desde su archivo de compilación. Por ejemplo, los complementos adicionales que existen en Internet.

Los repositorios en el nivel raíz se utilizan para buscar las dependencias de las que depende su proyecto. Entonces, todas las dependencias que necesita para compilar su proyecto.


Quiero darte una concepción clara. Por este motivo, adjunto el código de instantánea build.grade para una mejor comprensión.

dependencias de 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'' } }

nivel raíz / dependencias centrales:

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'' }

Entonces, primero quiero aclarar en una sola palabra que

i) el archivo jar de dependencias de buildscript se descargará de los repositorios de compilación. [Proyecto de dependencia externa]

ii) el archivo jar de dependencias de nivel raíz se descargará de los repositorios de nivel raíz. [Para la dependencia del proyecto]

Aquí,

El bloque "buildscript" solo controla dependencias para el proceso de compilación en sí, no para el código de la aplicación. Como varios plugins de gradle como gradle-cobertura-plugin , gradle-lint-plugin se encuentran desde repos 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 archivos jar en ejecución, como groovy all jar, junit and testng jar se encontrarán en los repositorios de nivel raíz.

Y otra cosa , la porción maven { url("https://plugins.gradle.org/m2/") } se puede usar en ambos bloques. Porque se usan para diferentes dependencias.

Enlace de recursos: Diferencia entre dependencias dentro del cierre de compilación y núcleo