KSP is Kotlin’s lightweight, idiomatic alternative to Java annotation processing that gives compile-time access to Kotlin program structure. Rather than forcing Kotlin through Java’s annotation APIs, it exposes Kotlin-first symbols—classes, functions, properties, types—so processors can generate code efficiently. The design dramatically reduces incremental build overhead by operating directly on symbols without compiling stubs, which speeds up large multi-module projects. Processors run as Gradle plugins, participate in incremental builds, and can target common use cases like DI bindings, JSON adapters, or UI glue code. Because the API reflects Kotlin semantics (nullability, visibility, type aliases, etc.), generated code aligns cleanly with Kotlin style and tooling.
Features
- Kotlin-first symbol API for classes, functions, and types
- Fast, incremental processing without Java stub generation
- Simple Gradle integration with per-module configuration
- Strong type and nullability modeling for safer generators
- Easy migration path for existing KAPT processors
- Works across JVM, Android, and multiplatform targets