rubygems-update 3.3.19 → 3.3.20
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +20 -0
- data/bin/update_rubygems +1 -1
- data/bundler/CHANGELOG.md +26 -0
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli/install.rb +5 -2
- data/bundler/lib/bundler/cli/outdated.rb +12 -3
- data/bundler/lib/bundler/cli/platform.rb +1 -1
- data/bundler/lib/bundler/cli.rb +5 -3
- data/bundler/lib/bundler/definition.rb +61 -11
- data/bundler/lib/bundler/fetcher.rb +6 -6
- data/bundler/lib/bundler/gem_helpers.rb +7 -1
- data/bundler/lib/bundler/installer/standalone.rb +1 -1
- data/bundler/lib/bundler/installer.rb +8 -1
- data/bundler/lib/bundler/lazy_specification.rb +21 -21
- data/bundler/lib/bundler/man/bundle-cache.1 +6 -0
- data/bundler/lib/bundler/man/bundle-cache.1.ronn +7 -0
- data/bundler/lib/bundler/man/bundle-config.1 +2 -2
- data/bundler/lib/bundler/man/bundle-config.1.ronn +3 -3
- data/bundler/lib/bundler/man/bundle-install.1 +4 -0
- data/bundler/lib/bundler/man/bundle-install.1.ronn +6 -0
- data/bundler/lib/bundler/man/bundle-platform.1 +15 -5
- data/bundler/lib/bundler/man/bundle-platform.1.ronn +14 -7
- data/bundler/lib/bundler/man/bundle.1 +3 -6
- data/bundler/lib/bundler/man/bundle.1.ronn +3 -4
- data/bundler/lib/bundler/resolver.rb +2 -1
- data/bundler/lib/bundler/ruby_dsl.rb +1 -1
- data/bundler/lib/bundler/ruby_version.rb +5 -5
- data/bundler/lib/bundler/rubygems_ext.rb +13 -0
- data/bundler/lib/bundler/source/metadata.rb +1 -1
- data/bundler/lib/bundler/source_list.rb +4 -0
- data/bundler/lib/bundler/spec_set.rb +15 -28
- data/bundler/lib/bundler/version.rb +1 -1
- data/lib/rubygems/available_set.rb +3 -3
- data/lib/rubygems/basic_specification.rb +2 -2
- data/lib/rubygems/command.rb +6 -6
- data/lib/rubygems/commands/cert_command.rb +1 -1
- data/lib/rubygems/commands/cleanup_command.rb +1 -1
- data/lib/rubygems/commands/contents_command.rb +1 -1
- data/lib/rubygems/commands/dependency_command.rb +4 -4
- data/lib/rubygems/commands/fetch_command.rb +2 -2
- data/lib/rubygems/commands/generate_index_command.rb +2 -2
- data/lib/rubygems/commands/install_command.rb +7 -7
- data/lib/rubygems/commands/pristine_command.rb +5 -5
- data/lib/rubygems/commands/setup_command.rb +4 -4
- data/lib/rubygems/commands/sources_command.rb +3 -3
- data/lib/rubygems/commands/specification_command.rb +2 -2
- data/lib/rubygems/commands/uninstall_command.rb +4 -4
- data/lib/rubygems/commands/update_command.rb +5 -5
- data/lib/rubygems/commands/which_command.rb +1 -1
- data/lib/rubygems/config_file.rb +7 -7
- data/lib/rubygems/core_ext/kernel_warn.rb +1 -1
- data/lib/rubygems/defaults.rb +1 -1
- data/lib/rubygems/dependency.rb +5 -5
- data/lib/rubygems/dependency_installer.rb +5 -5
- data/lib/rubygems/dependency_list.rb +4 -4
- data/lib/rubygems/doctor.rb +4 -4
- data/lib/rubygems/exceptions.rb +1 -1
- data/lib/rubygems/ext/ext_conf_builder.rb +2 -2
- data/lib/rubygems/gemcutter_utilities.rb +1 -1
- data/lib/rubygems/indexer.rb +3 -3
- data/lib/rubygems/installer.rb +5 -13
- data/lib/rubygems/name_tuple.rb +3 -3
- data/lib/rubygems/package/tar_header.rb +17 -17
- data/lib/rubygems/package/tar_writer.rb +1 -1
- data/lib/rubygems/package.rb +19 -8
- data/lib/rubygems/platform.rb +15 -15
- data/lib/rubygems/query_utils.rb +6 -6
- data/lib/rubygems/remote_fetcher.rb +3 -3
- data/lib/rubygems/request/connection_pools.rb +2 -2
- data/lib/rubygems/request/http_pool.rb +1 -1
- data/lib/rubygems/request.rb +1 -1
- data/lib/rubygems/request_set/gem_dependency_api.rb +3 -3
- data/lib/rubygems/request_set/lockfile/parser.rb +12 -12
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +2 -2
- data/lib/rubygems/request_set.rb +3 -3
- data/lib/rubygems/requirement.rb +1 -1
- data/lib/rubygems/resolver/api_specification.rb +4 -4
- data/lib/rubygems/resolver/best_set.rb +3 -3
- data/lib/rubygems/resolver/conflict.rb +3 -3
- data/lib/rubygems/resolver/git_specification.rb +3 -3
- data/lib/rubygems/resolver/index_specification.rb +3 -2
- data/lib/rubygems/resolver/installed_specification.rb +2 -2
- data/lib/rubygems/resolver/installer_set.rb +7 -12
- data/lib/rubygems/resolver/lock_set.rb +1 -1
- data/lib/rubygems/resolver/lock_specification.rb +1 -1
- data/lib/rubygems/resolver/vendor_specification.rb +3 -3
- data/lib/rubygems/resolver.rb +4 -4
- data/lib/rubygems/security/policy.rb +6 -6
- data/lib/rubygems/security/signer.rb +1 -1
- data/lib/rubygems/security.rb +1 -1
- data/lib/rubygems/source/git.rb +4 -4
- data/lib/rubygems/source.rb +1 -1
- data/lib/rubygems/spec_fetcher.rb +1 -1
- data/lib/rubygems/specification.rb +26 -24
- data/lib/rubygems/specification_policy.rb +4 -4
- data/lib/rubygems/uninstaller.rb +4 -4
- data/lib/rubygems/user_interaction.rb +2 -2
- data/lib/rubygems/version.rb +12 -4
- data/lib/rubygems.rb +8 -8
- data/rubygems-update.gemspec +1 -1
- data/setup.rb +1 -1
- data/test/rubygems/helper.rb +5 -5
- data/test/rubygems/test_gem_config_file.rb +17 -5
- data/test/rubygems/test_gem_dependency_installer.rb +2 -2
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +4 -4
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +4 -4
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +1 -1
- data/test/rubygems/test_gem_installer.rb +6 -3
- data/test/rubygems/test_gem_package.rb +22 -0
- data/test/rubygems/test_gem_package_tar_reader.rb +1 -1
- data/test/rubygems/test_gem_requirement.rb +9 -3
- data/test/rubygems/test_gem_resolver_index_specification.rb +1 -1
- data/test/rubygems/test_gem_resolver_installer_set.rb +44 -0
- data/test/rubygems/test_gem_specification.rb +11 -2
- data/test/rubygems/test_gem_version.rb +9 -2
- data/test/rubygems/test_require.rb +1 -1
- data/test/rubygems/utilities.rb +4 -4
- metadata +3 -3
@@ -129,7 +129,9 @@ class TestGemRequirement < Gem::TestCase
|
|
129
129
|
assert_satisfied_by "1.3", r
|
130
130
|
|
131
131
|
assert_raise ArgumentError do
|
132
|
-
|
132
|
+
Gem::Deprecate.skip_during do
|
133
|
+
assert_satisfied_by nil, r
|
134
|
+
end
|
133
135
|
end
|
134
136
|
end
|
135
137
|
|
@@ -141,7 +143,9 @@ class TestGemRequirement < Gem::TestCase
|
|
141
143
|
refute_satisfied_by "1.3", r
|
142
144
|
|
143
145
|
assert_raise ArgumentError do
|
144
|
-
|
146
|
+
Gem::Deprecate.skip_during do
|
147
|
+
assert_satisfied_by nil, r
|
148
|
+
end
|
145
149
|
end
|
146
150
|
end
|
147
151
|
|
@@ -153,7 +157,9 @@ class TestGemRequirement < Gem::TestCase
|
|
153
157
|
refute_satisfied_by "1.3", r
|
154
158
|
|
155
159
|
assert_raise ArgumentError do
|
156
|
-
|
160
|
+
Gem::Deprecate.skip_during do
|
161
|
+
assert_satisfied_by nil, r
|
162
|
+
end
|
157
163
|
end
|
158
164
|
end
|
159
165
|
|
@@ -26,7 +26,7 @@ class TestGemResolverIndexSpecification < Gem::TestCase
|
|
26
26
|
spec = Gem::Resolver::IndexSpecification.new(
|
27
27
|
set, "rails", version, source, Gem::Platform.local)
|
28
28
|
|
29
|
-
assert_equal Gem::Platform.local
|
29
|
+
assert_equal Gem::Platform.local, spec.platform
|
30
30
|
end
|
31
31
|
|
32
32
|
def test_install
|
@@ -51,6 +51,38 @@ class TestGemResolverInstallerSet < Gem::TestCase
|
|
51
51
|
assert_equal %w[a-1], set.always_install.map {|s| s.full_name }
|
52
52
|
end
|
53
53
|
|
54
|
+
def test_add_always_install_platform_if_gem_platforms_modified_by_platform_flag
|
55
|
+
freebsd = Gem::Platform.new "x86-freebsd-9"
|
56
|
+
|
57
|
+
spec_fetcher do |fetcher|
|
58
|
+
fetcher.download "a", 1
|
59
|
+
fetcher.download "a", 1 do |s|
|
60
|
+
s.platform = freebsd
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
# equivalent to --platform=x86-freebsd-9
|
65
|
+
Gem.platforms << freebsd
|
66
|
+
set = Gem::Resolver::InstallerSet.new :both
|
67
|
+
|
68
|
+
set.add_always_install dep("a")
|
69
|
+
|
70
|
+
assert_equal %w[a-1-x86-freebsd-9], set.always_install.map {|s| s.full_name }
|
71
|
+
end
|
72
|
+
|
73
|
+
def test_add_always_install_index_spec_platform
|
74
|
+
_, a_1_local_gem = util_gem "a", 1 do |s|
|
75
|
+
s.platform = Gem::Platform.local
|
76
|
+
end
|
77
|
+
|
78
|
+
FileUtils.mv a_1_local_gem, @tempdir
|
79
|
+
|
80
|
+
set = Gem::Resolver::InstallerSet.new :both
|
81
|
+
set.add_always_install dep("a")
|
82
|
+
|
83
|
+
assert_equal [Gem::Platform.local], set.always_install.map {|s| s.platform }
|
84
|
+
end
|
85
|
+
|
54
86
|
def test_add_always_install_prerelease
|
55
87
|
spec_fetcher do |fetcher|
|
56
88
|
fetcher.gem "a", 1
|
@@ -187,6 +219,18 @@ class TestGemResolverInstallerSet < Gem::TestCase
|
|
187
219
|
set.find_all(req).map {|spec| spec.full_name }.sort
|
188
220
|
end
|
189
221
|
|
222
|
+
def test_find_all_prerelease_dependencies_with_add_local
|
223
|
+
activesupport_7_1_0_alpha = util_spec "activesupport", "7.1.0.alpha"
|
224
|
+
|
225
|
+
install_gem activesupport_7_1_0_alpha
|
226
|
+
|
227
|
+
set = Gem::Resolver::InstallerSet.new :both
|
228
|
+
|
229
|
+
req = Gem::Resolver::DependencyRequest.new dep("activesupport", ">= 4.2.0"), nil
|
230
|
+
|
231
|
+
assert_equal %w[activesupport-7.1.0.alpha], set.find_all(req).map {|spec| spec.full_name }
|
232
|
+
end
|
233
|
+
|
190
234
|
def test_load_spec
|
191
235
|
specs = spec_fetcher do |fetcher|
|
192
236
|
fetcher.spec "a", 2
|
@@ -796,7 +796,7 @@ dependencies: []
|
|
796
796
|
assert_equal File.join(@tempdir, "a-2.gemspec"), spec.loaded_from
|
797
797
|
end
|
798
798
|
|
799
|
-
if RUBY_ENGINE == "ruby"
|
799
|
+
if RUBY_ENGINE == "ruby" && RUBY_VERSION < "2.7"
|
800
800
|
def test_self_load_tainted
|
801
801
|
full_path = @a2.spec_file
|
802
802
|
write_file full_path do |io|
|
@@ -1220,6 +1220,15 @@ dependencies: []
|
|
1220
1220
|
assert_equal "1.0.0.dev", spec.version.to_s
|
1221
1221
|
end
|
1222
1222
|
|
1223
|
+
def test_initialize_nil_version
|
1224
|
+
expected = "nil versions are discouraged and will be deprecated in Rubygems 4\n"
|
1225
|
+
actual_stdout, actual_stderr = capture_output do
|
1226
|
+
Gem::Specification.new.version = nil
|
1227
|
+
end
|
1228
|
+
assert_empty actual_stdout
|
1229
|
+
assert_equal(expected, actual_stderr)
|
1230
|
+
end
|
1231
|
+
|
1223
1232
|
def test__dump
|
1224
1233
|
@a2.platform = Gem::Platform.local
|
1225
1234
|
@a2.instance_variable_set :@original_platform, "old_platform"
|
@@ -1441,7 +1450,7 @@ dependencies: []
|
|
1441
1450
|
@ext.build_extensions
|
1442
1451
|
assert_path_not_exist @ext.extension_dir
|
1443
1452
|
ensure
|
1444
|
-
unless ($DEBUG
|
1453
|
+
unless ($DEBUG || win_platform? || Process.uid.zero? || Gem.java_platform?)
|
1445
1454
|
FileUtils.chmod 0755, File.join(@ext.base_dir, "extensions")
|
1446
1455
|
FileUtils.chmod 0755, @ext.base_dir
|
1447
1456
|
end
|
@@ -32,8 +32,15 @@ class TestGemVersion < Gem::TestCase
|
|
32
32
|
def test_class_create
|
33
33
|
real = Gem::Version.new(1.0)
|
34
34
|
|
35
|
-
assert_same
|
36
|
-
|
35
|
+
assert_same real, Gem::Version.create(real)
|
36
|
+
|
37
|
+
expected = "nil versions are discouraged and will be deprecated in Rubygems 4\n"
|
38
|
+
actual_stdout, actual_stderr = capture_output do
|
39
|
+
assert_nil Gem::Version.create(nil)
|
40
|
+
end
|
41
|
+
assert_empty actual_stdout
|
42
|
+
assert_equal(expected, actual_stderr)
|
43
|
+
|
37
44
|
assert_equal v("5.1"), Gem::Version.create("5.1")
|
38
45
|
|
39
46
|
ver = "1.1".freeze
|
@@ -269,7 +269,7 @@ class TestGemRequire < Gem::TestCase
|
|
269
269
|
assert_includes $LOAD_PATH, rubylibdir
|
270
270
|
message = proc {
|
271
271
|
"this test relies on the b-2 gem lib/ to be before stdlib to make sense\n" +
|
272
|
-
|
272
|
+
$LOAD_PATH.pretty_inspect
|
273
273
|
}
|
274
274
|
assert_operator $LOAD_PATH.index(b2.load_paths[0]), :<, $LOAD_PATH.index(rubylibdir), message
|
275
275
|
|
data/test/rubygems/utilities.rb
CHANGED
@@ -39,9 +39,9 @@ class Gem::FakeFetcher
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def find_data(path)
|
42
|
-
return Gem.read_binary path.path if URI === path
|
42
|
+
return Gem.read_binary path.path if URI === path && "file" == path.scheme
|
43
43
|
|
44
|
-
if URI === path
|
44
|
+
if URI === path && "URI::#{path.scheme.upcase}" != path.class.name
|
45
45
|
raise ArgumentError,
|
46
46
|
"mismatch for scheme #{path.scheme} and class #{path.class}"
|
47
47
|
end
|
@@ -67,7 +67,7 @@ class Gem::FakeFetcher
|
|
67
67
|
if data.respond_to?(:call)
|
68
68
|
data.call
|
69
69
|
else
|
70
|
-
if path.to_s.end_with?(".gz")
|
70
|
+
if path.to_s.end_with?(".gz") && !data.nil? && !data.empty?
|
71
71
|
data = Gem::Util.gunzip data
|
72
72
|
end
|
73
73
|
data
|
@@ -76,7 +76,7 @@ class Gem::FakeFetcher
|
|
76
76
|
|
77
77
|
def cache_update_path(uri, path = nil, update = true)
|
78
78
|
if data = fetch_path(uri)
|
79
|
-
File.open(path, "wb") {|io| io.write data } if path
|
79
|
+
File.open(path, "wb") {|io| io.write data } if path && update
|
80
80
|
data
|
81
81
|
else
|
82
82
|
Gem.read_binary(path) if path
|
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.20
|
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: 2022-
|
19
|
+
date: 2022-08-10 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
|
@@ -821,7 +821,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
821
821
|
- !ruby/object:Gem::Version
|
822
822
|
version: '0'
|
823
823
|
requirements: []
|
824
|
-
rubygems_version: 3.3.
|
824
|
+
rubygems_version: 3.3.20
|
825
825
|
signing_key:
|
826
826
|
specification_version: 4
|
827
827
|
summary: RubyGems is a package management framework for Ruby.
|