Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Limit the generated reference ids to 100 characters #46

Closed
paulsturgess opened this issue Dec 8, 2023 · 0 comments · Fixed by #47 or #48
Closed

Limit the generated reference ids to 100 characters #46

paulsturgess opened this issue Dec 8, 2023 · 0 comments · Fixed by #47 or #48
Assignees

Comments

@paulsturgess
Copy link
Contributor

Unfortunately we cannot go over 100 characters due to limitations in the rubygems package builder.

https://github.com/rubygems/rubygems/blob/master/lib/rubygems/package/tar_writer.rb#L305

@paulsturgess paulsturgess self-assigned this Dec 8, 2023
paulsturgess added a commit that referenced this issue Dec 11, 2023
If we use a generator to produce a Ruby client, and then try to build that gem, it's possible for the RubyGems build process to fail with:
`ERROR: While executing gem ... (Gem::Package::TooLongFileName)`
This can happen if the $ref ids we are using are too long.

This PR makes 3 changes which are applied during the generation of ids only if they too long:
- error responses that can be "one of" many, will now no longer use all of the error names to generate the id
- nested partial responses will no longer use all of the parent field names in the id generation
- endpoint ids will resort to using the initials of the full path, when the id has a clash and the path is too long (this will be super rare).

this is a breaking change, but we're on 0.1.1 and not actually using any generated clients yet. So I'm not marking it as such.

closes: #46
paulsturgess added a commit that referenced this issue Dec 11, 2023
If we use a generator to produce a Ruby client, and then try to build that gem, it's possible for the RubyGems build process to fail with:
`ERROR: While executing gem ... (Gem::Package::TooLongFileName)`
This can happen if the $ref ids we are using are too long.

This PR makes 3 changes which are applied during the generation of ids only if they too long:
- error responses that can be "one of" many, will now no longer use all of the error names to generate the id
- nested partial responses will no longer use all of the parent field names in the id generation
- endpoint ids will resort to using the initials of the full path, when the id has a clash and the path is too long (this will be super rare).

this is a breaking change, but we're on 0.1.1 and not actually using any generated clients yet. So I'm not marking it as such.

closes: #46
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
1 participant