[GO] Generate imports for UnmarshalJSON func only when it's present #22524
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.
Fixes #20599
As reported in the mentioned issue, openapi-generator currently generates unused imports when the UmarshalJSON func is not generated and the Go compiler will refuse to accept a program with unused imports. This PR fixes that by tying the addition of imports for
bytesandfmtto the enablement of thegenerateUnmashalJSONflag.Validation
When generating a Go client with this modification applied for the
src/test/resources/3_0/petstore.yamlsample with the UnmarshalJSON flag disabled (-p 'generateUnmarshalJSON=false'), for example, the imports forbytesandfmtshould not be present on top of generated filemodel_pet.go. The Go compiler should also compile the generated client without complaining. This does not happen with current main/master.Mentioning the Go technical committee as per PR instructions: @antihax @grokify @kemokemo @jirikuncar @ph4r5h4d @lwj5