classpath - mexico - Propósito del bloque de construcción en Gradle
bloques de tierra comprimida mexico (5)
Agradezco la respuesta de Peter ... pero no fue inmediatamente obvio para mí lo que el resto del guión de construcción significaba como enfatizado en la respuesta y en la documentación.
Por lo general, traer funcionalidad dependiente es para usar en el programa Java o en cualquier otro programa que esté escribiendo. Traer en Spring, por ejemplo, no se debe usar en el script de construcción, sino en el programa Java. Ponerlo en el cierre del buildscript
asegura que las dependencias estén disponibles para su uso dentro de la propia construcción gradle. No es el programa de salida.
Soy nuevo en Gradle y estoy leyendo la documentación pero no entiendo algunas partes de ella. Una de estas partes está conectada con el bloque de buildscript
. ¿Cual es su propósito?
Si su script de compilación necesita usar librerías externas, puede agregarlas al classpath del script en el script de compilación. Para ello, utilice el método buildscript (), pasando un cierre que declara el classpath del script de compilación.
buildscript { repositories { mavenCentral() } dependencies { classpath group: ''commons-codec'', name: ''commons-codec'', version: ''1.2'' } }
Bien, pero ¿cuál es la diferencia con:
repositories {
mavenCentral()
}
dependencies {
compile group: ''commons-codec'', name: ''commons-codec'', version: ''1.2''
}
Por ejemplo, ¿por qué es necesario usar buildscript
?
El bloque buildScript
determina qué complementos, clases de tareas y otras clases están disponibles para su uso en el resto del script de compilación . Sin un bloque de buildScript
, puede usar todo lo que se envía con Gradle out-of-the-box. Si además desea utilizar complementos de terceros, clases de tareas u otras clases (en el script de compilación), debe especificar las dependencias correspondientes en el bloque de buildScript
.
Es un poco alto nivel, pero la esperanza ayuda.
Para mí, una clara distinción comenzó a formarse una vez que comencé a entender qué es un bloque de construcción , método y tarea. Cómo se ve la sintaxis, cómo puede configurarlos, etc. Entonces le sugiero que revise todo esto. Después de eso, puedes comenzar a entender esta sintaxis.
Entonces es muy importante saber cuál es el tipo de objeto build.gradle (una instancia de la clase Project) para saber qué se puede hacer dentro de un archivo build.gradle. Eso respondería a dónde vienen ese ''buildScript'' y otros, etc. Y para ampliar sus capacidades / funciones (digamos, android), vea cómo los plugins pueden ayudar.
Por último, pero no menos importante, hay un muy buen tutorial aquí que habla sobre cierres, delegados que son los conceptos esenciales para entender el guión.
La sección de configuración "buildscript" es para gradle en sí (es decir, cambios en cómo Gradle puede realizar la compilación). Por lo tanto, esta sección generalmente incluirá el complemento Android Gradle.
- Las secciones de
dependencies
yrepositories
nivel global enumeran las dependencias necesarias para construir su fuente y ejecutar su fuente, etc. - El
buildscript
es para el archivobuild.gradle
sí mismo. Por lo tanto, esto contendría dependencias para, por ejemplo, crear RPM,Dockerfile
y cualquier otra dependencia para ejecutar las tareas en todo elbuild.gradle
dependiente