如何使用dart source_gen将文件生成到其他目录

时间:2019-02-05 09:16:53

标签: build dart code-generation

此问题描述了概念 https://github.com/dart-lang/source_gen/issues/272

总结:

  • 我正在使用source_gen生成一些飞镖代码。

  • 我正在对生成的dart代码使用json_serializable。

  • 我希望将所有结果输出到目标源附近或下方的源目录中。

所需的目录结构

  • src
    • feature_a
      • model.dart
      • gen
        • model.g.dart
        • model.g.g.dart
    • feature_b
      • ...


我已经考虑过构建缓存,但是json_serializable似乎不支持此功能,即使它不知道是否甚至有可能对缓存中的文件运行构建器。

我还考虑了此处提到的汇总生成器。

Generate one file for a list of parsed files using source_gen in dart

但是json_serializable仍然是一个问题,该帖中的source_gen版本过旧,无法很好地描述解决方案。

1 个答案:

答案 0 :(得分:1)

build_runner无法做到这一点。接下来要解决的问题是https://github.com/dart-lang/build/issues/1689

请注意,这对于您没有编写的构建器没有太大帮助,并且不适用于SharedPartBuilder之类的东西。