зеркало из https://github.com/github/ruby.git
[rubygems/rubygems] Fix another incorrect removal of "ruby" platform from lockfile
When dependencies in path sources have changed, we'll be re-resolving, and we can't really know whether the resolution will be valid or invalid for the Ruby platform, so skip the removal in that case. https://github.com/rubygems/rubygems/commit/afc3b0956f
This commit is contained in:
Родитель
af9eeb19d8
Коммит
0fcb4c6af7
|
@ -941,6 +941,7 @@ module Bundler
|
|||
Bundler.local_platform == Gem::Platform::RUBY ||
|
||||
!platforms.include?(Gem::Platform::RUBY) ||
|
||||
(@new_platform && platforms.last == Gem::Platform::RUBY) ||
|
||||
@path_changes ||
|
||||
@dependency_changes ||
|
||||
!@originally_locked_specs.incomplete_ruby_specs?(dependencies)
|
||||
|
||||
|
|
|
@ -782,6 +782,52 @@ RSpec.describe "bundle install with explicit source paths" do
|
|||
|
||||
expect(the_bundle).to include_gems "rack 0.9.1"
|
||||
end
|
||||
|
||||
it "does not remove existing ruby platform" do
|
||||
build_lib "foo", "1.0", :path => lib_path("foo") do |s|
|
||||
s.add_dependency "rack", "0.9.1"
|
||||
end
|
||||
|
||||
lockfile <<~L
|
||||
PATH
|
||||
remote: #{lib_path("foo")}
|
||||
specs:
|
||||
foo (1.0)
|
||||
|
||||
PLATFORMS
|
||||
#{lockfile_platforms("ruby")}
|
||||
|
||||
DEPENDENCIES
|
||||
foo!
|
||||
|
||||
BUNDLED WITH
|
||||
#{Bundler::VERSION}
|
||||
L
|
||||
|
||||
bundle "lock"
|
||||
|
||||
expect(lockfile).to eq <<~G
|
||||
PATH
|
||||
remote: #{lib_path("foo")}
|
||||
specs:
|
||||
foo (1.0)
|
||||
rack (= 0.9.1)
|
||||
|
||||
GEM
|
||||
remote: #{file_uri_for(gem_repo1)}/
|
||||
specs:
|
||||
rack (0.9.1)
|
||||
|
||||
PLATFORMS
|
||||
#{lockfile_platforms("ruby")}
|
||||
|
||||
DEPENDENCIES
|
||||
foo!
|
||||
|
||||
BUNDLED WITH
|
||||
#{Bundler::VERSION}
|
||||
G
|
||||
end
|
||||
end
|
||||
|
||||
describe "switching sources" do
|
||||
|
|
Загрузка…
Ссылка в новой задаче