Skip to content

Commit

Permalink
[rubygems/rubygems] Fix bundle platform crash when there's a lockfi…
Browse files Browse the repository at this point in the history
…le with no Ruby locked

rubygems/rubygems@49fc54e87d
  • Loading branch information
deivid-rodriguez authored and matzbot committed Aug 21, 2022
1 parent f6d4d73 commit b87ddd7
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/bundler/cli/platform.rb
Expand Up @@ -9,7 +9,7 @@ def initialize(options)

def run
platforms, ruby_version = Bundler.ui.silence do
locked_ruby_version = Bundler.locked_gems && Bundler.locked_gems.ruby_version.gsub(/p\d+\Z/, "")
locked_ruby_version = Bundler.locked_gems && Bundler.locked_gems.ruby_version&.gsub(/p\d+\Z/, "")
gemfile_ruby_version = Bundler.definition.ruby_version && Bundler.definition.ruby_version.single_version_string
[Bundler.definition.platforms.map {|p| "* #{p}" },
locked_ruby_version || gemfile_ruby_version]
Expand Down
23 changes: 23 additions & 0 deletions spec/bundler/commands/platform_spec.rb
Expand Up @@ -234,6 +234,29 @@
expect(out).to eq("ruby 1.0.0")
end

it "handles when there is a lockfile with no requirement" do
gemfile <<-G
source "#{file_uri_for(gem_repo1)}"
G

lockfile <<-L
GEM
remote: #{file_uri_for(gem_repo1)}/
specs:
PLATFORMS
ruby
DEPENDENCIES
BUNDLED WITH
#{Bundler::VERSION}
L

bundle "platform --ruby"
expect(out).to eq("No ruby version specified")
end

it "handles when there is a requirement in the gemfile" do
gemfile <<-G
source "#{file_uri_for(gem_repo1)}"
Expand Down

0 comments on commit b87ddd7

Please sign in to comment.