【发布时间】:2020-03-27 00:52:41
【问题描述】:
我想知道如何正确引用外部 proto 文件。假设我有一个引用标准 protobuf 类型的 .proto 文件,例如 Timestamp:
syntax = "proto3";
package api;
import "google/protobuf/timestamp.proto";
message ServerTimeResponse {
google.protobuf.Timestamp ts = 1;
}
简单。编译时时间戳自动可用。
现在我添加一个外部
输入,说google.rpc.Status:
syntax = "proto3";
package api;
import "google/protobuf/timestamp.proto";
import "google/rpc/status.proto";
message ServerTimeResponse {
google.protobuf.Timestamp ts = 1;
google.rpc.Status status = 2;
}
当然我们必须通过-I/--proto_path告诉protoc如何找到这个文件。
我的问题是:实际引用此文件的最佳做法是什么,特别是让版本控制满意? protobufs 似乎没有 go mod 等效项。我已经看到它逐字复制到项目中(例如在grpc-gateway 中)或只是从本地文件系统中引用。
【问题讨论】:
标签: protocol-buffers