bundler 2.6.5 → 2.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1172 -1024
- data/README.md +7 -7
- data/bundler.gemspec +2 -2
- data/lib/bundler/build_metadata.rb +10 -11
- data/lib/bundler/checksum.rb +22 -12
- data/lib/bundler/cli/common.rb +1 -1
- data/lib/bundler/cli/config.rb +2 -2
- data/lib/bundler/cli/doctor/diagnose.rb +167 -0
- data/lib/bundler/cli/doctor/ssl.rb +249 -0
- data/lib/bundler/cli/doctor.rb +27 -155
- data/lib/bundler/cli/gem.rb +62 -30
- data/lib/bundler/cli/inject.rb +2 -2
- data/lib/bundler/cli/install.rb +5 -5
- data/lib/bundler/cli/issue.rb +2 -2
- data/lib/bundler/cli/lock.rb +2 -1
- data/lib/bundler/cli/outdated.rb +1 -1
- data/lib/bundler/cli/update.rb +3 -3
- data/lib/bundler/cli.rb +26 -49
- data/lib/bundler/compact_index_client/cache.rb +1 -1
- data/lib/bundler/compact_index_client/parser.rb +1 -1
- data/lib/bundler/compact_index_client/updater.rb +2 -1
- data/lib/bundler/compact_index_client.rb +1 -5
- data/lib/bundler/current_ruby.rb +27 -3
- data/lib/bundler/definition.rb +184 -151
- data/lib/bundler/dependency.rb +1 -1
- data/lib/bundler/dsl.rb +35 -26
- data/lib/bundler/errors.rb +18 -0
- data/lib/bundler/feature_flag.rb +15 -12
- data/lib/bundler/fetcher/dependency.rb +2 -1
- data/lib/bundler/fetcher/downloader.rb +33 -7
- data/lib/bundler/fetcher.rb +49 -19
- data/lib/bundler/friendly_errors.rb +3 -2
- data/lib/bundler/index.rb +7 -2
- data/lib/bundler/injector.rb +9 -9
- data/lib/bundler/installer.rb +6 -5
- data/lib/bundler/lazy_specification.rb +38 -19
- data/lib/bundler/lockfile_parser.rb +29 -10
- data/lib/bundler/man/bundle-add.1 +1 -1
- data/lib/bundler/man/bundle-binstubs.1 +1 -1
- data/lib/bundler/man/bundle-cache.1 +1 -1
- data/lib/bundler/man/bundle-check.1 +1 -1
- data/lib/bundler/man/bundle-clean.1 +1 -1
- data/lib/bundler/man/bundle-config.1 +175 -129
- data/lib/bundler/man/bundle-config.1.ronn +93 -88
- data/lib/bundler/man/bundle-console.1 +1 -1
- data/lib/bundler/man/bundle-doctor.1 +43 -4
- data/lib/bundler/man/bundle-doctor.1.ronn +48 -4
- data/lib/bundler/man/bundle-env.1 +1 -1
- data/lib/bundler/man/bundle-exec.1 +3 -3
- data/lib/bundler/man/bundle-exec.1.ronn +2 -2
- data/lib/bundler/man/bundle-fund.1 +1 -1
- data/lib/bundler/man/bundle-gem.1 +67 -44
- data/lib/bundler/man/bundle-gem.1.ronn +8 -4
- data/lib/bundler/man/bundle-help.1 +1 -1
- data/lib/bundler/man/bundle-info.1 +1 -1
- data/lib/bundler/man/bundle-init.1 +1 -1
- data/lib/bundler/man/bundle-inject.1 +2 -2
- data/lib/bundler/man/bundle-inject.1.ronn +1 -1
- data/lib/bundler/man/bundle-install.1 +4 -4
- data/lib/bundler/man/bundle-install.1.ronn +3 -4
- data/lib/bundler/man/bundle-issue.1 +1 -1
- data/lib/bundler/man/bundle-licenses.1 +1 -1
- data/lib/bundler/man/bundle-list.1 +1 -1
- data/lib/bundler/man/bundle-lock.1 +1 -1
- data/lib/bundler/man/bundle-open.1 +1 -1
- data/lib/bundler/man/bundle-outdated.1 +1 -1
- data/lib/bundler/man/bundle-platform.1 +1 -1
- data/lib/bundler/man/bundle-plugin.1 +1 -1
- data/lib/bundler/man/bundle-pristine.1 +1 -1
- data/lib/bundler/man/bundle-remove.1 +1 -1
- data/lib/bundler/man/bundle-show.1 +1 -1
- data/lib/bundler/man/bundle-update.1 +5 -5
- data/lib/bundler/man/bundle-update.1.ronn +4 -4
- data/lib/bundler/man/bundle-version.1 +1 -1
- data/lib/bundler/man/bundle-viz.1 +1 -1
- data/lib/bundler/man/bundle.1 +1 -1
- data/lib/bundler/man/gemfile.5 +1 -1
- data/lib/bundler/match_platform.rb +31 -12
- data/lib/bundler/materialization.rb +2 -2
- data/lib/bundler/plugin/api/source.rb +1 -1
- data/lib/bundler/plugin/index.rb +1 -1
- data/lib/bundler/plugin/installer/path.rb +8 -0
- data/lib/bundler/plugin.rb +1 -1
- data/lib/bundler/resolver/candidate.rb +12 -9
- data/lib/bundler/resolver/package.rb +1 -1
- data/lib/bundler/resolver/strategy.rb +40 -0
- data/lib/bundler/resolver.rb +18 -27
- data/lib/bundler/rubygems_ext.rb +131 -120
- data/lib/bundler/rubygems_integration.rb +11 -6
- data/lib/bundler/runtime.rb +9 -6
- data/lib/bundler/self_manager.rb +32 -42
- data/lib/bundler/settings/validator.rb +0 -23
- data/lib/bundler/settings.rb +4 -6
- data/lib/bundler/shared_helpers.rb +10 -4
- data/lib/bundler/source/gemspec.rb +1 -4
- data/lib/bundler/source/git/git_proxy.rb +17 -6
- data/lib/bundler/source/git.rb +5 -1
- data/lib/bundler/source/path.rb +9 -2
- data/lib/bundler/source/rubygems/remote.rb +11 -3
- data/lib/bundler/source_list.rb +30 -16
- data/lib/bundler/source_map.rb +1 -1
- data/lib/bundler/spec_set.rb +55 -16
- data/lib/bundler/templates/Executable +0 -11
- data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +2 -0
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +6 -5
- data/lib/bundler/ui/shell.rb +2 -2
- data/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +53 -3
- data/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
- data/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +11 -0
- data/lib/bundler/vendor/net-http-persistent/README.rdoc +1 -1
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +2 -1
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +81 -42
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +4 -24
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/strategy.rb +42 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +20 -8
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +17 -29
- data/lib/bundler/vendor/uri/lib/uri/common.rb +7 -3
- data/lib/bundler/vendor/uri/lib/uri/generic.rb +12 -11
- data/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +6 -6
- data/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
- data/lib/bundler/version.rb +10 -2
- data/lib/bundler/worker.rb +1 -1
- data/lib/bundler.rb +14 -12
- metadata +9 -16
- data/lib/bundler/compact_index_client/gem_parser.rb +0 -32
- data/lib/bundler/gem_helpers.rb +0 -144
- data/lib/bundler/templates/Executable.bundler +0 -109
- data/lib/bundler/vendor/connection_pool/.document +0 -1
- data/lib/bundler/vendor/fileutils/.document +0 -1
- data/lib/bundler/vendor/net-http-persistent/.document +0 -1
- data/lib/bundler/vendor/pub_grub/.document +0 -1
- data/lib/bundler/vendor/securerandom/.document +0 -1
- data/lib/bundler/vendor/thor/.document +0 -1
- data/lib/bundler/vendor/tsort/.document +0 -1
- data/lib/bundler/vendor/uri/.document +0 -1
@@ -9,13 +9,13 @@ bundle-update(1) -- Update your gems to the latest available versions
|
|
9
9
|
[--local]
|
10
10
|
[--ruby]
|
11
11
|
[--bundler[=VERSION]]
|
12
|
+
[--force]
|
12
13
|
[--full-index]
|
13
14
|
[--gemfile=GEMFILE]
|
14
15
|
[--jobs=NUMBER]
|
15
16
|
[--quiet]
|
16
17
|
[--patch|--minor|--major]
|
17
18
|
[--pre]
|
18
|
-
[--redownload]
|
19
19
|
[--strict]
|
20
20
|
[--conservative]
|
21
21
|
|
@@ -54,6 +54,9 @@ gem.
|
|
54
54
|
* `--bundler[=BUNDLER]`:
|
55
55
|
Update the locked version of bundler to the invoked bundler version.
|
56
56
|
|
57
|
+
* `--force`, `--redownload`:
|
58
|
+
Force reinstalling every gem, even if already installed.
|
59
|
+
|
57
60
|
* `--full-index`:
|
58
61
|
Fall back to using the single-file index of all gems.
|
59
62
|
|
@@ -70,9 +73,6 @@ gem.
|
|
70
73
|
* `--quiet`:
|
71
74
|
Only output warnings and errors.
|
72
75
|
|
73
|
-
* `--redownload`, `--force`:
|
74
|
-
Force downloading every gem.
|
75
|
-
|
76
76
|
* `--patch`:
|
77
77
|
Prefer updating only to next patch version.
|
78
78
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with Ronn-NG/v0.10.1
|
2
2
|
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
3
|
-
.TH "BUNDLE\-VIZ" "1" "
|
3
|
+
.TH "BUNDLE\-VIZ" "1" "July 2025" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-viz\fR \- Generates a visual dependency graph for your Gemfile
|
6
6
|
.SH "SYNOPSIS"
|
data/lib/bundler/man/bundle.1
CHANGED
data/lib/bundler/man/gemfile.5
CHANGED
@@ -1,23 +1,42 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative "gem_helpers"
|
4
|
-
|
5
3
|
module Bundler
|
6
4
|
module MatchPlatform
|
7
|
-
|
5
|
+
def installable_on_platform?(target_platform) # :nodoc:
|
6
|
+
return true if [Gem::Platform::RUBY, nil, target_platform].include?(platform)
|
7
|
+
return true if Gem::Platform.new(platform) === target_platform
|
8
8
|
|
9
|
-
|
10
|
-
MatchPlatform.platforms_match?(platform, p)
|
9
|
+
false
|
11
10
|
end
|
12
11
|
|
13
|
-
def self.
|
14
|
-
|
15
|
-
return true if gemspec_platform == Gem::Platform::RUBY
|
16
|
-
return true if local_platform == gemspec_platform
|
17
|
-
gemspec_platform = Gem::Platform.new(gemspec_platform)
|
18
|
-
return true if gemspec_platform === local_platform
|
12
|
+
def self.select_best_platform_match(specs, platform, force_ruby: false, prefer_locked: false)
|
13
|
+
matching = select_all_platform_match(specs, platform, force_ruby: force_ruby, prefer_locked: prefer_locked)
|
19
14
|
|
20
|
-
|
15
|
+
Gem::Platform.sort_and_filter_best_platform_match(matching, platform)
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.select_best_local_platform_match(specs, force_ruby: false)
|
19
|
+
local = Bundler.local_platform
|
20
|
+
matching = select_all_platform_match(specs, local, force_ruby: force_ruby).filter_map(&:materialized_for_installation)
|
21
|
+
|
22
|
+
Gem::Platform.sort_best_platform_match(matching, local)
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.select_all_platform_match(specs, platform, force_ruby: false, prefer_locked: false)
|
26
|
+
matching = specs.select {|spec| spec.installable_on_platform?(force_ruby ? Gem::Platform::RUBY : platform) }
|
27
|
+
|
28
|
+
specs.each(&:force_ruby_platform!) if force_ruby
|
29
|
+
|
30
|
+
if prefer_locked
|
31
|
+
locked_originally = matching.select {|spec| spec.is_a?(::Bundler::LazySpecification) }
|
32
|
+
return locked_originally if locked_originally.any?
|
33
|
+
end
|
34
|
+
|
35
|
+
matching
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.generic_local_platform_is_ruby?
|
39
|
+
Bundler.generic_local_platform == Gem::Platform::RUBY
|
21
40
|
end
|
22
41
|
end
|
23
42
|
end
|
@@ -22,9 +22,9 @@ module Bundler
|
|
22
22
|
@specs ||= if @candidates.nil?
|
23
23
|
[]
|
24
24
|
elsif platform
|
25
|
-
|
25
|
+
MatchPlatform.select_best_platform_match(@candidates, platform, force_ruby: dep.force_ruby_platform)
|
26
26
|
else
|
27
|
-
|
27
|
+
MatchPlatform.select_best_local_platform_match(@candidates, force_ruby: dep.force_ruby_platform || dep.default_force_ruby_platform)
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
data/lib/bundler/plugin/index.rb
CHANGED
@@ -8,6 +8,14 @@ module Bundler
|
|
8
8
|
SharedHelpers.in_bundle? ? Bundler.root : Plugin.root
|
9
9
|
end
|
10
10
|
|
11
|
+
def eql?(other)
|
12
|
+
return unless other.class == self.class
|
13
|
+
expanded_original_path == other.expanded_original_path &&
|
14
|
+
version == other.version
|
15
|
+
end
|
16
|
+
|
17
|
+
alias_method :==, :eql?
|
18
|
+
|
11
19
|
def generate_bin(spec, disable_extensions = false)
|
12
20
|
# Need to find a way without code duplication
|
13
21
|
# For now, we can ignore this
|
data/lib/bundler/plugin.rb
CHANGED
@@ -195,7 +195,7 @@ module Bundler
|
|
195
195
|
@sources[name]
|
196
196
|
end
|
197
197
|
|
198
|
-
# @param [Hash] The options that are present in the
|
198
|
+
# @param [Hash] The options that are present in the lockfile
|
199
199
|
# @return [API::Source] the instance of the class that handles the source
|
200
200
|
# type passed in locked_opts
|
201
201
|
def from_lock(locked_opts)
|
@@ -17,7 +17,7 @@ module Bundler
|
|
17
17
|
# Some candidates may also keep some information explicitly about the
|
18
18
|
# package they refer to. These candidates are referred to as "canonical" and
|
19
19
|
# are used when materializing resolution results back into RubyGems
|
20
|
-
# specifications that can be installed, written to
|
20
|
+
# specifications that can be installed, written to lockfiles, and so on.
|
21
21
|
#
|
22
22
|
class Candidate
|
23
23
|
include Comparable
|
@@ -48,35 +48,38 @@ module Bundler
|
|
48
48
|
@version.segments
|
49
49
|
end
|
50
50
|
|
51
|
-
def sort_obj
|
52
|
-
[@version, @priority]
|
53
|
-
end
|
54
|
-
|
55
51
|
def <=>(other)
|
56
52
|
return unless other.is_a?(self.class)
|
57
53
|
|
58
|
-
|
54
|
+
version_comparison = version <=> other.version
|
55
|
+
return version_comparison unless version_comparison.zero?
|
56
|
+
|
57
|
+
priority <=> other.priority
|
59
58
|
end
|
60
59
|
|
61
60
|
def ==(other)
|
62
61
|
return unless other.is_a?(self.class)
|
63
62
|
|
64
|
-
|
63
|
+
version == other.version && priority == other.priority
|
65
64
|
end
|
66
65
|
|
67
66
|
def eql?(other)
|
68
67
|
return unless other.is_a?(self.class)
|
69
68
|
|
70
|
-
|
69
|
+
version.eql?(other.version) && priority.eql?(other.priority)
|
71
70
|
end
|
72
71
|
|
73
72
|
def hash
|
74
|
-
|
73
|
+
[@version, @priority].hash
|
75
74
|
end
|
76
75
|
|
77
76
|
def to_s
|
78
77
|
@version.to_s
|
79
78
|
end
|
79
|
+
|
80
|
+
protected
|
81
|
+
|
82
|
+
attr_reader :priority
|
80
83
|
end
|
81
84
|
end
|
82
85
|
end
|
@@ -30,7 +30,7 @@ module Bundler
|
|
30
30
|
def platform_specs(specs)
|
31
31
|
platforms.map do |platform|
|
32
32
|
prefer_locked = @new_platforms.include?(platform) ? false : !unlock?
|
33
|
-
|
33
|
+
MatchPlatform.select_best_platform_match(specs, platform, prefer_locked: prefer_locked)
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Bundler
|
4
|
+
class Resolver
|
5
|
+
class Strategy
|
6
|
+
def initialize(source)
|
7
|
+
@source = source
|
8
|
+
end
|
9
|
+
|
10
|
+
def next_package_and_version(unsatisfied)
|
11
|
+
package, range = next_term_to_try_from(unsatisfied)
|
12
|
+
|
13
|
+
[package, most_preferred_version_of(package, range).first]
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def next_term_to_try_from(unsatisfied)
|
19
|
+
unsatisfied.min_by do |package, range|
|
20
|
+
matching_versions = @source.versions_for(package, range)
|
21
|
+
higher_versions = @source.versions_for(package, range.upper_invert)
|
22
|
+
|
23
|
+
[matching_versions.count <= 1 ? 0 : 1, higher_versions.count]
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def most_preferred_version_of(package, range)
|
28
|
+
versions = @source.versions_for(package, range)
|
29
|
+
|
30
|
+
# Conditional avoids (among other things) calling
|
31
|
+
# sort_versions_by_preferred with the root package
|
32
|
+
if versions.size > 1
|
33
|
+
@source.sort_versions_by_preferred(package, versions)
|
34
|
+
else
|
35
|
+
versions
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
data/lib/bundler/resolver.rb
CHANGED
@@ -12,8 +12,7 @@ module Bundler
|
|
12
12
|
require_relative "resolver/candidate"
|
13
13
|
require_relative "resolver/incompatibility"
|
14
14
|
require_relative "resolver/root"
|
15
|
-
|
16
|
-
include GemHelpers
|
15
|
+
require_relative "resolver/strategy"
|
17
16
|
|
18
17
|
def initialize(base, gem_version_promoter, most_specific_locked_platform = nil)
|
19
18
|
@source_requirements = base.source_requirements
|
@@ -78,7 +77,7 @@ module Bundler
|
|
78
77
|
end
|
79
78
|
|
80
79
|
def solve_versions(root:, logger:)
|
81
|
-
solver = PubGrub::VersionSolver.new(source: self, root: root, logger: logger)
|
80
|
+
solver = PubGrub::VersionSolver.new(source: self, root: root, strategy: Strategy.new(self), logger: logger)
|
82
81
|
result = solver.solve
|
83
82
|
resolved_specs = result.flat_map {|package, version| version.to_specs(package, @most_specific_locked_platform) }
|
84
83
|
SpecSet.new(resolved_specs).specs_with_additional_variants_from(@base.locked_specs)
|
@@ -167,15 +166,7 @@ module Bundler
|
|
167
166
|
end
|
168
167
|
|
169
168
|
def versions_for(package, range=VersionRange.any)
|
170
|
-
|
171
|
-
|
172
|
-
# Conditional avoids (among other things) calling
|
173
|
-
# sort_versions_by_preferred with the root package
|
174
|
-
if versions.size > 1
|
175
|
-
sort_versions_by_preferred(package, versions)
|
176
|
-
else
|
177
|
-
versions
|
178
|
-
end
|
169
|
+
range.select_versions(@sorted_versions[package])
|
179
170
|
end
|
180
171
|
|
181
172
|
def no_versions_incompatibility_for(package, unsatisfied_term)
|
@@ -280,12 +271,12 @@ module Bundler
|
|
280
271
|
next groups if platform_specs.all?(&:empty?)
|
281
272
|
end
|
282
273
|
|
283
|
-
ruby_specs = select_best_platform_match(specs, Gem::Platform::RUBY)
|
274
|
+
ruby_specs = MatchPlatform.select_best_platform_match(specs, Gem::Platform::RUBY)
|
284
275
|
ruby_group = Resolver::SpecGroup.new(ruby_specs)
|
285
276
|
|
286
277
|
unless ruby_group.empty?
|
287
|
-
platform_specs.each do |
|
288
|
-
ruby_group.merge(Resolver::SpecGroup.new(
|
278
|
+
platform_specs.each do |s|
|
279
|
+
ruby_group.merge(Resolver::SpecGroup.new(s))
|
289
280
|
end
|
290
281
|
|
291
282
|
groups << Resolver::Candidate.new(version, group: ruby_group, priority: -1)
|
@@ -319,6 +310,16 @@ module Bundler
|
|
319
310
|
"Gemfile"
|
320
311
|
end
|
321
312
|
|
313
|
+
def raise_incomplete!(incomplete_specs)
|
314
|
+
raise_not_found!(@base.get_package(incomplete_specs.first.name))
|
315
|
+
end
|
316
|
+
|
317
|
+
def sort_versions_by_preferred(package, versions)
|
318
|
+
@gem_version_promoter.sort_versions(package, versions)
|
319
|
+
end
|
320
|
+
|
321
|
+
private
|
322
|
+
|
322
323
|
def raise_not_found!(package)
|
323
324
|
name = package.name
|
324
325
|
source = source_for(name)
|
@@ -355,8 +356,6 @@ module Bundler
|
|
355
356
|
raise GemNotFound, message
|
356
357
|
end
|
357
358
|
|
358
|
-
private
|
359
|
-
|
360
359
|
def filtered_versions_for(package)
|
361
360
|
@gem_version_promoter.filter_versions(package, @all_versions[package])
|
362
361
|
end
|
@@ -414,10 +413,6 @@ module Bundler
|
|
414
413
|
requirement.satisfied_by?(spec.version) || spec.source.is_a?(Source::Gemspec)
|
415
414
|
end
|
416
415
|
|
417
|
-
def sort_versions_by_preferred(package, versions)
|
418
|
-
@gem_version_promoter.sort_versions(package, versions)
|
419
|
-
end
|
420
|
-
|
421
416
|
def repository_for(package)
|
422
417
|
source_for(package.name)
|
423
418
|
end
|
@@ -433,7 +428,7 @@ module Bundler
|
|
433
428
|
next [dep_package, dep_constraint] if name == "bundler"
|
434
429
|
|
435
430
|
dep_range = dep_constraint.range
|
436
|
-
versions =
|
431
|
+
versions = versions_for(dep_package, dep_range)
|
437
432
|
if versions.empty?
|
438
433
|
if dep_package.ignores_prereleases? || dep_package.prefer_local?
|
439
434
|
@all_versions.delete(dep_package)
|
@@ -441,7 +436,7 @@ module Bundler
|
|
441
436
|
end
|
442
437
|
dep_package.consider_prereleases! if dep_package.ignores_prereleases?
|
443
438
|
dep_package.consider_remote_versions! if dep_package.prefer_local?
|
444
|
-
versions =
|
439
|
+
versions = versions_for(dep_package, dep_range)
|
445
440
|
end
|
446
441
|
|
447
442
|
if versions.empty? && select_all_versions(dep_package, dep_range).any?
|
@@ -456,10 +451,6 @@ module Bundler
|
|
456
451
|
end.to_h
|
457
452
|
end
|
458
453
|
|
459
|
-
def select_sorted_versions(package, range)
|
460
|
-
range.select_versions(@sorted_versions[package])
|
461
|
-
end
|
462
|
-
|
463
454
|
def select_all_versions(package, range)
|
464
455
|
range.select_versions(@all_versions[package])
|
465
456
|
end
|