Gradle Script Kotlin

Eine neue Zusammenarbeit ist zwischen den Entwicklern des Build Tools Gradle und der Programmiersprache Kotlin entstanden. Der Gründer von Gradle Inc., Hans Dockter, hat sich mit dem Kotlin-Team von JetBrains zusammengesetzt und versucht herauszufinden, wie Gradle von Kotlin (und umgekehrt) profitieren kann. Herausgekommen ist dabei mit Gradle Script Kotlin der Beginn einer Kooperation mit dem Ziel, Gradle Build-Skripte auch mit der statisch typisierten JVM-Sprache Kotlin schreiben zu können.

Kotlin ist eine relativ junge Sprache für die Java Virtual Machine, die Anfang des Jahres in Version 1.0 veröffentlicht wurde. Kotlin wird vom IDE-Hersteller JetBrains entwickelt und genießt daher auch eine sehr gute Unterstützung in IntelliJ IDEA (eine Integration in Eclipse ist aber auch verfügbar). Ein großer Vorteil von Kotlin ist neben der statischen Typisierung der Sprache, dass man mit ihr sehr knappen und präzisen Code schreiben kann, der ohne ausgedehnten Boilerplate-Code auskommt, wie man ihn von typischen Java Anwendungen kennt. Kotlin ermöglicht dies durch die Unterstützung von Properties, Extension Functions, Data-Klassen, echter Delegation, Lambdas, Überladen von Operatoren, Null Safety und vielem mehr. Die spezifischen Features von Kotlin erlauben unter es anderem auch, damit DSLs (Domain-specific languages) zu entwerfen.

Mit diesen Eigenschaften eignet sich Kotlin besonders gut als Alternative für Groovy, um Build Skripte für Gradle zu schreiben. Die Entwickler versprechen sich dadurch die folgenden Vorteile:

  • Auto-Completion und Content Assist beim Schreiben von Build Skripten in der IDE
  • Schneller Zugriff auf die Dokumentation
  • Direkte Navigation zu den Sourcen
  • Refactoring
  • usw.

Ein Beispiel für ein Kotlin Gradle-Skript könnte wie folgt aussehen (Quelle: Samples aus dem Kotlin Gradle GitHub-Projekt):

import org.gradle.api.plugins.*
import org.gradle.api.tasks.wrapper.*
import org.gradle.script.lang.kotlin.*

apply<ApplicationPlugin>()

configure<ApplicationPluginConvention> {
  mainClassName = "samples.HelloWorld"
}

repositories {
  jcenter()
}

dependencies {
  "testCompile"("junit:junit:4.12")
}

tasks.withType<Wrapper> {
  distributionUrl = "https://repo.gradle.org/gradle/repo/gradle-gsk-1.0.0-M1.zip"
}

Das Projekte Gradle Script Kotlin wurde von Hans Dockter auf der Kotlin Night in San Francisco vorgestellt. Der Vortrag kann auf YouTube angeschaut werden.

Auch wenn Kotlin zukünftig als Alternative zu Groovy für Gradle verwendet werden kann, heißt das nicht, dass Groovy damit als Sprache für Gradle abgelöst werden soll. Groovy wird natürlich weiterhin unterstützt. Man plant allerdings, Kotlin zur Sprache der Wahl für die Entwicklung von Gradle-Plugins zu machen.

Erste Ergebnisse der Zusammenarbeit von Gradle und Kotlin können bereits auf GitHub ausprobiert werden. Angestrebt wird eine vollständige Kotlin-Unterstützung in Gradle 3.0.

Short URL for this post: http://wp.me/p4nxik-2Em
Roland Krüger

About Roland Krüger

Software Engineer at Orientation in Objects GmbH. Find me on Google+, follow me on Twitter.
This entry was posted in Build, config and deploy, Other languages for the Java VM and tagged , . Bookmark the permalink.

One Response to Gradle Script Kotlin

  1. Pingback: Gradle 3.0 | techscouting through the java news

Leave a Reply