Split imports for directory strategy in buf generate #3203
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is still WIP, but it seems to work with the base case.
Fixes #3056, the problem where only non-imports are split by directory in
buf generate
. The original issue has a great description and repro.Note, this cannot be achieved by simply removing the import check here, because the split images will conflate
IsImport
with whether we want to generate a file if permitted by include-imports. The latter is introduced to a new typeImageFileForGeneration
.TODOs:
*_test.go
and.../alpha/protoc/plugin.go
) that callImageByDir
, they should stop calling it.ImageByDir
(the current implementation) and those that callImageByDirSplitImports
, perhaps we can completely get rid ofImageByDir
.bufimagegenerate
intobufgen
This also refactors some generation-specific functions/types into a new
bufimagegnerate
package, lots of moving around. I will add comments indicating which changes are new code and which ones are relocation.