bundler 2.2.2 → 2.2.7
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 +67 -2
- data/bundler.gemspec +1 -1
- data/lib/bundler.rb +3 -7
- data/lib/bundler/build_metadata.rb +2 -2
- data/lib/bundler/cli.rb +2 -5
- data/lib/bundler/cli/cache.rb +1 -0
- data/lib/bundler/cli/gem.rb +2 -0
- data/lib/bundler/cli/update.rb +1 -1
- data/lib/bundler/compact_index_client/cache.rb +5 -13
- data/lib/bundler/compact_index_client/gem_parser.rb +28 -0
- data/lib/bundler/compact_index_client/updater.rb +0 -8
- data/lib/bundler/definition.rb +29 -21
- data/lib/bundler/dep_proxy.rb +15 -8
- data/lib/bundler/feature_flag.rb +0 -1
- data/lib/bundler/fetcher.rb +0 -1
- data/lib/bundler/gem_helper.rb +9 -7
- data/lib/bundler/gem_helpers.rb +30 -24
- data/lib/bundler/gem_version_promoter.rb +2 -2
- data/lib/bundler/installer.rb +0 -17
- data/lib/bundler/installer/standalone.rb +14 -0
- data/lib/bundler/lazy_specification.rb +10 -11
- data/{man → lib/bundler/man}/bundle-add.1 +1 -1
- data/{man → lib/bundler/man}/bundle-binstubs.1 +1 -1
- data/{man → lib/bundler/man}/bundle-cache.1 +1 -1
- data/{man → lib/bundler/man}/bundle-check.1 +1 -1
- data/{man → lib/bundler/man}/bundle-clean.1 +1 -1
- data/{man → lib/bundler/man}/bundle-config.1 +4 -4
- data/lib/bundler/man/bundle-config.1.ronn +3 -3
- data/{man → lib/bundler/man}/bundle-doctor.1 +1 -1
- data/{man → lib/bundler/man}/bundle-exec.1 +1 -1
- data/{man → lib/bundler/man}/bundle-gem.1 +1 -1
- data/{man → lib/bundler/man}/bundle-info.1 +1 -1
- data/{man → lib/bundler/man}/bundle-init.1 +1 -1
- data/{man → lib/bundler/man}/bundle-inject.1 +1 -1
- data/{man → lib/bundler/man}/bundle-install.1 +1 -1
- data/{man → lib/bundler/man}/bundle-list.1 +1 -1
- data/{man → lib/bundler/man}/bundle-lock.1 +1 -1
- data/{man → lib/bundler/man}/bundle-open.1 +1 -1
- data/{man → lib/bundler/man}/bundle-outdated.1 +1 -1
- data/{man → lib/bundler/man}/bundle-platform.1 +1 -1
- data/{man → lib/bundler/man}/bundle-pristine.1 +1 -1
- data/{man → lib/bundler/man}/bundle-remove.1 +1 -1
- data/{man → lib/bundler/man}/bundle-show.1 +1 -1
- data/{man → lib/bundler/man}/bundle-update.1 +1 -1
- data/{man → lib/bundler/man}/bundle-viz.1 +1 -1
- data/{man → lib/bundler/man}/bundle.1 +1 -1
- data/{man → lib/bundler/man}/gemfile.5 +1 -1
- data/{man → lib/bundler/man}/index.txt +0 -0
- data/lib/bundler/resolver.rb +36 -16
- data/lib/bundler/resolver/spec_group.rb +18 -23
- data/lib/bundler/rubygems_ext.rb +16 -0
- data/lib/bundler/rubygems_integration.rb +0 -5
- data/lib/bundler/settings.rb +1 -1
- data/lib/bundler/source/git.rb +19 -17
- data/lib/bundler/source/git/git_proxy.rb +54 -49
- data/lib/bundler/source/path/installer.rb +2 -0
- data/lib/bundler/source/rubygems.rb +10 -2
- data/lib/bundler/spec_set.rb +6 -9
- data/lib/bundler/templates/newgem/Gemfile.tt +1 -1
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +1 -1
- data/lib/bundler/templates/newgem/rubocop.yml.tt +3 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +7 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +1 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +11 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +11 -7
- data/lib/bundler/version.rb +1 -1
- metadata +30 -29
|
@@ -145,6 +145,8 @@ module Bundler
|
|
|
145
145
|
|
|
146
146
|
Bundler.mkdir_p bin_path, :no_sudo => true unless spec.executables.empty? || Bundler.rubygems.provides?(">= 2.7.5")
|
|
147
147
|
|
|
148
|
+
require_relative "../rubygems_gem_installer"
|
|
149
|
+
|
|
148
150
|
installed_spec = Bundler::RubyGemsGemInstaller.at(
|
|
149
151
|
path,
|
|
150
152
|
:install_dir => install_path.to_s,
|
|
@@ -351,7 +353,6 @@ module Bundler
|
|
|
351
353
|
def installed_specs
|
|
352
354
|
@installed_specs ||= Index.build do |idx|
|
|
353
355
|
Bundler.rubygems.all_specs.reverse_each do |spec|
|
|
354
|
-
next if spec.name == "bundler"
|
|
355
356
|
spec.source = self
|
|
356
357
|
if Bundler.rubygems.spec_missing_extensions?(spec, false)
|
|
357
358
|
Bundler.ui.debug "Source #{self} is ignoring #{spec} because it is missing extensions"
|
|
@@ -487,8 +488,15 @@ module Bundler
|
|
|
487
488
|
uri = spec.remote.uri
|
|
488
489
|
Bundler.ui.confirm("Fetching #{version_message(spec)}")
|
|
489
490
|
rubygems_local_path = Bundler.rubygems.download_gem(spec, uri, download_path)
|
|
491
|
+
|
|
492
|
+
# older rubygems return varying file:// variants depending on version
|
|
493
|
+
rubygems_local_path = rubygems_local_path.gsub(/\Afile:/, "") unless Bundler.rubygems.provides?(">= 3.2.0.rc.2")
|
|
494
|
+
rubygems_local_path = rubygems_local_path.gsub(%r{\A//}, "") if Bundler.rubygems.provides?("< 3.1.0")
|
|
495
|
+
|
|
490
496
|
if rubygems_local_path != local_path
|
|
491
|
-
|
|
497
|
+
SharedHelpers.filesystem_access(local_path) do
|
|
498
|
+
FileUtils.mv(rubygems_local_path, local_path)
|
|
499
|
+
end
|
|
492
500
|
end
|
|
493
501
|
cache_globally(spec, local_path)
|
|
494
502
|
end
|
data/lib/bundler/spec_set.rb
CHANGED
|
@@ -22,12 +22,13 @@ module Bundler
|
|
|
22
22
|
break unless dep = deps.shift
|
|
23
23
|
next if !handled.add?(dep) || skip.include?(dep.name)
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
specs_for_dep = spec_for_dependency(dep, match_current_platform)
|
|
26
|
+
if specs_for_dep.any?
|
|
27
|
+
specs += specs_for_dep
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
specs_for_dep.first.dependencies.each do |d|
|
|
29
30
|
next if d.type == :development
|
|
30
|
-
d = DepProxy.
|
|
31
|
+
d = DepProxy.get_proxy(d, dep.__platform) unless match_current_platform
|
|
31
32
|
deps << d
|
|
32
33
|
end
|
|
33
34
|
elsif check
|
|
@@ -184,11 +185,7 @@ module Bundler
|
|
|
184
185
|
def spec_for_dependency(dep, match_current_platform)
|
|
185
186
|
specs_for_platforms = lookup[dep.name]
|
|
186
187
|
if match_current_platform
|
|
187
|
-
Bundler.
|
|
188
|
-
match = GemHelpers.select_best_platform_match(specs_for_platforms, pl)
|
|
189
|
-
return match if match
|
|
190
|
-
end
|
|
191
|
-
nil
|
|
188
|
+
GemHelpers.select_best_platform_match(specs_for_platforms, Bundler.local_platform)
|
|
192
189
|
else
|
|
193
190
|
GemHelpers.select_best_platform_match(specs_for_platforms, dep.__platform)
|
|
194
191
|
end
|
|
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
|
|
|
14
14
|
<%- if config[:mit] -%>
|
|
15
15
|
spec.license = "MIT"
|
|
16
16
|
<%- end -%>
|
|
17
|
-
spec.required_ruby_version = Gem::Requirement.new(">=
|
|
17
|
+
spec.required_ruby_version = Gem::Requirement.new(">= <%= config[:required_ruby_version] %>")
|
|
18
18
|
|
|
19
19
|
spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
|
|
20
20
|
|
|
@@ -26,6 +26,13 @@ module Bundler::Molinillo
|
|
|
26
26
|
end
|
|
27
27
|
end
|
|
28
28
|
|
|
29
|
+
# (see Bundler::Molinillo::SpecificationProvider#dependencies_equal?)
|
|
30
|
+
def dependencies_equal?(dependencies, other_dependencies)
|
|
31
|
+
with_no_such_dependency_error_handling do
|
|
32
|
+
specification_provider.dependencies_equal?(dependencies, other_dependencies)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
29
36
|
# (see Bundler::Molinillo::SpecificationProvider#name_for)
|
|
30
37
|
def name_for(dependency)
|
|
31
38
|
with_no_such_dependency_error_handling do
|
|
@@ -121,7 +121,7 @@ module Bundler::Molinillo
|
|
|
121
121
|
t = ''.dup
|
|
122
122
|
depth = 2
|
|
123
123
|
tree.each do |req|
|
|
124
|
-
t << ' ' * depth << req
|
|
124
|
+
t << ' ' * depth << printable_requirement.call(req)
|
|
125
125
|
unless tree.last == req
|
|
126
126
|
if spec = conflict.activated_by_name[name_for(req)]
|
|
127
127
|
t << %( was resolved to #{version_for_spec.call(spec)}, which)
|
|
@@ -45,6 +45,17 @@ module Bundler::Molinillo
|
|
|
45
45
|
true
|
|
46
46
|
end
|
|
47
47
|
|
|
48
|
+
# Determines whether two arrays of dependencies are equal, and thus can be
|
|
49
|
+
# grouped.
|
|
50
|
+
#
|
|
51
|
+
# @param [Array<Object>] dependencies
|
|
52
|
+
# @param [Array<Object>] other_dependencies
|
|
53
|
+
# @return [Boolean] whether `dependencies` and `other_dependencies` should
|
|
54
|
+
# be considered equal.
|
|
55
|
+
def dependencies_equal?(dependencies, other_dependencies)
|
|
56
|
+
dependencies == other_dependencies
|
|
57
|
+
end
|
|
58
|
+
|
|
48
59
|
# Returns the name for the given `dependency`.
|
|
49
60
|
# @note This method should be 'pure', i.e. the return value should depend
|
|
50
61
|
# only on the `dependency` parameter.
|
|
@@ -329,11 +329,11 @@ module Bundler::Molinillo
|
|
|
329
329
|
|
|
330
330
|
# Look for past conflicts that could be unwound to affect the
|
|
331
331
|
# requirement tree for the current conflict
|
|
332
|
+
all_reqs = last_detail_for_current_unwind.all_requirements
|
|
333
|
+
all_reqs_size = all_reqs.size
|
|
332
334
|
relevant_unused_unwinds = unused_unwind_options.select do |alternative|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
alternative.requirements_unwound_to_instead
|
|
336
|
-
next if intersecting_requirements.empty?
|
|
335
|
+
diff_reqs = all_reqs - alternative.requirements_unwound_to_instead
|
|
336
|
+
next if diff_reqs.size == all_reqs_size
|
|
337
337
|
# Find the highest index unwind whilst looping through
|
|
338
338
|
current_detail = alternative if alternative > current_detail
|
|
339
339
|
alternative
|
|
@@ -344,8 +344,12 @@ module Bundler::Molinillo
|
|
|
344
344
|
state.unused_unwind_options += unwind_details.reject { |detail| detail.state_index == -1 }
|
|
345
345
|
|
|
346
346
|
# Update the requirements_unwound_to_instead on any relevant unused unwinds
|
|
347
|
-
relevant_unused_unwinds.each
|
|
348
|
-
|
|
347
|
+
relevant_unused_unwinds.each do |d|
|
|
348
|
+
(d.requirements_unwound_to_instead << current_detail.state_requirement).uniq!
|
|
349
|
+
end
|
|
350
|
+
unwind_details.each do |d|
|
|
351
|
+
(d.requirements_unwound_to_instead << current_detail.state_requirement).uniq!
|
|
352
|
+
end
|
|
349
353
|
|
|
350
354
|
current_detail
|
|
351
355
|
end
|
|
@@ -803,7 +807,7 @@ module Bundler::Molinillo
|
|
|
803
807
|
|
|
804
808
|
possibilities.reverse_each do |possibility|
|
|
805
809
|
dependencies = dependencies_for(possibility)
|
|
806
|
-
if current_possibility_set && current_possibility_set.dependencies
|
|
810
|
+
if current_possibility_set && dependencies_equal?(current_possibility_set.dependencies, dependencies)
|
|
807
811
|
current_possibility_set.possibilities.unshift(possibility)
|
|
808
812
|
else
|
|
809
813
|
possibility_sets.unshift(PossibilitySet.new(dependencies, [possibility]))
|
data/lib/bundler/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bundler
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.2.
|
|
4
|
+
version: 2.2.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- André Arko
|
|
@@ -22,7 +22,7 @@ authors:
|
|
|
22
22
|
autorequire:
|
|
23
23
|
bindir: exe
|
|
24
24
|
cert_chain: []
|
|
25
|
-
date:
|
|
25
|
+
date: 2021-01-27 00:00:00.000000000 Z
|
|
26
26
|
dependencies: []
|
|
27
27
|
description: Bundler manages an application's dependencies through its entire life,
|
|
28
28
|
across many machines, systematically and repeatably
|
|
@@ -74,6 +74,7 @@ files:
|
|
|
74
74
|
- lib/bundler/cli/viz.rb
|
|
75
75
|
- lib/bundler/compact_index_client.rb
|
|
76
76
|
- lib/bundler/compact_index_client/cache.rb
|
|
77
|
+
- lib/bundler/compact_index_client/gem_parser.rb
|
|
77
78
|
- lib/bundler/compact_index_client/updater.rb
|
|
78
79
|
- lib/bundler/constants.rb
|
|
79
80
|
- lib/bundler/current_ruby.rb
|
|
@@ -112,31 +113,57 @@ files:
|
|
|
112
113
|
- lib/bundler/lockfile_generator.rb
|
|
113
114
|
- lib/bundler/lockfile_parser.rb
|
|
114
115
|
- lib/bundler/man/.document
|
|
116
|
+
- lib/bundler/man/bundle-add.1
|
|
115
117
|
- lib/bundler/man/bundle-add.1.ronn
|
|
118
|
+
- lib/bundler/man/bundle-binstubs.1
|
|
116
119
|
- lib/bundler/man/bundle-binstubs.1.ronn
|
|
120
|
+
- lib/bundler/man/bundle-cache.1
|
|
117
121
|
- lib/bundler/man/bundle-cache.1.ronn
|
|
122
|
+
- lib/bundler/man/bundle-check.1
|
|
118
123
|
- lib/bundler/man/bundle-check.1.ronn
|
|
124
|
+
- lib/bundler/man/bundle-clean.1
|
|
119
125
|
- lib/bundler/man/bundle-clean.1.ronn
|
|
126
|
+
- lib/bundler/man/bundle-config.1
|
|
120
127
|
- lib/bundler/man/bundle-config.1.ronn
|
|
128
|
+
- lib/bundler/man/bundle-doctor.1
|
|
121
129
|
- lib/bundler/man/bundle-doctor.1.ronn
|
|
130
|
+
- lib/bundler/man/bundle-exec.1
|
|
122
131
|
- lib/bundler/man/bundle-exec.1.ronn
|
|
132
|
+
- lib/bundler/man/bundle-gem.1
|
|
123
133
|
- lib/bundler/man/bundle-gem.1.ronn
|
|
134
|
+
- lib/bundler/man/bundle-info.1
|
|
124
135
|
- lib/bundler/man/bundle-info.1.ronn
|
|
136
|
+
- lib/bundler/man/bundle-init.1
|
|
125
137
|
- lib/bundler/man/bundle-init.1.ronn
|
|
138
|
+
- lib/bundler/man/bundle-inject.1
|
|
126
139
|
- lib/bundler/man/bundle-inject.1.ronn
|
|
140
|
+
- lib/bundler/man/bundle-install.1
|
|
127
141
|
- lib/bundler/man/bundle-install.1.ronn
|
|
142
|
+
- lib/bundler/man/bundle-list.1
|
|
128
143
|
- lib/bundler/man/bundle-list.1.ronn
|
|
144
|
+
- lib/bundler/man/bundle-lock.1
|
|
129
145
|
- lib/bundler/man/bundle-lock.1.ronn
|
|
146
|
+
- lib/bundler/man/bundle-open.1
|
|
130
147
|
- lib/bundler/man/bundle-open.1.ronn
|
|
148
|
+
- lib/bundler/man/bundle-outdated.1
|
|
131
149
|
- lib/bundler/man/bundle-outdated.1.ronn
|
|
150
|
+
- lib/bundler/man/bundle-platform.1
|
|
132
151
|
- lib/bundler/man/bundle-platform.1.ronn
|
|
152
|
+
- lib/bundler/man/bundle-pristine.1
|
|
133
153
|
- lib/bundler/man/bundle-pristine.1.ronn
|
|
154
|
+
- lib/bundler/man/bundle-remove.1
|
|
134
155
|
- lib/bundler/man/bundle-remove.1.ronn
|
|
156
|
+
- lib/bundler/man/bundle-show.1
|
|
135
157
|
- lib/bundler/man/bundle-show.1.ronn
|
|
158
|
+
- lib/bundler/man/bundle-update.1
|
|
136
159
|
- lib/bundler/man/bundle-update.1.ronn
|
|
160
|
+
- lib/bundler/man/bundle-viz.1
|
|
137
161
|
- lib/bundler/man/bundle-viz.1.ronn
|
|
162
|
+
- lib/bundler/man/bundle.1
|
|
138
163
|
- lib/bundler/man/bundle.1.ronn
|
|
164
|
+
- lib/bundler/man/gemfile.5
|
|
139
165
|
- lib/bundler/man/gemfile.5.ronn
|
|
166
|
+
- lib/bundler/man/index.txt
|
|
140
167
|
- lib/bundler/match_platform.rb
|
|
141
168
|
- lib/bundler/mirror.rb
|
|
142
169
|
- lib/bundler/plugin.rb
|
|
@@ -301,32 +328,6 @@ files:
|
|
|
301
328
|
- lib/bundler/vlad.rb
|
|
302
329
|
- lib/bundler/worker.rb
|
|
303
330
|
- lib/bundler/yaml_serializer.rb
|
|
304
|
-
- man/bundle-add.1
|
|
305
|
-
- man/bundle-binstubs.1
|
|
306
|
-
- man/bundle-cache.1
|
|
307
|
-
- man/bundle-check.1
|
|
308
|
-
- man/bundle-clean.1
|
|
309
|
-
- man/bundle-config.1
|
|
310
|
-
- man/bundle-doctor.1
|
|
311
|
-
- man/bundle-exec.1
|
|
312
|
-
- man/bundle-gem.1
|
|
313
|
-
- man/bundle-info.1
|
|
314
|
-
- man/bundle-init.1
|
|
315
|
-
- man/bundle-inject.1
|
|
316
|
-
- man/bundle-install.1
|
|
317
|
-
- man/bundle-list.1
|
|
318
|
-
- man/bundle-lock.1
|
|
319
|
-
- man/bundle-open.1
|
|
320
|
-
- man/bundle-outdated.1
|
|
321
|
-
- man/bundle-platform.1
|
|
322
|
-
- man/bundle-pristine.1
|
|
323
|
-
- man/bundle-remove.1
|
|
324
|
-
- man/bundle-show.1
|
|
325
|
-
- man/bundle-update.1
|
|
326
|
-
- man/bundle-viz.1
|
|
327
|
-
- man/bundle.1
|
|
328
|
-
- man/gemfile.5
|
|
329
|
-
- man/index.txt
|
|
330
331
|
homepage: https://bundler.io
|
|
331
332
|
licenses:
|
|
332
333
|
- MIT
|
|
@@ -350,7 +351,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
350
351
|
- !ruby/object:Gem::Version
|
|
351
352
|
version: 2.5.2
|
|
352
353
|
requirements: []
|
|
353
|
-
rubygems_version: 3.2.
|
|
354
|
+
rubygems_version: 3.2.7
|
|
354
355
|
signing_key:
|
|
355
356
|
specification_version: 4
|
|
356
357
|
summary: The best way to manage your application's dependencies
|