【问题标题】:Generating code from other sources to be used alongside Dagger从其他来源生成代码以与 Dagger 一起使用
【发布时间】:2023-03-20 13:21:02
【问题描述】:

在我的应用程序中,我打算使用 Gradle 插件 (jsonSchema2Pojo) 来生成模型类,并且我也在使用 Dagger2。如果我单独生成模型类,然后将它们包含在项目中,那么一切正常。但是,如果我尝试同时生成两者,(我认为正在发生的是)Dagger 尝试在 jsonSchema2Pojo 任务之前运行并且它没有正确完成因为它没有找到模型类。因为它没有正确完成,所以它会阻止模型类的生成并返回到第一格。

我的想法是让 Dagger 生成任务依赖于 jsonSchema2Pojo,但问题是我不知道这些任务是什么。

要遵循什么程序?

【问题讨论】:

    标签: android code-generation dagger-2


    【解决方案1】:

    这看起来像https://github.com/google/dagger/issues/2692.1-SNAPSHOT 应该适合你。

    【讨论】:

    • 不是真的,没有什么不同。注意,我的 Dagger~ 类确实生成了(和 issue 不同),但是对应的模块提供了 A 类的实例,而 A 类使用了尚未生成的模型类。跨度>
    • 你可以尝试制作一个展示这个的示例项目,然后在 Github 上发布一个链接到 repo/code 的问题吗?
    • github.com/stoyicker/boats-xkcd/tree/master/data 在模型中,您可以找到类(DataEntity)的 jsonSchema2Pojo 定义。然后在 src/.../net/ 中,您会找到像 XkcdClient 这样的类,它们导入了冲突的 DataEntity 类。 master 中的版本正在运行,因为我已将生成的类复制到 src 并禁用了插件,但我将创建一个新分支来说明确切的情况。
    猜你喜欢
    • 1970-01-01
    • 2020-01-23
    • 2020-02-06
    • 2016-07-22
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多