2018-11-02 19:07:56 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
RSpec.describe "bundle cache with multiple platforms" do
|
|
|
|
before :each do
|
|
|
|
gemfile <<-G
|
2019-05-06 12:06:21 -04:00
|
|
|
source "#{file_uri_for(gem_repo1)}"
|
2018-11-02 19:07:56 -04:00
|
|
|
|
|
|
|
platforms :mri, :rbx do
|
|
|
|
gem "rack", "1.0.0"
|
|
|
|
end
|
|
|
|
|
|
|
|
platforms :jruby do
|
|
|
|
gem "activesupport", "2.3.5"
|
|
|
|
end
|
|
|
|
G
|
|
|
|
|
|
|
|
lockfile <<-G
|
|
|
|
GEM
|
2019-05-06 12:06:21 -04:00
|
|
|
remote: #{file_uri_for(gem_repo1)}/
|
2018-11-02 19:07:56 -04:00
|
|
|
specs:
|
|
|
|
rack (1.0.0)
|
|
|
|
activesupport (2.3.5)
|
|
|
|
|
|
|
|
PLATFORMS
|
|
|
|
ruby
|
|
|
|
java
|
|
|
|
|
|
|
|
DEPENDENCIES
|
|
|
|
rack (1.0.0)
|
|
|
|
activesupport (2.3.5)
|
|
|
|
G
|
|
|
|
|
|
|
|
cache_gems "rack-1.0.0", "activesupport-2.3.5"
|
|
|
|
end
|
|
|
|
|
|
|
|
it "ensures that a successful bundle install does not delete gems for other platforms" do
|
|
|
|
bundle! "install"
|
|
|
|
|
|
|
|
expect(bundled_app("vendor/cache/rack-1.0.0.gem")).to exist
|
|
|
|
expect(bundled_app("vendor/cache/activesupport-2.3.5.gem")).to exist
|
|
|
|
end
|
|
|
|
|
|
|
|
it "ensures that a successful bundle update does not delete gems for other platforms" do
|
2019-04-14 02:01:35 -04:00
|
|
|
bundle! "update", :all => true
|
2018-11-02 19:07:56 -04:00
|
|
|
|
|
|
|
expect(bundled_app("vendor/cache/rack-1.0.0.gem")).to exist
|
|
|
|
expect(bundled_app("vendor/cache/activesupport-2.3.5.gem")).to exist
|
|
|
|
end
|
|
|
|
end
|