Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
.github/workflows/ | H | 25-Apr-2025 | - | 374 | 301 | |
api/ | H | 25-Apr-2025 | - | 4,315 | 1,974 | |
benchmark/ | H | 25-Apr-2025 | - | 1,123 | 730 | |
buildSrc/ | H | 25-Apr-2025 | - | 209 | 134 | |
common-util/ | H | 25-Apr-2025 | - | 1,454 | 1,091 | |
compiler-plugin/ | H | 25-Apr-2025 | - | 10,230 | 7,390 | |
examples/ | H | 25-Apr-2025 | - | 1,296 | 1,018 | |
gradle/wrapper/ | H | 25-Apr-2025 | - | 6 | 5 | |
gradle-plugin/ | H | 25-Apr-2025 | - | 3,186 | 2,341 | |
integration-tests/ | H | 25-Apr-2025 | - | 6,428 | 5,193 | |
kotlin-analysis-api/ | H | 25-Apr-2025 | - | 4,149 | 3,059 | |
symbol-processing/ | H | 25-Apr-2025 | - | 84 | 68 | |
symbol-processing-cmdline/ | H | 25-Apr-2025 | - | 80 | 67 | |
test-utils/ | H | 25-Apr-2025 | - | 14,162 | 6,943 | |
.editorconfig | H A D | 25-Apr-2025 | 108 | 6 | 5 | |
.gitignore | H A D | 25-Apr-2025 | 174 | 14 | 13 | |
Android.bp | H A D | 25-Apr-2025 | 1.1 KiB | 37 | 33 | |
CONTRIBUTING.md | H A D | 25-Apr-2025 | 4 KiB | 70 | 56 | |
LICENSE | H A D | 25-Apr-2025 | 11.1 KiB | 203 | 169 | |
METADATA | H A D | 25-Apr-2025 | 657 | 24 | 22 | |
MODULE_LICENSE_APACHE2 | HD | 25-Apr-2025 | 0 | |||
OWNERS | H A D | 25-Apr-2025 | 19 | 2 | 1 | |
README.md | H A D | 25-Apr-2025 | 2.1 KiB | 40 | 31 | |
build.gradle.kts | H A D | 25-Apr-2025 | 3 KiB | 98 | 88 | |
gradle.properties | H A D | 25-Apr-2025 | 304 | 12 | 9 | |
gradlew | H A D | 25-Apr-2025 | 5.6 KiB | 186 | 125 | |
gradlew.bat | H A D | 25-Apr-2025 | 2.7 KiB | 90 | 68 | |
settings.gradle.kts | H A D | 25-Apr-2025 | 460 | 19 | 16 |
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!