Name Date Size #Lines LOC

..--

.github/workflows/H25-Apr-2025-374301

api/H25-Apr-2025-4,3151,974

benchmark/H25-Apr-2025-1,123730

buildSrc/H25-Apr-2025-209134

common-util/H25-Apr-2025-1,4541,091

compiler-plugin/H25-Apr-2025-10,2307,390

examples/H25-Apr-2025-1,2961,018

gradle/wrapper/H25-Apr-2025-65

gradle-plugin/H25-Apr-2025-3,1862,341

integration-tests/H25-Apr-2025-6,4285,193

kotlin-analysis-api/H25-Apr-2025-4,1493,059

symbol-processing/H25-Apr-2025-8468

symbol-processing-cmdline/H25-Apr-2025-8067

test-utils/H25-Apr-2025-14,1626,943

.editorconfigH A D25-Apr-2025108 65

.gitignoreH A D25-Apr-2025174 1413

Android.bpH A D25-Apr-20251.1 KiB3733

CONTRIBUTING.mdH A D25-Apr-20254 KiB7056

LICENSEH A D25-Apr-202511.1 KiB203169

METADATAH A D25-Apr-2025657 2422

MODULE_LICENSE_APACHE2HD25-Apr-20250

OWNERSH A D25-Apr-202519 21

README.mdH A D25-Apr-20252.1 KiB4031

build.gradle.ktsH A D25-Apr-20253 KiB9888

gradle.propertiesH A D25-Apr-2025304 129

gradlewH A D25-Apr-20255.6 KiB186125

gradlew.batH A D25-Apr-20252.7 KiB9068

settings.gradle.ktsH A D25-Apr-2025460 1916

README.md

1# Kotlin Symbol Processing API
2
3Welcome to KSP!
4
5Kotlin Symbol Processing (KSP) is an API that you can use to develop
6lightweight compiler plugins. KSP provides a simplified compiler plugin
7API that leverages the power of Kotlin while keeping the learning curve at
8a minimum. Compared to KAPT, annotation processors that use KSP can run up to 2x faster.
9
10Most of the documentation of KSP can be found on [kotlinlang.org](https://kotlinlang.org/docs/ksp-overview.html). Here are some handy links:
11
12* [Overview](https://kotlinlang.org/docs/ksp-overview.html)
13* [Quickstart](https://kotlinlang.org/docs/ksp-quickstart.html)
14* [Libraries that support KSP](https://kotlinlang.org/docs/ksp-overview.html#supported-libraries)
15* [Why KSP?](https://kotlinlang.org/docs/ksp-why-ksp.html)
16* [Examples](https://kotlinlang.org/docs/ksp-examples.html)
17* [How KSP models Kotlin code](https://kotlinlang.org/docs/ksp-additional-details.html)
18* [Reference for Java annotation processor authors](https://kotlinlang.org/docs/ksp-reference.html)
19* [Incremental processing notes](https://kotlinlang.org/docs/ksp-incremental.html)
20* [Multiple round processing notes](https://kotlinlang.org/docs/ksp-multi-round.html)
21* [KSP on multiplatform projects](https://kotlinlang.org/docs/ksp-multiplatform.html)
22* [Running KSP from command line](https://kotlinlang.org/docs/ksp-command-line.html)
23* [FAQ](https://kotlinlang.org/docs/ksp-faq.html)
24
25## Feedback and Bug Reporting
26
27[Please let us know what you think about KSP by filing a Github issue](https://github.com/google/ksp/issues)
28or connecting with our team in the `#ksp` channel in the
29[Kotlin Slack workspace](https://kotlinlang.slack.com/)!
30
31If you are interested in sending PRs, please also check out the [Contributor guide](CONTRIBUTING.md).
32
33## Ongoing and Future Works
34
35Here are some planned features that have not yet been completely implemented:
36* Support [new Kotlin compiler](https://kotlinlang.org/docs/roadmap.html)
37* Improve support to multiplatform. E.g., running KSP on a subset of targets / sharing computations between targets
38* Improve performance. There a bunch of optimizations to be done!
39* Make the IDE aware of the generated code
40* Keep fixing bugs!