在使用微服務框架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