rubygems-update 3.2.6 → 3.2.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/bundler/CHANGELOG.md +19 -0
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli/cache.rb +1 -0
- data/bundler/lib/bundler/definition.rb +1 -0
- data/bundler/lib/bundler/feature_flag.rb +0 -1
- data/bundler/lib/bundler/fetcher.rb +0 -1
- data/bundler/lib/bundler/gem_helper.rb +8 -6
- data/bundler/lib/bundler/installer.rb +0 -17
- data/bundler/lib/bundler/installer/standalone.rb +14 -0
- data/bundler/lib/bundler/lazy_specification.rb +1 -1
- data/bundler/lib/bundler/man/bundle-add.1 +1 -1
- data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
- data/bundler/lib/bundler/man/bundle-cache.1 +1 -1
- data/bundler/lib/bundler/man/bundle-check.1 +1 -1
- data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
- data/bundler/lib/bundler/man/bundle-config.1 +4 -4
- data/bundler/lib/bundler/man/bundle-config.1.ronn +3 -3
- data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/lib/bundler/man/bundle-exec.1 +1 -1
- data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
- data/bundler/lib/bundler/man/bundle-info.1 +1 -1
- data/bundler/lib/bundler/man/bundle-init.1 +1 -1
- data/bundler/lib/bundler/man/bundle-inject.1 +1 -1
- data/bundler/lib/bundler/man/bundle-install.1 +1 -1
- data/bundler/lib/bundler/man/bundle-list.1 +1 -1
- data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
- data/bundler/lib/bundler/man/bundle-open.1 +1 -1
- data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
- data/bundler/lib/bundler/man/bundle-platform.1 +1 -1
- data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
- data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
- data/bundler/lib/bundler/man/bundle-show.1 +1 -1
- data/bundler/lib/bundler/man/bundle-update.1 +1 -1
- data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
- data/bundler/lib/bundler/man/bundle.1 +1 -1
- data/bundler/lib/bundler/man/gemfile.5 +1 -1
- data/bundler/lib/bundler/resolver.rb +32 -17
- data/bundler/lib/bundler/resolver/spec_group.rb +1 -4
- data/bundler/lib/bundler/settings.rb +1 -1
- data/bundler/lib/bundler/source/git.rb +1 -1
- data/bundler/lib/bundler/source/rubygems.rb +0 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +7 -0
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +11 -0
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +1 -1
- data/bundler/lib/bundler/version.rb +1 -1
- data/lib/rubygems.rb +1 -1
- data/lib/rubygems/installer_uninstaller_utils.rb +6 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb +1 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +1 -1
- data/rubygems-update.gemspec +1 -1
- data/test/rubygems/test_gem_installer.rb +2 -0
- data/test/rubygems/test_gem_stream_ui.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6c18e3412218b88b1351a2dcd3096240a1b5fa833aa26c58efee7a70e72601d4
|
4
|
+
data.tar.gz: 9f8fff96b275641a2fd60220cbfa98343af11c177c8797261f1d99089f4345c0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb78b68b419a3ffa8e70a9688c563510c93982c0d3c26969594639bcf41ba6345b3a48cf1c4f756689a202d1b8d9be416d19715d18acea2640dd6dcb53cee2d1
|
7
|
+
data.tar.gz: 98fb817e049053336bd47a5525a4247096558eef13efd10e5a7c38ea407569ef62fe29d135142854759874424c624bf51ed292606257a9539e60d991f891abd2
|
data/CHANGELOG.md
CHANGED
data/bundler/CHANGELOG.md
CHANGED
@@ -1,3 +1,22 @@
|
|
1
|
+
# 2.2.7 (January 26, 2021)
|
2
|
+
|
3
|
+
## Enhancements:
|
4
|
+
|
5
|
+
- Improve error messages when dependency on bundler conflicts with running version [#4308](https://github.com/rubygems/rubygems/pull/4308)
|
6
|
+
- Avoid showing platforms with requirements in error messages [#4310](https://github.com/rubygems/rubygems/pull/4310)
|
7
|
+
- Introduce disable_local_revision_check config [#4237](https://github.com/rubygems/rubygems/pull/4237)
|
8
|
+
- Reverse rubygems require mixin with bundler standalone [#4299](https://github.com/rubygems/rubygems/pull/4299)
|
9
|
+
|
10
|
+
## Bug fixes:
|
11
|
+
|
12
|
+
- Fix releasing from a not yet pushed branch [#4309](https://github.com/rubygems/rubygems/pull/4309)
|
13
|
+
- Install cache only once if it already exists [#4304](https://github.com/rubygems/rubygems/pull/4304)
|
14
|
+
- Fix `force_ruby_platform` no longer being respected [#4302](https://github.com/rubygems/rubygems/pull/4302)
|
15
|
+
|
16
|
+
## Performance:
|
17
|
+
|
18
|
+
- Fix resolver dependency comparison [#4289](https://github.com/rubygems/rubygems/pull/4289)
|
19
|
+
|
1
20
|
# 2.2.6 (January 18, 2021)
|
2
21
|
|
3
22
|
## Enhancements:
|
@@ -4,8 +4,8 @@ module Bundler
|
|
4
4
|
# Represents metadata from when the Bundler gem was built.
|
5
5
|
module BuildMetadata
|
6
6
|
# begin ivars
|
7
|
-
@built_at = "2021-01-
|
8
|
-
@git_commit_sha = "
|
7
|
+
@built_at = "2021-01-27".freeze
|
8
|
+
@git_commit_sha = "7bc7ecb660".freeze
|
9
9
|
@release = true
|
10
10
|
# end ivars
|
11
11
|
|
@@ -913,6 +913,7 @@ module Bundler
|
|
913
913
|
metadata_dependencies.each do |dep|
|
914
914
|
source_requirements[dep.name] = sources.metadata_source
|
915
915
|
end
|
916
|
+
source_requirements[:default_bundler] = source_requirements["bundler"] || source_requirements[:default]
|
916
917
|
source_requirements["bundler"] = sources.metadata_source # needs to come last to override
|
917
918
|
source_requirements
|
918
919
|
end
|
@@ -27,7 +27,6 @@ module Bundler
|
|
27
27
|
|
28
28
|
(1..10).each {|v| define_method("bundler_#{v}_mode?") { major_version >= v } }
|
29
29
|
|
30
|
-
settings_flag(:allow_bundler_dependency_conflicts) { bundler_3_mode? }
|
31
30
|
settings_flag(:allow_offline_install) { bundler_3_mode? }
|
32
31
|
settings_flag(:auto_clean_without_path) { bundler_3_mode? }
|
33
32
|
settings_flag(:cache_all) { bundler_3_mode? }
|
@@ -116,19 +116,21 @@ module Bundler
|
|
116
116
|
|
117
117
|
def git_push(remote = nil)
|
118
118
|
remote ||= default_remote
|
119
|
-
perform_git_push remote
|
119
|
+
perform_git_push "#{remote} refs/heads/#{current_branch}"
|
120
120
|
perform_git_push "#{remote} refs/tags/#{version_tag}"
|
121
121
|
Bundler.ui.confirm "Pushed git commits and release tag."
|
122
122
|
end
|
123
123
|
|
124
124
|
def default_remote
|
125
|
-
|
126
|
-
|
125
|
+
remote_for_branch, status = sh_with_status(%W[git config --get branch.#{current_branch}.remote])
|
126
|
+
return "origin" unless status.success?
|
127
127
|
|
128
|
-
remote_for_branch
|
129
|
-
|
128
|
+
remote_for_branch.strip
|
129
|
+
end
|
130
130
|
|
131
|
-
|
131
|
+
def current_branch
|
132
|
+
# We can replace this with `git branch --show-current` once we drop support for git < 2.22.0
|
133
|
+
sh(%w[git rev-parse --abbrev-ref HEAD]).gsub(%r{\Aheads/}, "").strip
|
132
134
|
end
|
133
135
|
|
134
136
|
def allowed_push_host
|
@@ -82,7 +82,6 @@ module Bundler
|
|
82
82
|
|
83
83
|
if resolve_if_needed(options)
|
84
84
|
ensure_specs_are_compatible!
|
85
|
-
warn_on_incompatible_bundler_deps
|
86
85
|
load_plugins
|
87
86
|
options.delete(:jobs)
|
88
87
|
else
|
@@ -265,22 +264,6 @@ module Bundler
|
|
265
264
|
end
|
266
265
|
end
|
267
266
|
|
268
|
-
def warn_on_incompatible_bundler_deps
|
269
|
-
bundler_version = Gem::Version.create(Bundler::VERSION)
|
270
|
-
@definition.specs.each do |spec|
|
271
|
-
spec.dependencies.each do |dep|
|
272
|
-
next if dep.type == :development
|
273
|
-
next unless dep.name == "bundler".freeze
|
274
|
-
next if dep.requirement.satisfied_by?(bundler_version)
|
275
|
-
|
276
|
-
Bundler.ui.warn "#{spec.name} (#{spec.version}) has dependency" \
|
277
|
-
" #{SharedHelpers.pretty_dependency(dep)}" \
|
278
|
-
", which is unsatisfied by the current bundler version #{VERSION}" \
|
279
|
-
", so the dependency is being ignored"
|
280
|
-
end
|
281
|
-
end
|
282
|
-
end
|
283
|
-
|
284
267
|
def install_in_parallel(size, standalone, force = false)
|
285
268
|
spec_installations = ParallelInstaller.call(self, @definition.specs, size, standalone, force)
|
286
269
|
spec_installations.each do |installation|
|
@@ -15,6 +15,7 @@ module Bundler
|
|
15
15
|
file.puts "ruby_engine = RUBY_ENGINE"
|
16
16
|
file.puts "ruby_version = RbConfig::CONFIG[\"ruby_version\"]"
|
17
17
|
file.puts "path = File.expand_path('..', __FILE__)"
|
18
|
+
file.puts reverse_rubygems_kernel_mixin
|
18
19
|
paths.each do |path|
|
19
20
|
file.puts %($:.unshift File.expand_path("\#{path}/#{path}"))
|
20
21
|
end
|
@@ -48,5 +49,18 @@ module Bundler
|
|
48
49
|
error_message = "#{spec.name} #{spec.version} has an invalid gemspec"
|
49
50
|
raise Gem::InvalidSpecificationException.new(error_message)
|
50
51
|
end
|
52
|
+
|
53
|
+
def reverse_rubygems_kernel_mixin
|
54
|
+
<<~END
|
55
|
+
kernel = (class << ::Kernel; self; end)
|
56
|
+
[kernel, ::Kernel].each do |k|
|
57
|
+
if k.private_method_defined?(:gem_original_require)
|
58
|
+
k.send(:remove_method, :require)
|
59
|
+
k.send(:define_method, :require, k.instance_method(:gem_original_require))
|
60
|
+
k.send(:private, :require)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
END
|
64
|
+
end
|
51
65
|
end
|
52
66
|
end
|
@@ -140,7 +140,7 @@ module Bundler
|
|
140
140
|
# explicitly add a more specific platform.
|
141
141
|
#
|
142
142
|
def ruby_platform_materializes_to_ruby_platform?
|
143
|
-
!Bundler.most_specific_locked_platform?(Gem::Platform::RUBY)
|
143
|
+
!Bundler.most_specific_locked_platform?(Gem::Platform::RUBY) || Bundler.settings[:force_ruby_platform]
|
144
144
|
end
|
145
145
|
end
|
146
146
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-BINSTUBS" "1" "
|
4
|
+
.TH "BUNDLE\-BINSTUBS" "1" "January 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-binstubs\fR \- Install the binstubs of the listed gems
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-CACHE" "1" "
|
4
|
+
.TH "BUNDLE\-CACHE" "1" "January 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-CHECK" "1" "
|
4
|
+
.TH "BUNDLE\-CHECK" "1" "January 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-CLEAN" "1" "
|
4
|
+
.TH "BUNDLE\-CLEAN" "1" "January 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-CONFIG" "1" "
|
4
|
+
.TH "BUNDLE\-CONFIG" "1" "January 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-config\fR \- Set bundler configuration options
|
@@ -136,9 +136,6 @@ Any periods in the configuration keys must be replaced with two underscores when
|
|
136
136
|
The following is a list of all configuration keys and their purpose\. You can learn more about their operation in bundle install(1) \fIbundle\-install\.1\.html\fR\.
|
137
137
|
.
|
138
138
|
.IP "\(bu" 4
|
139
|
-
\fBallow_bundler_dependency_conflicts\fR (\fBBUNDLE_ALLOW_BUNDLER_DEPENDENCY_CONFLICTS\fR): Allow resolving to specifications that have dependencies on \fBbundler\fR that are incompatible with the running Bundler version\.
|
140
|
-
.
|
141
|
-
.IP "\(bu" 4
|
142
139
|
\fBallow_deployment_source_credential_changes\fR (\fBBUNDLE_ALLOW_DEPLOYMENT_SOURCE_CREDENTIAL_CHANGES\fR): When in deployment mode, allow changing the credentials to a gem\'s source\. Ex: \fBhttps://some\.host\.com/gems/path/\fR \-> \fBhttps://user_name:password@some\.host\.com/gems/path\fR
|
143
140
|
.
|
144
141
|
.IP "\(bu" 4
|
@@ -184,6 +181,9 @@ The following is a list of all configuration keys and their purpose\. You can le
|
|
184
181
|
\fBdisable_local_branch_check\fR (\fBBUNDLE_DISABLE_LOCAL_BRANCH_CHECK\fR): Allow Bundler to use a local git override without a branch specified in the Gemfile\.
|
185
182
|
.
|
186
183
|
.IP "\(bu" 4
|
184
|
+
\fBdisable_local_revision_check\fR (\fBBUNDLE_DISABLE_LOCAL_REVISION_CHECK\fR): Allow Bundler to use a local git override without checking if the revision present in the lockfile is present in the repository\.
|
185
|
+
.
|
186
|
+
.IP "\(bu" 4
|
187
187
|
\fBdisable_multisource\fR (\fBBUNDLE_DISABLE_MULTISOURCE\fR): When set, Gemfiles containing multiple sources will produce errors instead of warnings\. Use \fBbundle config unset disable_multisource\fR to unset\.
|
188
188
|
.
|
189
189
|
.IP "\(bu" 4
|
@@ -133,9 +133,6 @@ the environment variable `BUNDLE_LOCAL__RACK`.
|
|
133
133
|
The following is a list of all configuration keys and their purpose. You can
|
134
134
|
learn more about their operation in [bundle install(1)](bundle-install.1.html).
|
135
135
|
|
136
|
-
* `allow_bundler_dependency_conflicts` (`BUNDLE_ALLOW_BUNDLER_DEPENDENCY_CONFLICTS`):
|
137
|
-
Allow resolving to specifications that have dependencies on `bundler` that
|
138
|
-
are incompatible with the running Bundler version.
|
139
136
|
* `allow_deployment_source_credential_changes` (`BUNDLE_ALLOW_DEPLOYMENT_SOURCE_CREDENTIAL_CHANGES`):
|
140
137
|
When in deployment mode, allow changing the credentials to a gem's source.
|
141
138
|
Ex: `https://some.host.com/gems/path/` -> `https://user_name:password@some.host.com/gems/path`
|
@@ -178,6 +175,9 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
|
|
178
175
|
* `disable_local_branch_check` (`BUNDLE_DISABLE_LOCAL_BRANCH_CHECK`):
|
179
176
|
Allow Bundler to use a local git override without a branch specified in the
|
180
177
|
Gemfile.
|
178
|
+
* `disable_local_revision_check` (`BUNDLE_DISABLE_LOCAL_REVISION_CHECK`):
|
179
|
+
Allow Bundler to use a local git override without checking if the revision
|
180
|
+
present in the lockfile is present in the repository.
|
181
181
|
* `disable_multisource` (`BUNDLE_DISABLE_MULTISOURCE`):
|
182
182
|
When set, Gemfiles containing multiple sources will produce errors
|
183
183
|
instead of warnings.
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INFO" "1" "
|
4
|
+
.TH "BUNDLE\-INFO" "1" "January 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-info\fR \- Show information for the given gem in your bundle
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INIT" "1" "
|
4
|
+
.TH "BUNDLE\-INIT" "1" "January 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-init\fR \- Generates a Gemfile into the current working directory
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INJECT" "1" "
|
4
|
+
.TH "BUNDLE\-INJECT" "1" "January 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-inject\fR \- Add named gem(s) with version requirements to Gemfile
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INSTALL" "1" "
|
4
|
+
.TH "BUNDLE\-INSTALL" "1" "January 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-install\fR \- Install the dependencies specified in your Gemfile
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-OPEN" "1" "
|
4
|
+
.TH "BUNDLE\-OPEN" "1" "January 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-open\fR \- Opens the source directory for a gem in your bundle
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-OUTDATED" "1" "
|
4
|
+
.TH "BUNDLE\-OUTDATED" "1" "January 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-outdated\fR \- List installed gems with newer versions available
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-PLATFORM" "1" "
|
4
|
+
.TH "BUNDLE\-PLATFORM" "1" "January 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-platform\fR \- Displays platform compatibility information
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-PRISTINE" "1" "
|
4
|
+
.TH "BUNDLE\-PRISTINE" "1" "January 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-pristine\fR \- Restores installed gems to their pristine condition
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-SHOW" "1" "
|
4
|
+
.TH "BUNDLE\-SHOW" "1" "January 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-UPDATE" "1" "
|
4
|
+
.TH "BUNDLE\-UPDATE" "1" "January 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-update\fR \- Update your gems to the latest available versions
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-VIZ" "1" "
|
4
|
+
.TH "BUNDLE\-VIZ" "1" "January 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-viz\fR \- Generates a visual dependency graph for your Gemfile
|
@@ -37,7 +37,6 @@ module Bundler
|
|
37
37
|
additional_base_requirements.each {|d| @base_dg.add_vertex(d.name, d) }
|
38
38
|
@platforms = platforms
|
39
39
|
@gem_version_promoter = gem_version_promoter
|
40
|
-
@allow_bundler_dependency_conflicts = Bundler.feature_flag.allow_bundler_dependency_conflicts?
|
41
40
|
@use_gvp = Bundler.feature_flag.use_gem_version_promoter_for_major_updates? || !@gem_version_promoter.major?
|
42
41
|
@lockfile_uses_separate_rubygems_sources = Bundler.feature_flag.disable_multisource?
|
43
42
|
end
|
@@ -138,7 +137,6 @@ module Bundler
|
|
138
137
|
nested.reduce([]) do |groups, (version, specs)|
|
139
138
|
next groups if locked_requirement && !locked_requirement.satisfied_by?(version)
|
140
139
|
spec_group = SpecGroup.new(specs)
|
141
|
-
spec_group.ignores_bundler_dependencies = @allow_bundler_dependency_conflicts
|
142
140
|
groups << spec_group
|
143
141
|
end
|
144
142
|
else
|
@@ -165,10 +163,7 @@ module Bundler
|
|
165
163
|
sg_ruby = sg.copy_for([Gem::Platform::RUBY])
|
166
164
|
next unless sg_ruby
|
167
165
|
|
168
|
-
|
169
|
-
sg_all_platforms_deps = sg_all_platforms.dependencies_for_activated_platforms.map(&:dep)
|
170
|
-
|
171
|
-
selected_sgs.insert(-2, sg_ruby) if sg_ruby_deps != sg_all_platforms_deps
|
166
|
+
selected_sgs.insert(-2, sg_ruby)
|
172
167
|
end
|
173
168
|
selected_sgs
|
174
169
|
end
|
@@ -211,6 +206,10 @@ module Bundler
|
|
211
206
|
requirement.matches_spec?(spec) || spec.source.is_a?(Source::Gemspec)
|
212
207
|
end
|
213
208
|
|
209
|
+
def dependencies_equal?(dependencies, other_dependencies)
|
210
|
+
dependencies.map(&:dep) == other_dependencies.map(&:dep)
|
211
|
+
end
|
212
|
+
|
214
213
|
def relevant_sources_for_vertex(vertex)
|
215
214
|
if vertex.root?
|
216
215
|
[@source_requirements[vertex.name]]
|
@@ -329,10 +328,16 @@ module Bundler
|
|
329
328
|
def version_conflict_message(e)
|
330
329
|
# only show essential conflicts, if possible
|
331
330
|
conflicts = e.conflicts.dup
|
332
|
-
|
333
|
-
|
334
|
-
|
331
|
+
|
332
|
+
if conflicts["bundler"]
|
333
|
+
conflicts.replace("bundler" => conflicts["bundler"])
|
334
|
+
else
|
335
|
+
conflicts.delete_if do |_name, conflict|
|
336
|
+
deps = conflict.requirement_trees.map(&:last).flatten(1)
|
337
|
+
!Bundler::VersionRanges.empty?(*Bundler::VersionRanges.for_many(deps.map(&:requirement)))
|
338
|
+
end
|
335
339
|
end
|
340
|
+
|
336
341
|
e = Molinillo::VersionConflict.new(conflicts, e.specification_provider) unless conflicts.empty?
|
337
342
|
|
338
343
|
solver_name = "Bundler"
|
@@ -360,15 +365,25 @@ module Bundler
|
|
360
365
|
:additional_message_for_conflict => lambda do |o, name, conflict|
|
361
366
|
if name == "bundler"
|
362
367
|
o << %(\n Current Bundler version:\n bundler (#{Bundler::VERSION}))
|
363
|
-
other_bundler_required = !conflict.requirement.requirement.satisfied_by?(Gem::Version.new(Bundler::VERSION))
|
364
|
-
end
|
365
368
|
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
369
|
+
conflict_dependency = conflict.requirement
|
370
|
+
conflict_requirement = conflict_dependency.requirement
|
371
|
+
other_bundler_required = !conflict_requirement.satisfied_by?(Gem::Version.new(Bundler::VERSION))
|
372
|
+
|
373
|
+
if other_bundler_required
|
374
|
+
o << "\n\n"
|
375
|
+
|
376
|
+
candidate_specs = @source_requirements[:default_bundler].specs.search(conflict_dependency)
|
377
|
+
if candidate_specs.any?
|
378
|
+
target_version = candidate_specs.last.version
|
379
|
+
new_command = [File.basename($PROGRAM_NAME), "_#{target_version}_", *ARGV].join(" ")
|
380
|
+
o << "Your bundle requires a different version of Bundler than the one you're running.\n"
|
381
|
+
o << "Install the necessary version with `gem install bundler:#{target_version}` and rerun bundler using `#{new_command}`\n"
|
382
|
+
else
|
383
|
+
o << "Your bundle requires a different version of Bundler than the one you're running, and that version could not be found.\n"
|
384
|
+
end
|
385
|
+
end
|
386
|
+
elsif conflict.locked_requirement
|
372
387
|
o << "\n"
|
373
388
|
o << %(Running `bundle update` will rebuild your snapshot from scratch, using only\n)
|
374
389
|
o << %(the gems in your Gemfile, which may resolve the conflict.\n)
|
@@ -6,7 +6,7 @@ module Bundler
|
|
6
6
|
include GemHelpers
|
7
7
|
|
8
8
|
attr_accessor :name, :version, :source
|
9
|
-
attr_accessor :
|
9
|
+
attr_accessor :activated_platforms
|
10
10
|
|
11
11
|
def initialize(all_specs)
|
12
12
|
@all_specs = all_specs
|
@@ -20,7 +20,6 @@ module Bundler
|
|
20
20
|
@specs = Hash.new do |specs, platform|
|
21
21
|
specs[platform] = select_best_platform_match(all_specs, platform)
|
22
22
|
end
|
23
|
-
@ignores_bundler_dependencies = true
|
24
23
|
end
|
25
24
|
|
26
25
|
def to_specs
|
@@ -41,7 +40,6 @@ module Bundler
|
|
41
40
|
return unless platforms.any?
|
42
41
|
|
43
42
|
copied_sg = self.class.new(@all_specs)
|
44
|
-
copied_sg.ignores_bundler_dependencies = @ignores_bundler_dependencies
|
45
43
|
copied_sg.activated_platforms = platforms
|
46
44
|
copied_sg
|
47
45
|
end
|
@@ -98,7 +96,6 @@ module Bundler
|
|
98
96
|
if spec = specs.first
|
99
97
|
spec.dependencies.each do |dep|
|
100
98
|
next if dep.type == :development
|
101
|
-
next if @ignores_bundler_dependencies && dep.name == "bundler".freeze
|
102
99
|
dependencies[platform] << DepProxy.get_proxy(dep, platform)
|
103
100
|
end
|
104
101
|
end
|
@@ -7,7 +7,6 @@ module Bundler
|
|
7
7
|
autoload :Validator, File.expand_path("settings/validator", __dir__)
|
8
8
|
|
9
9
|
BOOL_KEYS = %w[
|
10
|
-
allow_bundler_dependency_conflicts
|
11
10
|
allow_deployment_source_credential_changes
|
12
11
|
allow_offline_install
|
13
12
|
auto_clean_without_path
|
@@ -20,6 +19,7 @@ module Bundler
|
|
20
19
|
disable_checksum_validation
|
21
20
|
disable_exec_load
|
22
21
|
disable_local_branch_check
|
22
|
+
disable_local_revision_check
|
23
23
|
disable_multisource
|
24
24
|
disable_shared_gems
|
25
25
|
disable_version_check
|
@@ -148,7 +148,7 @@ module Bundler
|
|
148
148
|
|
149
149
|
changed = cached_revision && cached_revision != git_proxy.revision
|
150
150
|
|
151
|
-
if changed && !@unlocked && !git_proxy.contains?(cached_revision)
|
151
|
+
if !Bundler.settings[:disable_local_revision_check] && changed && !@unlocked && !git_proxy.contains?(cached_revision)
|
152
152
|
raise GitError, "The Gemfile lock is pointing to revision #{shortref_for_display(cached_revision)} " \
|
153
153
|
"but the current branch in your local override for #{name} does not contain such commit. " \
|
154
154
|
"Please make sure your branch is up to date."
|
@@ -353,7 +353,6 @@ module Bundler
|
|
353
353
|
def installed_specs
|
354
354
|
@installed_specs ||= Index.build do |idx|
|
355
355
|
Bundler.rubygems.all_specs.reverse_each do |spec|
|
356
|
-
next if spec.name == "bundler"
|
357
356
|
spec.source = self
|
358
357
|
if Bundler.rubygems.spec_missing_extensions?(spec, false)
|
359
358
|
Bundler.ui.debug "Source #{self} is ignoring #{spec} because it is missing extensions"
|
@@ -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.
|
@@ -807,7 +807,7 @@ module Bundler::Molinillo
|
|
807
807
|
|
808
808
|
possibilities.reverse_each do |possibility|
|
809
809
|
dependencies = dependencies_for(possibility)
|
810
|
-
if current_possibility_set && current_possibility_set.dependencies
|
810
|
+
if current_possibility_set && dependencies_equal?(current_possibility_set.dependencies, dependencies)
|
811
811
|
current_possibility_set.possibilities.unshift(possibility)
|
812
812
|
else
|
813
813
|
possibility_sets.unshift(PossibilitySet.new(dependencies, [possibility]))
|
data/lib/rubygems.rb
CHANGED
@@ -6,11 +6,16 @@
|
|
6
6
|
module Gem::InstallerUninstallerUtils
|
7
7
|
|
8
8
|
def regenerate_plugins_for(spec, plugins_dir)
|
9
|
+
plugins = spec.plugins
|
10
|
+
return if plugins.empty?
|
11
|
+
|
12
|
+
require 'pathname'
|
13
|
+
|
9
14
|
spec.plugins.each do |plugin|
|
10
15
|
plugin_script_path = File.join plugins_dir, "#{spec.name}_plugin#{File.extname(plugin)}"
|
11
16
|
|
12
17
|
File.open plugin_script_path, 'wb' do |file|
|
13
|
-
file.puts "
|
18
|
+
file.puts "require_relative '#{Pathname.new(plugin).relative_path_from(Pathname.new(plugins_dir))}'"
|
14
19
|
end
|
15
20
|
|
16
21
|
verbose plugin_script_path
|
@@ -128,7 +128,7 @@ module Gem::Resolver::Molinillo
|
|
128
128
|
|
129
129
|
# Is there a path from `self` to `other` following edges in the
|
130
130
|
# dependency graph?
|
131
|
-
# @return
|
131
|
+
# @return whether there is a path following edges within this {#graph}
|
132
132
|
def path_to?(other)
|
133
133
|
_path_to?(other)
|
134
134
|
end
|
@@ -34,7 +34,7 @@ module Gem::Resolver::Molinillo
|
|
34
34
|
|
35
35
|
# An error caused by attempting to fulfil a dependency that was circular
|
36
36
|
#
|
37
|
-
# @note This exception will be thrown
|
37
|
+
# @note This exception will be thrown if and only if a {Vertex} is added to a
|
38
38
|
# {DependencyGraph} that has a {DependencyGraph::Vertex#path_to?} an
|
39
39
|
# existing {DependencyGraph::Vertex}
|
40
40
|
class CircularDependencyError < ResolverError
|
data/rubygems-update.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "rubygems-update"
|
5
|
-
s.version = "3.2.
|
5
|
+
s.version = "3.2.7"
|
6
6
|
s.authors = ["Jim Weirich", "Chad Fowler", "Eric Hodel", "Luis Lavena", "Aaron Patterson", "Samuel Giddins", "André Arko", "Evan Phoenix", "Hiroshi SHIBATA"]
|
7
7
|
s.email = ["", "", "drbrain@segment7.net", "luislavena@gmail.com", "aaron@tenderlovemaking.com", "segiddins@segiddins.me", "andre@arko.net", "evan@phx.io", "hsbt@ruby-lang.org"]
|
8
8
|
|
@@ -821,6 +821,8 @@ gem 'other', version
|
|
821
821
|
|
822
822
|
assert !File.exist?(system_path), 'plugin written incorrect written to system plugins_dir'
|
823
823
|
assert File.exist?(build_root_path), 'plugin not written to build_root'
|
824
|
+
|
825
|
+
refute_includes File.read(build_root_path), build_root
|
824
826
|
end
|
825
827
|
|
826
828
|
def test_keeps_plugins_up_to_date
|
@@ -5,7 +5,7 @@ require 'timeout'
|
|
5
5
|
|
6
6
|
class TestGemStreamUI < Gem::TestCase
|
7
7
|
# increase timeout with MJIT for --jit-wait testing
|
8
|
-
mjit_enabled = defined?(RubyVM::MJIT) && RubyVM::MJIT.enabled?
|
8
|
+
mjit_enabled = defined?(RubyVM::JIT) ? RubyVM::JIT.enabled? : defined?(RubyVM::MJIT) && RubyVM::MJIT.enabled?
|
9
9
|
SHORT_TIMEOUT = (RUBY_ENGINE == "ruby" && !mjit_enabled) ? 0.1 : 1.0
|
10
10
|
|
11
11
|
module IsTty
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubygems-update
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Weirich
|
@@ -16,7 +16,7 @@ authors:
|
|
16
16
|
autorequire:
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
|
-
date: 2021-01-
|
19
|
+
date: 2021-01-27 00:00:00.000000000 Z
|
20
20
|
dependencies: []
|
21
21
|
description: |-
|
22
22
|
A package (also known as a library) contains a set of functionality
|
@@ -765,7 +765,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
765
765
|
- !ruby/object:Gem::Version
|
766
766
|
version: '0'
|
767
767
|
requirements: []
|
768
|
-
rubygems_version: 3.
|
768
|
+
rubygems_version: 3.2.7
|
769
769
|
signing_key:
|
770
770
|
specification_version: 4
|
771
771
|
summary: RubyGems is a package management framework for Ruby.
|