protodep踩坑

小杨小杨小小杨發表於2024-11-19

在使用微服務框架go-zero時,服務拆分比較多,每更新一個服務的proto檔案,都要手動複製pb檔案到呼叫的服務裡面,新系統開發的時候決定用protodep解決這個問題。

protodep 是一款專為Protocol Buffers介面描述語言檔案設計的依賴管理工具。它解決了在使用gRPC時,如何有效控制和管理來自不同git倉庫中.proto檔案版本的問題,讓服務間的依賴變得更加清晰可控。

版本安裝:go install -v github.com/stormcat24/protodep@v0.1.7

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