Kotlin 1.3.30 verspricht mehr Leistung beim Annotation Processing

Kapt lässt sich nun auch für die inkrementelle Verarbeitung von Annotationen nutzen. Darüber hinaus unterstützt Kotlin weitere Kotlin/Native Targets.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Programmiersprache: Kotlin 1.3 stabilisiert die Koroutinen
Lesezeit: 2 Min.

Der tschechische Toolhersteller JetBrains hat Kotlin 1.3.30 vorgelegt. Das neueste Update der Programmiersprache enthält neben zahlreichen Bugfixes und Verbesserungen auch einige Neuerungen für Kotlin/Native sowie die Verarbeitung von Annotationen mit Kapt. Das Werkzeug zum Annotation Processing verspricht in der neuen Version inkrementelle Verarbeitung und eine höhere Build Performance beim Einsatz von Gradle Workers. Inkrementelles Annotation Processing steht zunächst aber nur als experimentelle Funktion bereit.

Die in Kotlin 1.2.60 eingeführte Option, Gradle Worker zum Verbessern der Build-Leistung nutzen zu können, haben die Kotlin-Macher weiter optimiert. Alternativ lässt sich das Annotation Processing ganz überspringen, wenn lediglich Methodenkörper in den Dependencies verändert werden. Dazu steht seit Kotlin 1.3.20 die Option Compile Avoidance zur Verfügung. Sie lässt sich allerdings nur dann verwenden, wenn alle Kapt-Abhängigkeiten explizit im annotation processing classpath deklariert sind oder AP Discovery mit dem Befehl

 kapt.include.compile.classpath=false 

deaktiviert wurde.

JetBrains hat die Liste der von Kotlin/Native unterstützten Targets um Windows 32 (mingw_x86) erweitert. Darüber hinaus können Anwender von Windows oder macOS nun auch ihre Kotlin/Native-Programme für die Plattformen Linux x86-64, arm32, Android und Raspberry PI kompilieren. Speziell für die Apple-Betriebssysteme iOS und macOS sind im neuen Release einige Verbesserungen und Fehlerkorrekturen eingeflossen – darunter beispielsweise die Exception Backtraces. Im Debug-Modus enthalten sie nun auch symbolische Information für beide Plattformen.

Weitere Verbesserungen in Kotlin 1.3.30 betreffen unter anderen IntelliJ IDEA und das Debugging von Koroutinen. Ein separater "async stack trace" zeigt dazu den zur Unterbrechung gespeicherten Zustand von Variablen. Alle weiteren Neuerungen fasst der Blog-Beitrag zusammen. Eine vollständige Auflistung aller Änderungen und Bugfixes findet sich im Change-Log. (map)