[rubygems/rubygems] Fix bundle outdated <GEM>
failing if gems not installed
https://github.com/rubygems/rubygems/commit/694d5f444e
This commit is contained in:
parent
d78ff6a767
commit
11c9e4f1ce
@ -26,13 +26,15 @@ module Bundler
|
|||||||
def run
|
def run
|
||||||
check_for_deployment_mode!
|
check_for_deployment_mode!
|
||||||
|
|
||||||
gems.each do |gem_name|
|
|
||||||
Bundler::CLI::Common.select_spec(gem_name)
|
|
||||||
end
|
|
||||||
|
|
||||||
Bundler.definition.validate_runtime!
|
Bundler.definition.validate_runtime!
|
||||||
current_specs = Bundler.ui.silence { Bundler.definition.resolve }
|
current_specs = Bundler.ui.silence { Bundler.definition.resolve }
|
||||||
|
|
||||||
|
gems.each do |gem_name|
|
||||||
|
if current_specs[gem_name].empty?
|
||||||
|
raise GemNotFound, "Could not find gem '#{gem_name}'."
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
current_dependencies = Bundler.ui.silence do
|
current_dependencies = Bundler.ui.silence do
|
||||||
Bundler.load.dependencies.map {|dep| [dep.name, dep] }.to_h
|
Bundler.load.dependencies.map {|dep| [dep.name, dep] }.to_h
|
||||||
end
|
end
|
||||||
|
@ -526,6 +526,44 @@ RSpec.describe "bundle outdated" do
|
|||||||
|
|
||||||
expect(out).to match(Regexp.new(expected_output))
|
expect(out).to match(Regexp.new(expected_output))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "does not require gems to be installed" do
|
||||||
|
build_repo4 do
|
||||||
|
build_gem "zeitwerk", "1.0.0"
|
||||||
|
build_gem "zeitwerk", "2.0.0"
|
||||||
|
end
|
||||||
|
|
||||||
|
gemfile <<-G
|
||||||
|
source "https://gem.repo4"
|
||||||
|
gem "zeitwerk"
|
||||||
|
G
|
||||||
|
|
||||||
|
lockfile <<~L
|
||||||
|
GEM
|
||||||
|
remote: https://gem.repo4/
|
||||||
|
specs:
|
||||||
|
zeitwerk (1.0.0)
|
||||||
|
|
||||||
|
PLATFORMS
|
||||||
|
#{lockfile_platforms}
|
||||||
|
|
||||||
|
DEPENDENCIES
|
||||||
|
zeitwerk
|
||||||
|
|
||||||
|
BUNDLED WITH
|
||||||
|
#{Bundler::VERSION}
|
||||||
|
L
|
||||||
|
|
||||||
|
bundle "outdated zeitwerk", raise_on_error: false
|
||||||
|
|
||||||
|
expected_output = <<~TABLE.tr(".", "\.").strip
|
||||||
|
Gem Current Latest Requested Groups
|
||||||
|
zeitwerk 1.0.0 2.0.0 >= 0 default
|
||||||
|
TABLE
|
||||||
|
|
||||||
|
expect(out).to match(Regexp.new(expected_output))
|
||||||
|
expect(err).to be_empty
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "pre-release gems" do
|
describe "pre-release gems" do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user