【问题标题】:How to fake multi pass for kapt annotations如何伪造 kapt 注释的多通道
【发布时间】:2020-08-07 06:52:39
【问题描述】:

我为一个项目编写了一些注释。不幸的是,一些注释依赖于我的另一个注释生成的代码。

具有讽刺意味的是,在所有注释运行之后,代码都符合除了 kapt3 存根...因为未知类型。

还有什么可以伪造的吗?如果我将一些注释放在不同的 gradle 项目中,或者我可以控制顺序吗?我知道哪些取决于哪个...我知道这听起来很丑...

但是如果这不起作用,我将不得不输入一个容易出错的样板。

或者,有没有办法从我的注释处理器中删除存根?

或者我只是 SOL 和 kapt 是各自有限的? (顺便说一句,新的 KSP AFAICT 也是如此)

谢谢

【问题讨论】:

    标签: kotlin annotations kapt


    【解决方案1】:

    为后代添加这个。

    我使用多个年级项目让它工作。

    我正在使用复合构建来使其工作。你可以在这里阅读:Gradle Composit Builds

    在底部你有你所有的注解和注解处理器。就我而言,我只有一个处理器来处理我定义的所有注释。

    我有另一个 gradle 项目,它使用注释来定义生成的类型的“第一遍”。它依赖于注解项目(compileOnly)以及一个 kapt 依赖。

    然后我的最终项目只是一个正常的依赖于“第一次通过”项目,以及一个对注释项目的 kapt 依赖(再次编译)。

    对我有用,因为我只需要 2 次通行证。这意味着第一遍会生成其他遍需要定义的所有类型。

    有点难看,但有效。如果有人知道更好的方法,我很想听。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-26
      • 2018-01-17
      • 1970-01-01
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      • 2018-10-20
      相关资源
      最近更新 更多