¿Es necesario el conocimiento de Groovy para entender a Gradle?

Por lo tanto, he intentado evitar las herramientas de compilation durante un time, pero comencé a utilizar Gradle durante un time. Puedo utilizarlo para cosas simples como dejar que descargue dependencies, como se pretendía, pero he visto que la gente lo usa para hacer un personal realmente avanzado como administrar grandes proyectos con diferentes modules, dependencies nativas, publicar en Github al build, etc.

Siento que todavía necesito copyr y pegar mucho cuando trato de hacer algo más complicado, porque incluso después de encontrar algo de documentation para leer, todavía no estoy seguro de dónde están la syntax del lenguaje como {,},:, (,), destinado a ser utilizado.

Entonces, mi pregunta es: ¿tiene sentido aprender a Groovy a entender mejor a Gradle? ¿Debería ser suficiente leer los documentos? Ni siquiera estoy preguntando porque no me interesaría Groovy, solo me pregunto cómo se acostumbraron las personas a usar Gradle y si tiene sentido usarlo para tareas más avanzadas y luego search dependencies de repositorys.

Gradle usa DSL (lenguaje específico del dominio) que actualmente se basa en la parte superior de Groovy. Eso significa que, hasta cierto punto, debería poder trabajar con Gradle aprendiendo solo el DSL. Por supuesto, henetworkinga parte de la syntax de Groovy (como los paréntesis, etc.) pero la syntax bastante lejos de un código Groovy normal.

Si quieres comenzar a escribir tus propios cierres, tareas y complementos, entonces necesitas algunas habilidades de Groovy, sí. Groovy in Action 2nd edition es un gran libro, o si eres un desarrollador de Java, echa un vistazo a Making Java Groovy .

Dicho esto, tenga en count que Gradle Inc anunció que van a admitir a Kotlin como otro idioma en el que basar el DSL . Significa que podrá escribir las partes "personalizadas" de su construcción en Kotlin o Groovy. Así que, fíjate también en Kotlin, aquí está la mejor manera de hacerlo: Kotlin en acción .

  • Cobertura del código Kotlin en la tubería CI
  • Carga concurrente de files S3 a través de Koutlin Coroutines
  • msg: ¿No se puede encontrar el getter para el atributo 'android: text' con el tipo de valor java.lang.String en el data binding?
  • Cómo convertir código JS a Kotlin sin la palabra key 'nueva'
  • En Kotlin, ¿puedo crear un range que cuente hacia atrás?
  • Evento Kotlinx-html ref
  • Kotlin androidTest: las testings se terminaron. Suite de testing vacía
  • ¿Cómo escribir un getter personalizado si las properties de class están definidas en el constructor?
  • Extensiones y variables de Kotlin para Android
  • Asigna lambda directamente al método abstracto henetworkingado
  • Kotlin con fragments