有人能告诉我如何让 protoc 使用领先的库指令生成 dart 文件吗?
我正在使用 dart-protoc-plugin (v0.10.2) 从 proto 文件生成我的 dart、c++、c#、js 和 java 模型。我的印象是没有办法让 protoc 将“库”指令添加到生成的 dart 文件中,直到我注意到该指令出现在另一个项目中(参见date.pb.dart)。
如果我采用相同的文件(date.proto),我无法让 protoc 生成包含“库”指令的 dart 文件。
简而言之:我想取一个 .proto 文件,内容如下
syntax = "proto3";
package another.proj.nspace;
message MyObj {
...
}
并生成一个带有类似于以下代码段的前导“库”指令的 .dart 文件
///
// Generated code. Do not modify.
///
// ignore_for_file: non_constant_identifier_names,library_prefixes
library another.proj.nspace;
...
注意:我不关心指令的实际值,因为我可以重组我的代码以获得所需的结果。我只需要一种方法让protoc添加库指令......
我用来生成飞镖文件的基本命令是
protoc --proto_path=./ --dart_out="./" ./another/proj/nspace/date.proto
不幸的是,dart-protoc-plugin 的README不是很有帮助,我不得不通过源代码找出可用的选项;目前似乎唯一特定于 dart 的选项与 grpc 有关。
我尝试了其他语言的选项(例如“库”和“基本路径”),但没有任何成功。
如果可能的话,它将大大简化我的工作流程,但我开始觉得date.pb.dart中的库指令是在生成代码之后添加的......