TL;DR
内容
パッケージ名の構成
パッケージ名には、組織、目的、バージョンの 3 つの要素を入れる。
- 組織: ユーザ名や組織名(例:
google) - 目的: システム名やプロダクト名(例:
google.bigtable、google.datastore、google.pubsub、google.spanner)。関連するモジュールが複数あれば、google.cloud.compute、google.cloud.kmsのようにグループにまとめてもよい - バージョン:
v1やalpha1などのバージョン番号
ファイルパスの構成
ファイルパスはパッケージ名と一致させる必要がある。たとえば foo.bar.v1 というパッケージなら、ディレクトリは次の構成にする。
.
└── foo
└── bar
└── v1
└── example.proto一致していないと、buf lint のルールに引っかかってエラーになる。