rubygems-update 3.3.3 → 3.3.4
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 +17 -0
- data/bundler/CHANGELOG.md +10 -0
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/ruby_version.rb +1 -1
- data/bundler/lib/bundler/self_manager.rb +24 -6
- data/bundler/lib/bundler/version.rb +1 -1
- data/lib/rubygems/commands/update_command.rb +4 -3
- data/lib/rubygems/specification.rb +0 -1
- data/lib/rubygems.rb +2 -1
- data/rubygems-update.gemspec +1 -1
- data/test/rubygems/test_gem_commands_update_command.rb +25 -0
- 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: a8b1ab86a06b30bdc5a03f3124e2e2c7ac40db3e5c5fb5d2e2ae9f42c6bfd549
|
|
4
|
+
data.tar.gz: c885501752d796f4a2b656a537242e889c04bb1e67f1d6d21da9047225e5d89f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bb514eb2ad2813f5ecf90fbe3ffd1c04bf5af6b34cad1b18f77da08a99c0755b18af42314c2ca1073b2d8af58db2eee81a946dd1890c5098ddaabf263cace321
|
|
7
|
+
data.tar.gz: 978538c03440b713418a53126275355e4b0cc3bf31ea0b6574c1813fcaa8b9efe643dcde824a48b2f19eebdf706d5aeba6a10e6ae488e928cf3058f00e2c6e9a
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
# 3.3.4 / 2021-12-29
|
|
2
|
+
|
|
3
|
+
## Enhancements:
|
|
4
|
+
|
|
5
|
+
* Don't redownload `rubygems-update` package if already there. Pull
|
|
6
|
+
request #5230 by deivid-rodriguez
|
|
7
|
+
* Installs bundler 2.3.4 as a default gem.
|
|
8
|
+
|
|
9
|
+
## Bug fixes:
|
|
10
|
+
|
|
11
|
+
* Fix `gem update --system` crashing when latest version not supported.
|
|
12
|
+
Pull request #5191 by deivid-rodriguez
|
|
13
|
+
|
|
14
|
+
## Performance:
|
|
15
|
+
|
|
16
|
+
* Make SpecificationPolicy autoload constant. Pull request #5222 by pocke
|
|
17
|
+
|
|
1
18
|
# 3.3.3 / 2021-12-24
|
|
2
19
|
|
|
3
20
|
## Enhancements:
|
data/bundler/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
# 2.3.4 (December 29, 2021)
|
|
2
|
+
|
|
3
|
+
## Enhancements:
|
|
4
|
+
|
|
5
|
+
- Improve error message when `BUNDLED WITH` version does not exist [#5205](https://github.com/rubygems/rubygems/pull/5205)
|
|
6
|
+
|
|
7
|
+
## Bug fixes:
|
|
8
|
+
|
|
9
|
+
- Fix `bundle update --bundler` no longer updating lockfile [#5224](https://github.com/rubygems/rubygems/pull/5224)
|
|
10
|
+
|
|
1
11
|
# 2.3.3 (December 24, 2021)
|
|
2
12
|
|
|
3
13
|
## Bug fixes:
|
|
@@ -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-12-
|
|
8
|
-
@git_commit_sha = "
|
|
7
|
+
@built_at = "2021-12-29".freeze
|
|
8
|
+
@git_commit_sha = "2296a0d6cc".freeze
|
|
9
9
|
@release = true
|
|
10
10
|
# end ivars
|
|
11
11
|
|
|
@@ -103,7 +103,7 @@ module Bundler
|
|
|
103
103
|
|
|
104
104
|
def self.system
|
|
105
105
|
ruby_engine = RUBY_ENGINE.dup
|
|
106
|
-
ruby_version =
|
|
106
|
+
ruby_version = RUBY_VERSION.dup
|
|
107
107
|
ruby_engine_version = RUBY_ENGINE_VERSION.dup
|
|
108
108
|
patchlevel = RUBY_PATCHLEVEL.to_s
|
|
109
109
|
|
|
@@ -15,10 +15,6 @@ module Bundler
|
|
|
15
15
|
def install_locked_bundler_and_restart_with_it_if_needed
|
|
16
16
|
return unless needs_switching?
|
|
17
17
|
|
|
18
|
-
Bundler.ui.info \
|
|
19
|
-
"Bundler #{current_version} is running, but your lockfile was generated with #{lockfile_version}. " \
|
|
20
|
-
"Installing Bundler #{lockfile_version} and restarting using that version."
|
|
21
|
-
|
|
22
18
|
install_and_restart_with_locked_bundler
|
|
23
19
|
end
|
|
24
20
|
|
|
@@ -26,8 +22,14 @@ module Bundler
|
|
|
26
22
|
|
|
27
23
|
def install_and_restart_with_locked_bundler
|
|
28
24
|
bundler_dep = Gem::Dependency.new("bundler", lockfile_version)
|
|
25
|
+
spec = fetch_spec_for(bundler_dep)
|
|
26
|
+
return if spec.nil?
|
|
29
27
|
|
|
30
|
-
|
|
28
|
+
Bundler.ui.info \
|
|
29
|
+
"Bundler #{current_version} is running, but your lockfile was generated with #{lockfile_version}. " \
|
|
30
|
+
"Installing Bundler #{lockfile_version} and restarting using that version."
|
|
31
|
+
|
|
32
|
+
spec.source.install(spec)
|
|
31
33
|
rescue StandardError => e
|
|
32
34
|
Bundler.ui.trace e
|
|
33
35
|
Bundler.ui.warn "There was an error installing the locked bundler version (#{lockfile_version}), rerun with the `--verbose` flag for more details. Going on using bundler #{current_version}."
|
|
@@ -35,6 +37,17 @@ module Bundler
|
|
|
35
37
|
restart_with_locked_bundler
|
|
36
38
|
end
|
|
37
39
|
|
|
40
|
+
def fetch_spec_for(bundler_dep)
|
|
41
|
+
source = Bundler::Source::Rubygems.new("remotes" => "https://rubygems.org")
|
|
42
|
+
source.remote!
|
|
43
|
+
source.add_dependency_names("bundler")
|
|
44
|
+
spec = source.specs.search(bundler_dep).first
|
|
45
|
+
if spec.nil?
|
|
46
|
+
Bundler.ui.warn "Your lockfile is locked to a version of bundler (#{lockfile_version}) that doesn't exist at https://rubygems.org/. Going on using #{current_version}"
|
|
47
|
+
end
|
|
48
|
+
spec
|
|
49
|
+
end
|
|
50
|
+
|
|
38
51
|
def restart_with_locked_bundler
|
|
39
52
|
configured_gem_home = ENV["GEM_HOME"]
|
|
40
53
|
configured_gem_path = ENV["GEM_PATH"]
|
|
@@ -56,7 +69,12 @@ module Bundler
|
|
|
56
69
|
SharedHelpers.in_bundle? &&
|
|
57
70
|
lockfile_version &&
|
|
58
71
|
!lockfile_version.end_with?(".dev") &&
|
|
59
|
-
lockfile_version != current_version
|
|
72
|
+
lockfile_version != current_version &&
|
|
73
|
+
!updating?
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def updating?
|
|
77
|
+
"update".start_with?(ARGV.first || " ") && ARGV[1..-1].any? {|a| a.start_with?("--bundler") }
|
|
60
78
|
end
|
|
61
79
|
|
|
62
80
|
def installed?
|
|
@@ -286,10 +286,11 @@ command to remove old versions.
|
|
|
286
286
|
|
|
287
287
|
check_oldest_rubygems version
|
|
288
288
|
|
|
289
|
-
update_gem 'rubygems-update', version
|
|
290
|
-
|
|
291
289
|
installed_gems = Gem::Specification.find_all_by_name 'rubygems-update', requirement
|
|
292
|
-
|
|
290
|
+
installed_gems = update_gem('rubygems-update', version) if installed_gems.empty?
|
|
291
|
+
return if installed_gems.empty?
|
|
292
|
+
|
|
293
|
+
version = installed_gems.first.version
|
|
293
294
|
|
|
294
295
|
install_rubygems version
|
|
295
296
|
end
|
data/lib/rubygems.rb
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
require 'rbconfig'
|
|
9
9
|
|
|
10
10
|
module Gem
|
|
11
|
-
VERSION = "3.3.
|
|
11
|
+
VERSION = "3.3.4".freeze
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
# Must be first since it unloads the prelude from 1.9.2
|
|
@@ -1316,6 +1316,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
|
1316
1316
|
autoload :Source, File.expand_path('rubygems/source', __dir__)
|
|
1317
1317
|
autoload :SourceList, File.expand_path('rubygems/source_list', __dir__)
|
|
1318
1318
|
autoload :SpecFetcher, File.expand_path('rubygems/spec_fetcher', __dir__)
|
|
1319
|
+
autoload :SpecificationPolicy, File.expand_path('rubygems/specification_policy', __dir__)
|
|
1319
1320
|
autoload :Util, File.expand_path('rubygems/util', __dir__)
|
|
1320
1321
|
autoload :Version, File.expand_path('rubygems/version', __dir__)
|
|
1321
1322
|
end
|
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.3.
|
|
5
|
+
s.version = "3.3.4"
|
|
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
|
|
|
@@ -106,6 +106,31 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
|
106
106
|
assert_empty out
|
|
107
107
|
end
|
|
108
108
|
|
|
109
|
+
def test_execute_system_when_latest_does_not_support_your_ruby
|
|
110
|
+
spec_fetcher do |fetcher|
|
|
111
|
+
fetcher.download 'rubygems-update', 9 do |s|
|
|
112
|
+
s.files = %w[setup.rb]
|
|
113
|
+
s.required_ruby_version = '> 9'
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
@cmd.options[:args] = []
|
|
118
|
+
@cmd.options[:system] = true
|
|
119
|
+
|
|
120
|
+
use_ui @ui do
|
|
121
|
+
@cmd.execute
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
out = @ui.output.split "\n"
|
|
125
|
+
assert_equal "Updating rubygems-update", out.shift
|
|
126
|
+
assert_empty out
|
|
127
|
+
|
|
128
|
+
err = @ui.error.split "\n"
|
|
129
|
+
assert_equal "ERROR: Error installing rubygems-update:", err.shift
|
|
130
|
+
assert_equal "\trubygems-update-9 requires Ruby version > 9. The current ruby version is #{Gem.ruby_version}.", err.shift
|
|
131
|
+
assert_empty err
|
|
132
|
+
end
|
|
133
|
+
|
|
109
134
|
def test_execute_system_multiple
|
|
110
135
|
spec_fetcher do |fetcher|
|
|
111
136
|
fetcher.download 'rubygems-update', 8 do |s|
|
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.3.
|
|
4
|
+
version: 3.3.4
|
|
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-12-
|
|
19
|
+
date: 2021-12-29 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
|
|
@@ -804,7 +804,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
804
804
|
- !ruby/object:Gem::Version
|
|
805
805
|
version: '0'
|
|
806
806
|
requirements: []
|
|
807
|
-
rubygems_version: 3.3.
|
|
807
|
+
rubygems_version: 3.3.4
|
|
808
808
|
signing_key:
|
|
809
809
|
specification_version: 4
|
|
810
810
|
summary: RubyGems is a package management framework for Ruby.
|