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