kotlin-orm/ktorm-ksp

关于自定义生成器的使用疑问

llh4github opened this issue · 3 comments

看了自定义生成器的文档后简单试了下,似乎只支持将自定义生成器放在单独的模块中使用。
对于一些简单的小项目来说,这样做有点复杂了。不知道能否提供配置自定义类全限定名之类的方法简化自定义生成器的使用?

由于ksp的实现限制,做不到这一点。
借用官方的一张图,kotlin的编译过程大概如下
1958E221-48FB-4B29-B9EC-8AF2186098FD

分为frontend、backend两个步骤

  • frontend 主要是做一些语法检查、解析语法树的工作
  • backend 通过语法树生成中间代码、jvm bytecode / js

ksp插件的运行过程发生在frontend这一步骤,还没有真正将项目里的代码编译成bytecode,因此此时是执行不了项目里的代码的。

@lookup-cat 借助 gradle 实现插件化,理论上是可以做到的,用户只需要把自己的插件写在 buildSrc 里面,而不是项目代码里面

@lookup-cat 借助 gradle 实现插件化,理论上是可以做到的,用户只需要把自己的插件写在 buildSrc 里面,而不是项目代码里面

那就跟单独创建一个模块没多大区别了倒是