在使用微服务框架go-zero时,服务拆分比较多,每更新一个服务的proto文件,都要手动复制pb文件到调用的服务里面,新系统开发的时候决定用protodep解决这个问题。
protodep 是一款专为Protocol Buffers接口描述语言文件设计的依赖管理工具。它解决了在使用gRPC时,如何有效控制和管理来自不同git仓库中.proto文件版本的问题,让服务间的依赖变得更加清晰可控。
版本安装:go install -v github.com/stormcat24/[email protected]
proto_outdir = "./proto"
# whitelist by "includes" attribute
[[dependencies]]
target = "github.com/protodep/catalog/hierarchy"
branch = "main"
includes = [
"/protodep/hierarchy/service.proto"
]
ignores = [""/user/proto]
protocol = "https"
``
官方文档主要是针对于github的服务进行填充的,如果想用自己的服务的话,还缺少参数, subgroup = "hierarchy"
从代码中可以看到,target中/超过三个且没有设置subgoup,路径返回会把第三个/后的参数给截掉。
如果使用ssh的路径的话需要使用protodep up -c -f