gRPC + Protocol Buffers でバックエンドを開発していると、他サービスや Protocol Buffers プラグインの proto ファイルの管理をしたくなる場合があります。 よくある Protocol Buffers のプラグインではリポジトリを go get してコンパイル時にパスを通すよう指示されますが、どのリビジョンの proto ファイルを使ってスキーマを定義しているのかが不明瞭になります。また、 proto ファイルの場所が散らばるのでコンパイルのコマンドも複雑になります。
本記事では、Protocol Buffers とは何かから、なぜ依存管理が必要か、依存している proto ファイルを管理するにはどうすれば良いかについて述べます。