Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Fix resolution when different platform specific gems have different dependencies #7324

Merged
merged 7 commits into from
Dec 26, 2023

Conversation

deivid-rodriguez
Copy link
Member

What was the end-user or developer problem that led to this PR?

If two platform specific variants of the same gem version have different dependencies, our resolver may fallback to picking only the RUBY variant. However, some platform specific gems may still be compatible with the resolution.

What is your fix for the problem, implemented in this PR?

Do one pass after resolution completing platforms specific gems that may be compatible.

Fixes #7321.

Make sure the following tasks are checked

If two platform specific variants have different dependencies, then
resolution may fallback to the non platform specific variant. However,
the platform specific variants that have the same dependencies as the
non specific one can still be kept.

Do a pass to complete those after resolution.
@deivid-rodriguez
Copy link
Member Author

I added a spec for this but turns out our own lockfile was suffering from this and caught the bug too!

@deivid-rodriguez deivid-rodriguez merged commit 5246c0f into master Dec 26, 2023
80 checks passed
@deivid-rodriguez deivid-rodriguez deleted the fix-multiplatform-resolution branch December 26, 2023 13:46
deivid-rodriguez added a commit that referenced this pull request Jan 3, 2024
Fix resolution when different platform specific gems have different dependencies

(cherry picked from commit 5246c0f)
AnyOldName3 added a commit to openscenegraph/openscenegraph.io that referenced this pull request Jan 3, 2024
The bug is fixed by rubygems/rubygems#7324

This is what the fixed version would have produced.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

google-protobuf won't build on Linux after adding MinGW platform
1 participant