在命令行运行 KSP
KSP is a Kotlin compiler plugin and needs to run with Kotlin compiler. Download and extract them.
#!/bin/bash# Kotlin compilerwget https://github.com/JetBrains/kotlin/releases/download/v1.9.10/kotlin-compiler-1.9.10.zipunzip kotlin-compiler-1.9.10.zip# KSPwget https://github.com/google/ksp/releases/download/1.9.10-1.0.13/artifacts.zipunzip artifacts.zip
To run KSP with kotlinc, pass the -Xplugin option to kotlinc.
-Xplugin=/path/to/symbol-processing-cmdline-1.9.10-1.0.13.jar
This is different from the symbol-processing-1.9.10-1.0.13.jar, which is designed to be used with kotlin-compiler-embeddable when running with Gradle. The command line kotlinc needs symbol-processing-cmdline-1.9.10-1.0.13.jar.
You’ll also need the API jar.
-Xplugin=/path/to/symbol-processing-api-1.9.10-1.0.13.jar
See the complete example:
#!/bin/bashKSP_PLUGIN_ID=com.google.devtools.ksp.symbol-processingKSP_PLUGIN_OPT=plugin:$KSP_PLUGIN_IDKSP_PLUGIN_JAR=./com/google/devtools/ksp/symbol-processing-cmdline/1.9.10-1.0.13/symbol-processing-cmdline-1.9.10-1.0.13.jarKSP_API_JAR=./com/google/devtools/ksp/symbol-processing-api/1.9.10-1.0.13/symbol-processing-api-1.9.10-1.0.13.jarKOTLINC=./kotlinc/bin/kotlincAP=/path/to/your-processor.jarmkdir 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 \$*