Запуск KSP из командной строки
В большинстве проектов KSP используется через плагин Gradle, который автоматически запускает KSP во время компиляции. KSP можно запускать из командной строки, но обычно это делают только при интеграции с другими системами сборки, разработке процессоров, тестировании или отладке.
Поскольку KSP — это приложение JVM, используйте команду java для запуска KSP из командной строки. Укажите путь к классам и все необходимые аргументы:
java -cp <classpath> <mainclass> <options> <processor>
Аргумент |
Описание |
|---|---|
|
Путь к JAR-файлам среды выполнения KSP и их зависимостям. |
|
Одна из точек входа KSP для конкретной платформы. |
|
Параметры командной строки для KSP. |
|
Путь к JAR-файлу процессора. |
Путь к классам
В отличие от плагина Gradle, команда java не разрешает зависимости автоматически. Необходимо указать в пути к классам JAR-файлы среды выполнения KSP и их зависимости.
Скачайте artifacts.zip со страницы выпусков KSP. Архив содержит необходимые JAR-файлы KSP:
symbol-processing-aa-2.3.10.jarsymbol-processing-common-deps-2.3.10.jarsymbol-processing-api-2.3.10.jar
Также необходимо добавить следующие зависимости среды выполнения из Maven Repository:
Главный класс
Поскольку KSP — это приложение JVM, для его запуска необходимо указать главный класс. Для каждой поддерживаемой платформы KSP предоставляет отдельную точку входа:
Точка входа |
Платформы |
|---|---|
|
Kotlin/JVM и Android |
|
Kotlin/JS |
|
Целевые платформы Kotlin/Native, например iOS, macOS, Linux и Windows. |
|
Общие компиляции в проектах Kotlin Multiplatform. |
При запуске KSP с помощью java укажите полное имя класса. Например:
java -cp <classpath> com.google.devtools.ksp.cmdline.KSPJvmMain <options> <processor>
В следующем примере для запуска KSP для целевой платформы JVM используется KSPJvmMain:
java -cp \ symbol-processing-aa-2.3.10.jar:symbol-processing-common-deps-2.3.10.jar:symbol-processing-api-2.3.10.jar:kotlin-stdlib-2.3.20.jar:kotlinx-coroutines-core-jvm-1.10.2.jar \ com.google.devtools.ksp.cmdline.KSPJvmMain \ -language-version=2.0 \ -api-version=2.0 \ -jvm-target=11 \ -module-name=main \ -source-roots=project_dir/src/kotlin/main \ -project-base-dir=project_dir/ \ -output-base-dir=project_dir/build/ \ -caches-dir=project_dir/build/caches/ \ -class-output-dir=project_dir/build/out/main/classes \ -kotlin-output-dir=project_dir/build/out/main/kotlin/ \ -java-output-dir=project_dir/build/out/main/java/ \ -resource-output-dir=project_dir/build/out/main/res/ \ path/to/processor.jar
Параметры
Для запуска KSP из командной строки необходимы следующие параметры:
Параметр |
Описание |
|---|---|
|
Версия языка Kotlin, используемая в проекте. |
|
|
|
Целевая версия JVM. |
|
Имя модуля. |
|
Корневые каталоги исходного кода. Чтобы указать несколько каталогов, разделите их двоеточиями. |
|
Корневой каталог проекта. |
|
Базовый каталог для выходных данных KSP. |
|
Каталог для кэшей KSP. |
|
Каталог для сгенерированных файлов Java. |
|
Каталог для сгенерированных файлов классов. |
|
Каталог для сгенерированных файлов Kotlin. |
|
Каталог для сгенерированных ресурсов. |
|
Путь к классам процессора. |
Другие полезные параметры
-libraries=<path>: путь к классам, используемый для разрешения зависимостей, на которые ссылаются исходные файлы. Обычно это путь к классам компиляции модуля.-jdk-home=<path>: домашний каталог JDK. Используйте этот параметр, если процессор разрешает символы Java и ему требуется доступ к стандартной библиотеке Java.-friends=<path>: путь к классам дружественных модулей текущего модуля. Обычно это путь к классам дружественных модулей модуля. Подробнее см. в разделе Дружественные модули.
Чтобы просмотреть полный список параметров, выполните следующую команду:
java -cp <classpath> <mainclass> -h
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/ksp-command-line.html