Kotlin Symbol Processing 1.0 verspricht kürzere Build-Zeiten

Googles Tool zum Bauen von Compiler-Plug-ins für Kotlin liegt ab sofort als erstes stabiles Major Release vor.

In Pocket speichern vorlesen Druckansicht
Kotlin Symbol Processing 1.0 verspricht kürzere Build-Zeiten

(Bild: Android Developers, Google)

Lesezeit: 2 Min.

Google hat Version 1.0 von Kotlin Symbol Processing (KSP) vorgelegt. Als designierter Nachfolger des Kotlin Annotation Processing Tools (KAPT) soll das neue Werkzeug zum Bauen von Compiler-Plug-ins vor allem das Erstellen von Builds spürbar beschleunigen. Entwicklerinnen und Entwickler profitieren darüber hinaus von Support für Kotlin/Native und Kotlin/JS.

Als neuen Ansatz für das Verarbeiten von Anmerkungen in Kotlin hatte Google zum Jahresauftakt die erste Alpha von KPT vorgestellt. Seither hat das Team offenbar gut 30 Releases fertiggestellt und über 160 aus der Community gemeldete Bugs behoben. Im Vergleich zu KAPT soll Kotlin Symbol Processing Google zufolge knapp die doppelte Geschwindigkeit bieten und direkten Zugriff auf die Constructs der Programmiersprache erlauben. Entwicklerinnen und Entwickler können über KSP zudem auch Multiplattform-Targets nutzen.

Die Geschwindigkeitsvorteile erzielt KSP offenbar durch den Verzicht auf die für KAPT bisher notwendigen Abhängigkeiten von der Java-Annotation-Processing-Infrastruktur. Als Compiler-Plug-in erlaubt es KSP, Quellcode und Ressourcen direkt in Kotlin zu lesen und zu analysieren. Dadurch ergeben sich schnellere Build-Zeiten sowie die Möglichkeit, das Tool auch in Umgebungen Kotlin/Native und Kotlin/JS einzusetzen – also auch jenseits von Android und JVM.

Wer sich einen näheren Eindruck von Kotlin Symbol Processing verschaffen möchte, dem sei der KSP Playground auf GitHub empfohlen. Das Projekt macht deutlich, wie sich das Tool einerseits als Annotation Processor oder auch als Consuming Library verwenden lässt. Wer in eigenen Projekten Moshi oder Room nutzt, kann KSP testweise auch durch eine kleine Anpassung in der Build-Datei des Moduls einbinden. Das folgende Listing zeigt, wie sich beispielsweise das KAPT-Plugin gegen die KSP-Version von Room in einem Gradle-Modul ersetzen lässt:

(Bild: Android Developers, Google)

Weitergehende Informationen zu Kotlin Symbol Processing bieten der Blogbeitrag zur Veröffentlichung von Version 1.0 sowie die KSP-Projektseite auf GitHub.

(map)