谷歌Protobuf依赖性冲突

时间:2018-04-13 18:25:18

标签: go dependencies protocol-buffers dependency-management grpc

我正在开发一个利用Google Protobuf的Golang库。它通过使用由编译器插件protoc-gen-go自动生成的代码来实现。我正在使用Dep进行依赖关系管理。 生成的代码导出InstanceStatusUpdate结构,字段Timestamp的类型为github.com/golang/protobuf/ptypes/timestamp.Timestamp

type InstanceStatusUpdate struct {
    EvaluationId  string
    VariationId   string
    AttemptNumber int32
    Timestamp     *google_protobuf.Timestamp
    Stage         string
    Metadata      string
    JobId         string
}

我遇到的问题是编写库代码以填充Timestamp字段会触发"github.com/golang/protobuf/ptypes"的冗余自动导入,因为这是需要分配给Timestamp的类型。此冗余会导致此错误:

  

无法使用时间戳(类型   *" my_path的/供应商/ github.com / golang / protobuf的/ ptypes /时间戳" .Timestamp)   作为类型*" github.com/golang/protobuf/ptypes/timestamp" .Timestamp in   字段值

有什么想法吗?

库结构(只有一个供应商文件夹):

code_root
|
 -lib
|  |
|   -go-statuses
 -my_package /*Contains code that refers to the auto-generated code in 
   |          go-statuses*/
   |
    -vendor

0 个答案:

没有答案