We commit the generated code into the repository. We work on some specifications resolving 5 features simultaneously. 2 developers rarely work on the same endpoint. Considering that, 4 pull requests with specification changes are often subject to rebase after one lucky person commits to the main branch. Thinking of how to improve the workflow I thought that the rebases would be less needed if the generated code were split more. Currently, we have the following files (among the others):
oas_schemas_gen.go
oas_client_gen.go
oas_handlers_gen.go
oas_request_decoders_gen.go
oas_request_encoders_gen.go
oas_response_decoders_gen.go
oas_response_encoders_gen.go
I believe they are the only source of frequent conflicts, unless when 2 new endpoints are being added, in that case oas_router_gen.go adds to the list above, but I believe this case should be out of scope.
My suggestion is to generate more files, so that:
each server endpoint handler has it's own file
each client endpoint handler has it's own file
each schema has its file.
Downsides:
looks ugly. Question of taste, I'd say, I don't care much if generated files are named something-something_1_gen.go, something-something_2_gen.go if they serve better to the developer productivity.
slightly increased compilation times. I believe it isn't very important.
Hello and thank you for your great library.
Description
We commit the generated code into the repository. We work on some specifications resolving 5 features simultaneously. 2 developers rarely work on the same endpoint. Considering that, 4 pull requests with specification changes are often subject to rebase after one lucky person commits to the
main
branch. Thinking of how to improve the workflow I thought that the rebases would be less needed if the generated code were split more. Currently, we have the following files (among the others):I believe they are the only source of frequent conflicts, unless when 2 new endpoints are being added, in that case
oas_router_gen.go
adds to the list above, but I believe this case should be out of scope.My suggestion is to generate more files, so that:
Downsides:
something-something_1_gen.go
,something-something_2_gen.go
if they serve better to the developer productivity.