Protobuf & Services project layout recommendations


I’ve been looking at the sample projects out there in the wild and they all seem to have the same structure where the service-idls and the microservices are all in the same Gradle multi-module project. Is this done this way for people to convenience to get started quickly or is this the recommended setup (or both :slight_smile: )?

Is there anything fundamentally wrong with having the IDL modules be their own entities? Meaning, are there pros and cons to having the idls modules and actual service code separate as far as source, build, and published artifact is concerned?


Yeah - we put the IDLs in the examples projects because it’s easier to work on them that way.

I have found there are generally two IDL categories. One category is a service describing IDL and the other is a common message / object IDL. If the IDL is associated with a service I think it makes sense to include it with the service in the same Gradle proejct. If however the IDL describes common or shared messages than it could make sense to include them in another Gradle project.


That all makes sense. Thanks for the confirmation!