Запуск KSP из командной строки
KSP — это плагин компилятора Kotlin, и ему необходим компилятор Kotlin. Скачайте и распакуйте их.
#!/bin/bash # Kotlin compiler wget https://github.com/JetBrains/kotlin/releases/download/v1.6.10/kotlin-compiler-1.6.10.zip unzip kotlin-compiler-1.6.10.zip # KSP wget https://github.com/google/ksp/releases/download/1.6.10-1.0.2/artifacts.zip unzip artifacts.zip
Для запуска KSP с kotlinc, передайте параметр -Xplugin в kotlinc.
-Xplugin=/path/to/symbol-processing-cmdline-1.6.10-1.0.2.jar
Это отличается от symbol-processing-1.6.10-1.0.2.jar, который предназначен для использования с kotlin-compiler-embeddable при запуске с Gradle. Командная строка kotlinc требует symbol-processing-cmdline-1.6.10-1.0.2.jar.
Вам также понадобится API jar-файл.
-Xplugin=/path/to/symbol-processing-api-1.6.10-1.0.2.jar
Смотрите полный пример:
#!/bin/bash
KSP_PLUGIN_ID=com.google.devtools.ksp.symbol-processing
KSP_PLUGIN_OPT=plugin:$KSP_PLUGIN_ID
KSP_PLUGIN_JAR=./com/google/devtools/ksp/symbol-processing-cmdline/1.6.10-1.0.2/symbol-processing-cmdline-1.6.10-1.0.2.jar
KSP_API_JAR=./com/google/devtools/ksp/symbol-processing-api/1.6.10-1.0.2/symbol-processing-api-1.6.10-1.0.2.jar
KOTLINC=./kotlinc/bin/kotlinc
AP=/path/to/your-processor.jar
mkdir out
$KOTLINC \
-Xplugin=$KSP_PLUGIN_JAR \
-Xplugin=$KSP_API_JAR \
-Xallow-no-source-files \
-P $KSP_PLUGIN_OPT:apclasspath=$AP \
-P $KSP_PLUGIN_OPT:projectBaseDir=. \
-P $KSP_PLUGIN_OPT:classOutputDir=./out \
-P $KSP_PLUGIN_OPT:javaOutputDir=./out \
-P $KSP_PLUGIN_OPT:kotlinOutputDir=./out \
-P $KSP_PLUGIN_OPT:resourceOutputDir=./out \
-P $KSP_PLUGIN_OPT:kspOutputDir=./out \
-P $KSP_PLUGIN_OPT:cachesDir=./out \
-P $KSP_PLUGIN_OPT:incremental=false \
-P $KSP_PLUGIN_OPT:apoption=key1=value1 \
-P $KSP_PLUGIN_OPT:apoption=key2=value2 \
$*
Последнее изменение: 07 апреля 2022 г.
© 2010–2022 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