Closed2
Buf でのモジュールの単位
protobuf を1つのリポジトリで管理している場合、Buf の module はどの単位でつくるとよいのだろうか?
例えば google みたいな構成だったとする。Buf もこのような <organization>/<service>/<version>
という構成を推奨している。
googleapis/google at master · googleapis/googleapis
Buf - Files and packages
protobuf-repo
└── google
└── service1
│ └── v1
│ └── hoge.proto
└── service2
└── v1
└── hoge.proto
以下のように package を定義したとき、module root からの相対パスとして扱われる(Buf - Files and packages)。
つまり protobuf-repo 全体が一つの module ということになる。
まあこれでよい、ということなのかもしれない。
Workspace という概念があるが、これはいつ使うの?という気もする。
Buf - Workspaces: organize multiple modules
package google.service1.v1;
Buf - Workspaces: organize multiple modules
Buf - Files and packages
Buf - Modules: Buf's key primitive
module はバージョニングの単位となるので、それを基準にモジュールの粒度を決めるのが良さそう。
これは正解はないだろう。自分の組織にあった構成にするというだけ。
このスクラップは4ヶ月前にクローズされました