summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2024-06-26 13:11:16 +0200
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2024-08-05 11:58:07 +0900
commit7285e7649340ef18d307092d294b3d190e3d80b2 (patch)
tree64400f7eb447f5ec2d3aac23fa826870c3af2a01 /test/ruby
parenta35d32486242641ccd2ac98d43211343a3712c52 (diff)
Fix truffleruby removing gems from lockfile
When resolving on truffleruby, and multiple platforms are included in the lockfile, Bundler will not respect existing platforms, but always force ruby variants. That means removal of existing version specific variants, introducing lockfile churn between implementations. To prevent this, we introduce the distinction between `Dependency#force_ruby_platform`, only settable via Gemfile, and `Dependency#default_force_ruby_platform`, which is always true on truffleruby for certain dependency names. This way, when resolving lockfile gems for other platforms on truffleruby, we keep platform specific variants in the lockfile. However, that introduces the problem that if only platform specific variants are locked in the lockfile, Bundler won't be able to materialize on truffleruby because the generic variant will be missing. To fix this additional problem, we make sure the generic "ruby" platform is always added when resolving on truffleruby.
Diffstat (limited to 'test/ruby')
0 files changed, 0 insertions, 0 deletions