Kotlin llega a Gradle: Escribe tus scripts de Gradle usando Kotlin script

Hace ya un tiempo que Kotlin se está transformando en una opción alternativa real para muchos desarrolladores, primordialmente en el planeta del desarrollo Android, donde todavía proseguimos anclados a versiones antiquísimas de Java.

Ya charlamos en su instante sobre cuáles eran las bondades de este lenguaje.

La gente de Gradle se ha dado cuenta de ello, y desde hace meses trabajan con Jetbrains para crear Kotlin Script y también integrarlo en Gradle tres.

Kotlin Script no es más que una forma de poder redactar scripts usando Kotlin, y es el mecanismo que emplea Gradle para dejarnos acotar sus build.gradle usando este lenguaje.

Ten presente que es una funcionalidad experimental de Gradle, si bien está muy cerca ya de publicarse su versión final.

¿Cuáles son los beneficios de redactar los scripts de Gradle en Kotlin?

Dejando de lado que uno pueda ser aproximadamente fan de uno o bien otro lenguaje, estas son las tres primordiales ventajas que le encuentro al empleo de Kotlin.

1. Es un lenguaje estático

Esto es, sabemos en tiempo de colección qué tipos tendrán las variables, qué valores de retorno recibiremos de las funciones, etcétera Y esto ayuda mucho al IDE a facilitarnos la labor conforme escribimos.

Primero, pues nos deja un autocompletado muy potente. Y segundo, pues es capaz de preprocesar el código y advertir fallos ya antes de ejecutar el script.

2. Integración total con el IDE

Lo que nos aporta múltiples ventajas, desde lo que comentaba en el punto precedente, hasta el empleo de herramientas de refactorización, pasando por que vamos a poder navegar al código fuente desde cualquier código escribamos.

3. Toda la aplicación en un mismo lenguaje

Si bien tal vez sea una de las razones menos esenciales, en la práctica puede ser realmente útil. Podríamos tener todo nuestro proyecto Android escrito en Kotlin, tanto la aplicación como los scripts de construcción.

En proyectos sencillísimos que no requieran scripts muy complejos, prácticamente no se marcha a apreciar la diferencia, por el hecho de que el IDE lo produce por nosotros.

Mas en proyectos más grandes, Groovy se puede transformar en una barrera de entrada. Si el equipo ya está desarrollando la Aplicación en Kotlin, le va a ser inmediato comenzar a trabajar con Kotlin Script.

Ejemplo: Aplicación en Android utilizando Kotlin Script

Ya os comentaba que esto es una función experimental, conque está un tanto lejos todavía de ser algo fácil de emplear.

De ahí que te explicaré los pasos que precisas para crear un proyecto Android utilizando Kotlin Script para los build.gradle. Acá la dificultad es doble por el hecho de que vamos a tener 2 build.gradle. El raíz y el del módulo.

Mas te cuento los pasos que precisas.

1. Instala el complemento de Kotlin y activa las EAP de Kotlin 1.1

Kotlin Script solo está libre por el momento en las EAP de la versión once de Kotlin, con lo que precisas configurar el complemento a fin de que descargue esa versión en el momento en que te lo instales:

Esta alternativa la tienes en Tools -> Kotlin -> Configure Kotlin updates

2. Crea un proyecto Android con Kotlin

Precisas crear un proyecto nuevo en Android Studio y configurarlo a fin de que use Kotlin. Puedes continuar los pasos precisos en esta guía.

3. Usa una distribución de Gradle que soporte Kotlin Script

La última hasta la data es una preview de tres.3 de Gradle. En gradle/wrapper/gradle-wrapper.properties altera esta línea:

distributionUrl=https://repo.gradle.org/gradle/dist-snapshots/gradle-script-kotlin-tres.3-20161123161139+0000-all.zip

4. Configura el settings.gradle a fin de que use los scripts correctos

Ahora, en vez de emplear de emplear los ficheros build.gradle, deberá emplear los build.gradle.kts, con lo que precisas alterar el settings.gradle a lo siguiente:

def configureGradleScriptKotlinOn(ProjectDescriptor project) undefined

include 'app'

configureGradleScriptKotlinOn rootProject

5. Crea el build.gradle.kts raíz y configúralo

Vas a ver que la apariencia es muy afín a la de un script escrito en Groovy:

buildscript undefined

allprojects undefined

Una ventaja interesante es que no precisamos detallar la versión de Kotlin. Es capaz de inferirla de la versión del complemento instalado.

6. Crea el build.gradle.kts para el módulo app

Este es un tanto más difícil, y es donde creo que todavía les falta por facilitarnos un tanto la labor.

Primero, por el hecho de que hay que crearse varias funciones de extensión a fin de que prosiga siendo tan inteligible como sería en Kotlin. Esas funciones habrían de estar incluidas en algún instante en el propio complemento.

Y segundo, por el hecho de que nos fuerza a prácticamente reescribir exactamente el mismo buildscript que el del archivo raíz, cosa que no es precisa con Groovy.

Suprimiendo un tanto la parte boilerplate (puedes ver el fichero completo acá), nos quedaría algo así:

apply undefined

android undefined

7. Ejecuta el proyecto

No sé de ser posible, mas hasta la data no he sido capaz de ejecutar el proyecto utilizando Android Studio. Precisarás ejecutarlo a través de terminal:

./gradlew installDebug

Ahora comienza la magia

Utilizando Kotlin Script ahora vas a ver, por servirnos de un ejemplo, que el autocompletado marcha perfectamente:

O bien que, cuando escribimos algo de forma incorrecta, el IDE nos informa:

Estos pequeños detalles nos ahorrarán bastante tiempo cuando estemos incorporando los scripts de Gradle.

Puedes ver el proyecto completo y descargarlo en el repositorio de ejemplo.

¿Qué te ha semejado Kotlin Script? ¿Piensas que va a marcar un punto de inflexión en la creación de scripts de Gradle, o bien que se proseguirá utilizando Groovy como hasta el momento? Cuéntanos en los comentarios.

En turincon.net | Kotlin: La Máquina Virtual de Java tiene un nuevo aliado
Más información sobre Gradle y Kotlin

hljs.initHighlightingOnLoad();

code.hljs undefined
@media only screen and (min-width: 768px) undefined
@media only screen and (min-width: 1024px) undefined

Asimismo te invitamos a

La Barna de mil ochocientos cincuenta que pensaba en los ciudadanos del futuro

Kotlin: La Máquina Virtual de Java tiene un nuevo aliado

Kotlin desde la perspectiva de un desarrollador Groovy

– La nueva

Kotlin llega a Gradle: Escribe tus scripts de Gradle utilizando Kotlin script

fue publicada originalmente en

turincon.net

por
Antonio Leiva

.