rubygems-update 3.2.0.rc.2 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/History.txt +54 -51
- data/Manifest.txt +32 -29
- data/Rakefile +3 -1
- data/bundler/CHANGELOG.md +35 -1
- data/bundler/UPGRADING.md +1 -1
- data/bundler/lib/bundler.rb +4 -0
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli.rb +5 -2
- data/bundler/lib/bundler/cli/binstubs.rb +6 -2
- data/bundler/lib/bundler/cli/exec.rb +3 -3
- data/bundler/lib/bundler/cli/outdated.rb +2 -4
- data/bundler/lib/bundler/compact_index_client/updater.rb +5 -5
- data/bundler/lib/bundler/definition.rb +4 -9
- data/bundler/lib/bundler/env.rb +1 -1
- data/bundler/lib/bundler/feature_flag.rb +0 -1
- data/bundler/lib/bundler/fetcher/index.rb +2 -3
- data/bundler/lib/bundler/friendly_errors.rb +15 -0
- data/bundler/lib/bundler/index.rb +5 -1
- data/bundler/lib/bundler/injector.rb +9 -2
- data/bundler/lib/bundler/installer.rb +7 -5
- data/bundler/lib/bundler/lazy_specification.rb +5 -7
- data/bundler/lib/bundler/man/.document +1 -0
- data/bundler/{man → lib/bundler/man}/bundle-add.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-binstubs.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-cache.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-check.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-clean.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-config.1.ronn +1 -9
- data/bundler/{man → lib/bundler/man}/bundle-doctor.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-exec.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-gem.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-info.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-init.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-inject.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-install.1.ronn +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-list.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-lock.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-open.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-outdated.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-platform.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-pristine.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-remove.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-show.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-update.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-viz.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/bundle.1.ronn +0 -0
- data/bundler/{man → lib/bundler/man}/gemfile.5.ronn +0 -0
- data/bundler/lib/bundler/plugin/api/source.rb +1 -1
- data/bundler/lib/bundler/plugin/dsl.rb +1 -1
- data/bundler/lib/bundler/resolver.rb +2 -3
- data/bundler/lib/bundler/rubygems_integration.rb +4 -0
- data/bundler/lib/bundler/settings.rb +0 -1
- data/bundler/lib/bundler/source/git/git_proxy.rb +1 -1
- data/bundler/lib/bundler/spec_set.rb +1 -0
- data/bundler/lib/bundler/templates/newgem/README.md.tt +0 -1
- data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +2 -2
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +6 -0
- data/bundler/lib/bundler/uri_credentials_filter.rb +2 -0
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +34 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +2 -2
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +38 -40
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +4 -7
- data/bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +154 -0
- data/bundler/lib/bundler/vendored_tmpdir.rb +4 -0
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/man/bundle-add.1 +1 -1
- data/bundler/man/bundle-binstubs.1 +1 -1
- data/bundler/man/bundle-cache.1 +1 -1
- data/bundler/man/bundle-check.1 +1 -1
- data/bundler/man/bundle-clean.1 +1 -1
- data/bundler/man/bundle-config.1 +2 -5
- data/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/man/bundle-exec.1 +1 -1
- data/bundler/man/bundle-gem.1 +1 -1
- data/bundler/man/bundle-info.1 +1 -1
- data/bundler/man/bundle-init.1 +1 -1
- data/bundler/man/bundle-inject.1 +1 -1
- data/bundler/man/bundle-install.1 +2 -2
- data/bundler/man/bundle-list.1 +1 -1
- data/bundler/man/bundle-lock.1 +1 -1
- data/bundler/man/bundle-open.1 +1 -1
- data/bundler/man/bundle-outdated.1 +1 -1
- data/bundler/man/bundle-platform.1 +1 -1
- data/bundler/man/bundle-pristine.1 +1 -1
- data/bundler/man/bundle-remove.1 +1 -1
- data/bundler/man/bundle-show.1 +1 -1
- data/bundler/man/bundle-update.1 +1 -1
- data/bundler/man/bundle-viz.1 +1 -1
- data/bundler/man/bundle.1 +1 -1
- data/bundler/man/gemfile.5 +1 -1
- data/bundler/man/index.txt +25 -0
- data/lib/rubygems.rb +6 -2
- data/lib/rubygems/available_set.rb +1 -1
- data/lib/rubygems/command_manager.rb +2 -2
- data/lib/rubygems/commands/build_command.rb +37 -20
- data/lib/rubygems/commands/cert_command.rb +1 -1
- data/lib/rubygems/commands/help_command.rb +2 -0
- data/lib/rubygems/commands/owner_command.rb +10 -2
- data/lib/rubygems/commands/pristine_command.rb +1 -1
- data/lib/rubygems/commands/push_command.rb +7 -3
- data/lib/rubygems/commands/query_command.rb +17 -0
- data/lib/rubygems/commands/server_command.rb +4 -0
- data/lib/rubygems/commands/setup_command.rb +25 -45
- data/lib/rubygems/commands/sources_command.rb +6 -2
- data/lib/rubygems/commands/specification_command.rb +6 -0
- data/lib/rubygems/commands/yank_command.rb +4 -4
- data/lib/rubygems/core_ext/kernel_require.rb +3 -0
- data/lib/rubygems/core_ext/kernel_warn.rb +6 -7
- data/lib/rubygems/defaults.rb +2 -2
- data/lib/rubygems/dependency.rb +1 -1
- data/lib/rubygems/dependency_installer.rb +4 -3
- data/lib/rubygems/ext/builder.rb +13 -32
- data/lib/rubygems/ext/cmake_builder.rb +4 -4
- data/lib/rubygems/ext/configure_builder.rb +4 -4
- data/lib/rubygems/ext/ext_conf_builder.rb +19 -14
- data/lib/rubygems/ext/rake_builder.rb +3 -3
- data/lib/rubygems/gemcutter_utilities.rb +90 -14
- data/lib/rubygems/indexer.rb +0 -1
- data/lib/rubygems/install_update_options.rb +2 -2
- data/lib/rubygems/installer.rb +12 -9
- data/lib/rubygems/installer_test_case.rb +7 -6
- data/lib/rubygems/name_tuple.rb +1 -1
- data/lib/rubygems/openssl.rb +4 -4
- data/lib/rubygems/package.rb +3 -2
- data/lib/rubygems/package/tar_header.rb +1 -1
- data/lib/rubygems/package/tar_test_case.rb +1 -1
- data/lib/rubygems/platform.rb +18 -7
- data/lib/rubygems/query_utils.rb +0 -9
- data/lib/rubygems/remote_fetcher.rb +1 -2
- data/lib/rubygems/request.rb +4 -3
- data/lib/rubygems/request_set/gem_dependency_api.rb +4 -4
- data/lib/rubygems/requirement.rb +1 -1
- data/lib/rubygems/resolver.rb +1 -1
- data/lib/rubygems/resolver/activation_request.rb +9 -1
- data/lib/rubygems/resolver/api_specification.rb +5 -1
- data/lib/rubygems/resolver/conflict.rb +1 -1
- data/lib/rubygems/resolver/dependency_request.rb +1 -1
- data/lib/rubygems/resolver/index_specification.rb +11 -0
- data/lib/rubygems/resolver/installer_set.rb +1 -2
- data/lib/rubygems/resolver/lock_set.rb +1 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo.rb +6 -5
- data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb +1 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +39 -5
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb +1 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb +7 -6
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb +4 -3
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb +43 -10
- data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +75 -7
- data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb +1 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb +3 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb +506 -165
- data/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb +3 -2
- data/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb +8 -4
- data/lib/rubygems/resolver/specification.rb +1 -1
- data/lib/rubygems/s3_uri_signer.rb +1 -1
- data/lib/rubygems/security.rb +1 -2
- data/lib/rubygems/security/policy.rb +1 -1
- data/lib/rubygems/security/signer.rb +1 -1
- data/lib/rubygems/server.rb +1 -1
- data/lib/rubygems/source.rb +10 -4
- data/lib/rubygems/spec_fetcher.rb +1 -1
- data/lib/rubygems/specification.rb +8 -8
- data/lib/rubygems/ssl_certs/{index.rubygems.org → rubygems.org}/GlobalSignRootCA.pem +0 -0
- data/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +21 -0
- data/lib/rubygems/stub_specification.rb +1 -1
- data/lib/rubygems/test_case.rb +13 -26
- data/lib/rubygems/uri_formatter.rb +2 -1
- data/lib/rubygems/version_option.rb +6 -0
- data/rubygems-update.gemspec +1 -1
- data/test/rubygems/test_bundled_ca.rb +9 -5
- data/test/rubygems/test_gem.rb +3 -3
- data/test/rubygems/test_gem_commands_build_command.rb +197 -5
- data/test/rubygems/test_gem_commands_cert_command.rb +2 -2
- data/test/rubygems/test_gem_commands_cleanup_command.rb +1 -1
- data/test/rubygems/test_gem_commands_contents_command.rb +2 -2
- data/test/rubygems/test_gem_commands_help_command.rb +15 -2
- data/test/rubygems/test_gem_commands_install_command.rb +1 -1
- data/test/rubygems/test_gem_commands_owner_command.rb +49 -1
- data/test/rubygems/test_gem_commands_pristine_command.rb +2 -2
- data/test/rubygems/test_gem_commands_push_command.rb +31 -5
- data/test/rubygems/test_gem_commands_query_command.rb +3 -3
- data/test/rubygems/test_gem_commands_setup_command.rb +13 -18
- data/test/rubygems/test_gem_commands_signin_command.rb +27 -3
- data/test/rubygems/test_gem_commands_sources_command.rb +60 -0
- data/test/rubygems/test_gem_commands_specification_command.rb +28 -0
- data/test/rubygems/test_gem_commands_update_command.rb +2 -2
- data/test/rubygems/test_gem_commands_yank_command.rb +31 -1
- data/test/rubygems/test_gem_dependency_installer.rb +36 -2
- data/test/rubygems/test_gem_dependency_list.rb +2 -2
- data/test/rubygems/test_gem_ext_builder.rb +10 -14
- data/test/rubygems/test_gem_ext_cmake_builder.rb +3 -9
- data/test/rubygems/test_gem_ext_configure_builder.rb +3 -9
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +9 -26
- data/test/rubygems/test_gem_ext_rake_builder.rb +5 -13
- data/test/rubygems/test_gem_gem_runner.rb +5 -4
- data/test/rubygems/test_gem_gemcutter_utilities.rb +3 -3
- data/test/rubygems/test_gem_install_update_options.rb +15 -3
- data/test/rubygems/test_gem_installer.rb +74 -11
- data/test/rubygems/test_gem_package.rb +8 -8
- data/test/rubygems/test_gem_package_old.rb +4 -4
- data/test/rubygems/test_gem_package_tar_writer.rb +1 -1
- data/test/rubygems/test_gem_platform.rb +63 -4
- data/test/rubygems/test_gem_remote_fetcher.rb +14 -18
- data/test/rubygems/test_gem_request.rb +2 -2
- data/test/rubygems/test_gem_request_set_lockfile.rb +4 -4
- data/test/rubygems/test_gem_resolver_api_set.rb +8 -8
- data/test/rubygems/test_gem_resolver_conflict.rb +1 -1
- data/test/rubygems/test_gem_resolver_vendor_set.rb +1 -1
- data/test/rubygems/test_gem_security.rb +2 -2
- data/test/rubygems/test_gem_security_policy.rb +2 -2
- data/test/rubygems/test_gem_security_signer.rb +2 -2
- data/test/rubygems/test_gem_security_trust_dir.rb +2 -2
- data/test/rubygems/test_gem_source.rb +5 -0
- data/test/rubygems/test_gem_source_subpath_problem.rb +49 -0
- data/test/rubygems/test_gem_specification.rb +5 -4
- data/test/rubygems/test_gem_uninstaller.rb +7 -7
- data/test/rubygems/test_gem_validator.rb +1 -1
- data/test/rubygems/test_gem_version_option.rb +1 -1
- data/test/rubygems/test_require.rb +50 -9
- metadata +35 -32
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +0 -26
- data/lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
- data/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'rubygems/test_case'
|
4
4
|
|
5
|
-
unless
|
5
|
+
unless Gem::HAVE_OPENSSL
|
6
6
|
warn 'Skipping Gem::Security::Policy tests. openssl not found.'
|
7
7
|
end
|
8
8
|
|
@@ -532,4 +532,4 @@ class TestGemSecurityPolicy < Gem::TestCase
|
|
532
532
|
|
533
533
|
return digests, signatures
|
534
534
|
end
|
535
|
-
end if
|
535
|
+
end if Gem::HAVE_OPENSSL
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require 'rubygems/test_case'
|
3
3
|
|
4
|
-
unless
|
4
|
+
unless Gem::HAVE_OPENSSL
|
5
5
|
warn 'Skipping Gem::Security::Signer tests. openssl not found.'
|
6
6
|
end
|
7
7
|
|
@@ -214,4 +214,4 @@ toqvglr0kdbknSRRjBVLK6tsgr07aLT9gNP7mTW2PA==
|
|
214
214
|
signer.sign 'hello'
|
215
215
|
end
|
216
216
|
end
|
217
|
-
end if
|
217
|
+
end if Gem::HAVE_OPENSSL
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require 'rubygems/test_case'
|
3
3
|
|
4
|
-
unless
|
4
|
+
unless Gem::HAVE_OPENSSL
|
5
5
|
warn 'Skipping Gem::Security::TrustDir tests. openssl not found.'
|
6
6
|
end
|
7
7
|
|
@@ -95,4 +95,4 @@ class TestGemSecurityTrustDir < Gem::TestCase
|
|
95
95
|
|
96
96
|
assert_equal mask, File.stat(@dest_dir).mode unless win_platform?
|
97
97
|
end
|
98
|
-
end if
|
98
|
+
end if Gem::HAVE_OPENSSL
|
@@ -240,6 +240,11 @@ class TestGemSource < Gem::TestCase
|
|
240
240
|
refute rubygems_source.typo_squatting?("rubysertgems.org")
|
241
241
|
end
|
242
242
|
|
243
|
+
def test_typo_squatting_false_positive
|
244
|
+
rubygems_source = Gem::Source.new("https://rubygems.org")
|
245
|
+
refute rubygems_source.typo_squatting?("rubygems.org")
|
246
|
+
end
|
247
|
+
|
243
248
|
def test_typo_squatting_custom_distance_threshold
|
244
249
|
rubygems_source = Gem::Source.new("https://rubgems.org")
|
245
250
|
distance_threshold = 5
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'rubygems/test_case'
|
3
|
+
require 'rubygems/source'
|
4
|
+
|
5
|
+
class TestGemSourceSubpathProblem < Gem::TestCase
|
6
|
+
def tuple(*args)
|
7
|
+
Gem::NameTuple.new(*args)
|
8
|
+
end
|
9
|
+
|
10
|
+
def setup
|
11
|
+
super
|
12
|
+
|
13
|
+
@gem_repo = "http://gems.example.com/private"
|
14
|
+
|
15
|
+
spec_fetcher
|
16
|
+
|
17
|
+
@source = Gem::Source.new(@gem_repo)
|
18
|
+
|
19
|
+
util_make_gems
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_dependency_resolver_set
|
23
|
+
response = Net::HTTPResponse.new '1.1', 200, 'OK'
|
24
|
+
response.uri = URI('http://example') if response.respond_to? :uri
|
25
|
+
|
26
|
+
@fetcher.data["#{@gem_repo}/api/v1/dependencies"] = response
|
27
|
+
|
28
|
+
set = @source.dependency_resolver_set
|
29
|
+
|
30
|
+
assert_kind_of Gem::Resolver::APISet, set
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_fetch_spec
|
34
|
+
@fetcher.data["#{@gem_repo}/#{Gem::MARSHAL_SPEC_DIR}#{@a1.spec_name}.rz"] = Zlib::Deflate.deflate(Marshal.dump(@a1))
|
35
|
+
|
36
|
+
spec = @source.fetch_spec tuple('a', Gem::Version.new(1), 'ruby')
|
37
|
+
assert_equal @a1.full_name, spec.full_name
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_load_specs
|
41
|
+
@fetcher.data["#{@gem_repo}/latest_specs.#{Gem.marshal_version}.gz"] = util_gzip(Marshal.dump([
|
42
|
+
Gem::NameTuple.new(@a1.name, @a1.version, 'ruby'),
|
43
|
+
Gem::NameTuple.new(@b2.name, @b2.version, 'ruby'),
|
44
|
+
]))
|
45
|
+
|
46
|
+
released = @source.load_specs(:latest).map {|spec| spec.full_name }
|
47
|
+
assert_equal %W[a-1 b-2], released
|
48
|
+
end
|
49
|
+
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require 'benchmark'
|
3
3
|
require 'rubygems/test_case'
|
4
|
+
require 'date'
|
4
5
|
require 'pathname'
|
5
6
|
require 'stringio'
|
6
7
|
require 'rubygems/ext'
|
@@ -1999,7 +2000,7 @@ dependencies: []
|
|
1999
2000
|
test_cases = {
|
2000
2001
|
'i386-mswin32' => 'a-1-x86-mswin32-60',
|
2001
2002
|
'i386-mswin32_80' => 'a-1-x86-mswin32-80',
|
2002
|
-
'i386-mingw32' => 'a-1-x86-mingw32'
|
2003
|
+
'i386-mingw32' => 'a-1-x86-mingw32',
|
2003
2004
|
}
|
2004
2005
|
|
2005
2006
|
test_cases.each do |arch, expected|
|
@@ -3035,7 +3036,7 @@ Please report a bug if this causes problems.
|
|
3035
3036
|
specification.define_singleton_method(:find_all_by_name) do |dep_name|
|
3036
3037
|
[
|
3037
3038
|
specification.new {|s| s.name = "z", s.version = Gem::Version.new("1") },
|
3038
|
-
specification.new {|s| s.name = "z", s.version = Gem::Version.new("2") }
|
3039
|
+
specification.new {|s| s.name = "z", s.version = Gem::Version.new("2") },
|
3039
3040
|
]
|
3040
3041
|
end
|
3041
3042
|
|
@@ -3578,7 +3579,7 @@ Did you mean 'Ruby'?
|
|
3578
3579
|
"one" => "two",
|
3579
3580
|
"home" => "three",
|
3580
3581
|
"homepage_uri" => "https://example.com/user/repo",
|
3581
|
-
"funding_uri" => "https://example.com/donate"
|
3582
|
+
"funding_uri" => "https://example.com/donate",
|
3582
3583
|
}
|
3583
3584
|
end
|
3584
3585
|
|
@@ -3838,7 +3839,7 @@ end
|
|
3838
3839
|
|
3839
3840
|
default_gem_spec = new_default_spec("default", "2.0.0.0",
|
3840
3841
|
nil, "default/gem.rb")
|
3841
|
-
spec_path = File.join(@
|
3842
|
+
spec_path = File.join(@gemhome, "specifications", "default", default_gem_spec.spec_name)
|
3842
3843
|
write_file(spec_path) do |file|
|
3843
3844
|
file.print(default_gem_spec.to_ruby)
|
3844
3845
|
end
|
@@ -177,7 +177,7 @@ class TestGemUninstaller < Gem::InstallerTestCase
|
|
177
177
|
|
178
178
|
@spec.files += %w[lib/rubygems_plugin.rb]
|
179
179
|
|
180
|
-
Gem::Installer.at(Gem::Package.build(@spec)).install
|
180
|
+
Gem::Installer.at(Gem::Package.build(@spec), :force => true).install
|
181
181
|
|
182
182
|
plugin_path = File.join Gem.plugindir, 'a_plugin.rb'
|
183
183
|
assert File.exist?(plugin_path), 'plugin not written'
|
@@ -194,7 +194,7 @@ class TestGemUninstaller < Gem::InstallerTestCase
|
|
194
194
|
|
195
195
|
@spec.files += %w[lib/rubygems_plugin.rb]
|
196
196
|
|
197
|
-
Gem::Installer.at(Gem::Package.build(@spec)).install
|
197
|
+
Gem::Installer.at(Gem::Package.build(@spec), :force => true).install
|
198
198
|
|
199
199
|
plugin_path = File.join Gem.plugindir, 'a_plugin.rb'
|
200
200
|
assert File.exist?(plugin_path), 'plugin not written'
|
@@ -212,7 +212,7 @@ class TestGemUninstaller < Gem::InstallerTestCase
|
|
212
212
|
|
213
213
|
@spec.files += %w[lib/rubygems_plugin.rb]
|
214
214
|
|
215
|
-
Gem::Installer.at(Gem::Package.build(@spec)).install
|
215
|
+
Gem::Installer.at(Gem::Package.build(@spec), :force => true).install
|
216
216
|
|
217
217
|
plugin_path = File.join Gem.plugindir, 'a_plugin.rb'
|
218
218
|
assert File.exist?(plugin_path), 'plugin not written'
|
@@ -314,7 +314,7 @@ create_makefile '#{@spec.name}'
|
|
314
314
|
use_ui @ui do
|
315
315
|
path = Gem::Package.build @spec
|
316
316
|
|
317
|
-
installer = Gem::Installer.at path
|
317
|
+
installer = Gem::Installer.at path, :force => true
|
318
318
|
installer.install
|
319
319
|
end
|
320
320
|
|
@@ -633,19 +633,19 @@ create_makefile '#{@spec.name}'
|
|
633
633
|
plugin_path = File.join Gem.plugindir, 'a_plugin.rb'
|
634
634
|
|
635
635
|
@spec.version = '1'
|
636
|
-
Gem::Installer.at(Gem::Package.build(@spec)).install
|
636
|
+
Gem::Installer.at(Gem::Package.build(@spec), :force => true).install
|
637
637
|
|
638
638
|
refute File.exist?(plugin_path), 'version without plugin installed, but plugin written'
|
639
639
|
|
640
640
|
@spec.files += %w[lib/rubygems_plugin.rb]
|
641
641
|
@spec.version = '2'
|
642
|
-
Gem::Installer.at(Gem::Package.build(@spec)).install
|
642
|
+
Gem::Installer.at(Gem::Package.build(@spec), :force => true).install
|
643
643
|
|
644
644
|
assert File.exist?(plugin_path), 'version with plugin installed, but plugin not written'
|
645
645
|
assert_match %r{\Arequire.*a-2/lib/rubygems_plugin\.rb}, File.read(plugin_path), 'written plugin has incorrect content'
|
646
646
|
|
647
647
|
@spec.version = '3'
|
648
|
-
Gem::Installer.at(Gem::Package.build(@spec)).install
|
648
|
+
Gem::Installer.at(Gem::Package.build(@spec), :force => true).install
|
649
649
|
|
650
650
|
assert File.exist?(plugin_path), 'version with plugin installed, but plugin removed'
|
651
651
|
assert_match %r{\Arequire.*a-3/lib/rubygems_plugin\.rb}, File.read(plugin_path), 'old version installed, but plugin updated'
|
@@ -120,7 +120,7 @@ class TestGemRequire < Gem::TestCase
|
|
120
120
|
c1 = new_default_spec "c", "1", nil, "c/c.rb"
|
121
121
|
c2 = new_default_spec "c", "2", nil, "c/c.rb"
|
122
122
|
|
123
|
-
|
123
|
+
install_default_gems c1, c2, b1, a1
|
124
124
|
|
125
125
|
dir = Dir.mktmpdir("test_require", @tempdir)
|
126
126
|
dash_i_arg = File.join dir, 'lib'
|
@@ -405,8 +405,8 @@ class TestGemRequire < Gem::TestCase
|
|
405
405
|
|
406
406
|
# Remove an old default gem version directly from disk as if someone ran
|
407
407
|
# gem cleanup.
|
408
|
-
FileUtils.rm_rf(File.join @
|
409
|
-
FileUtils.rm_rf(File.join @
|
408
|
+
FileUtils.rm_rf(File.join @gemhome, "#{b1.full_name}")
|
409
|
+
FileUtils.rm_rf(File.join @gemhome, "specifications", "default", "#{b1.full_name}.gemspec")
|
410
410
|
|
411
411
|
# Require gems that have not been removed.
|
412
412
|
assert_require 'a/b'
|
@@ -433,7 +433,7 @@ class TestGemRequire < Gem::TestCase
|
|
433
433
|
def test_default_gem_only
|
434
434
|
default_gem_spec = new_default_spec("default", "2.0.0.0",
|
435
435
|
nil, "default/gem.rb")
|
436
|
-
|
436
|
+
install_default_gems(default_gem_spec)
|
437
437
|
assert_require "default/gem"
|
438
438
|
assert_equal %w[default-2.0.0.0], loaded_spec_names
|
439
439
|
end
|
@@ -441,7 +441,7 @@ class TestGemRequire < Gem::TestCase
|
|
441
441
|
def test_default_gem_require_activates_just_once
|
442
442
|
default_gem_spec = new_default_spec("default", "2.0.0.0",
|
443
443
|
nil, "default/gem.rb")
|
444
|
-
|
444
|
+
install_default_gems(default_gem_spec)
|
445
445
|
|
446
446
|
assert_require "default/gem"
|
447
447
|
|
@@ -506,7 +506,7 @@ class TestGemRequire < Gem::TestCase
|
|
506
506
|
def test_default_gem_and_normal_gem
|
507
507
|
default_gem_spec = new_default_spec("default", "2.0.0.0",
|
508
508
|
nil, "default/gem.rb")
|
509
|
-
|
509
|
+
install_default_gems(default_gem_spec)
|
510
510
|
normal_gem_spec = util_spec("default", "3.0", nil,
|
511
511
|
"lib/default/gem.rb")
|
512
512
|
install_specs(normal_gem_spec)
|
@@ -544,11 +544,11 @@ class TestGemRequire < Gem::TestCase
|
|
544
544
|
def test_default_gem_prerelease
|
545
545
|
default_gem_spec = new_default_spec("default", "2.0.0",
|
546
546
|
nil, "default/gem.rb")
|
547
|
-
|
547
|
+
install_default_gems(default_gem_spec)
|
548
548
|
|
549
549
|
normal_gem_higher_prerelease_spec = util_spec("default", "3.0.0.rc2", nil,
|
550
550
|
"lib/default/gem.rb")
|
551
|
-
|
551
|
+
install_default_gems(normal_gem_higher_prerelease_spec)
|
552
552
|
|
553
553
|
assert_require "default/gem"
|
554
554
|
assert_equal %w[default-3.0.0.rc2], loaded_spec_names
|
@@ -586,7 +586,7 @@ class TestGemRequire < Gem::TestCase
|
|
586
586
|
def test_require_when_gem_defined
|
587
587
|
default_gem_spec = new_default_spec("default", "2.0.0.0",
|
588
588
|
nil, "default/gem.rb")
|
589
|
-
|
589
|
+
install_default_gems(default_gem_spec)
|
590
590
|
c = Class.new do
|
591
591
|
def self.gem(*args)
|
592
592
|
raise "received #gem with #{args.inspect}"
|
@@ -677,6 +677,47 @@ class TestGemRequire < Gem::TestCase
|
|
677
677
|
end
|
678
678
|
end
|
679
679
|
end
|
680
|
+
|
681
|
+
def test_no_crash_when_overriding_warn_with_warning_module
|
682
|
+
skip "https://github.com/oracle/truffleruby/issues/2109" if RUBY_ENGINE == "truffleruby"
|
683
|
+
|
684
|
+
Dir.mktmpdir("warn_test") do |dir|
|
685
|
+
File.write(dir + "/main.rb", "module Warning; def warn(str); super; end; end; warn 'Foo Bar'")
|
686
|
+
_, err = capture_subprocess_io do
|
687
|
+
system(*ruby_with_rubygems_in_load_path, "-w", "--disable=gems", "-C", dir, "main.rb")
|
688
|
+
end
|
689
|
+
assert_match(/Foo Bar\n$/, err)
|
690
|
+
_, err = capture_subprocess_io do
|
691
|
+
system(*ruby_with_rubygems_in_load_path, "-w", "--enable=gems", "-C", dir, "main.rb")
|
692
|
+
end
|
693
|
+
assert_match(/Foo Bar\n$/, err)
|
694
|
+
end
|
695
|
+
end
|
696
|
+
|
697
|
+
def test_expected_backtrace_location_when_inheriting_from_basic_object_and_including_kernel
|
698
|
+
Dir.mktmpdir("warn_test") do |dir|
|
699
|
+
File.write(dir + "/main.rb", "\nrequire 'sub'\n")
|
700
|
+
File.write(dir + "/sub.rb", <<-'RUBY')
|
701
|
+
require 'rubygems'
|
702
|
+
class C < BasicObject
|
703
|
+
include ::Kernel
|
704
|
+
def deprecated
|
705
|
+
warn "This is a deprecated method", uplevel: 2
|
706
|
+
end
|
707
|
+
end
|
708
|
+
C.new.deprecated
|
709
|
+
RUBY
|
710
|
+
|
711
|
+
_, err = capture_subprocess_io do
|
712
|
+
system(*ruby_with_rubygems_in_load_path, "-w", "--disable=gems", "-C", dir, "-I", dir, "main.rb")
|
713
|
+
end
|
714
|
+
assert_match(/main\.rb:2: warning: This is a deprecated method$/, err)
|
715
|
+
_, err = capture_subprocess_io do
|
716
|
+
system(*ruby_with_rubygems_in_load_path, "-w", "--enable=gems", "-C", dir, "-I", dir, "main.rb")
|
717
|
+
end
|
718
|
+
assert_match(/main\.rb:2: warning: This is a deprecated method$/, err)
|
719
|
+
end
|
720
|
+
end
|
680
721
|
end
|
681
722
|
|
682
723
|
private
|
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.0
|
4
|
+
version: 3.2.0
|
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: 2020-10
|
19
|
+
date: 2020-12-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
|
@@ -169,6 +169,32 @@ files:
|
|
169
169
|
- bundler/lib/bundler/lazy_specification.rb
|
170
170
|
- bundler/lib/bundler/lockfile_generator.rb
|
171
171
|
- bundler/lib/bundler/lockfile_parser.rb
|
172
|
+
- bundler/lib/bundler/man/.document
|
173
|
+
- bundler/lib/bundler/man/bundle-add.1.ronn
|
174
|
+
- bundler/lib/bundler/man/bundle-binstubs.1.ronn
|
175
|
+
- bundler/lib/bundler/man/bundle-cache.1.ronn
|
176
|
+
- bundler/lib/bundler/man/bundle-check.1.ronn
|
177
|
+
- bundler/lib/bundler/man/bundle-clean.1.ronn
|
178
|
+
- bundler/lib/bundler/man/bundle-config.1.ronn
|
179
|
+
- bundler/lib/bundler/man/bundle-doctor.1.ronn
|
180
|
+
- bundler/lib/bundler/man/bundle-exec.1.ronn
|
181
|
+
- bundler/lib/bundler/man/bundle-gem.1.ronn
|
182
|
+
- bundler/lib/bundler/man/bundle-info.1.ronn
|
183
|
+
- bundler/lib/bundler/man/bundle-init.1.ronn
|
184
|
+
- bundler/lib/bundler/man/bundle-inject.1.ronn
|
185
|
+
- bundler/lib/bundler/man/bundle-install.1.ronn
|
186
|
+
- bundler/lib/bundler/man/bundle-list.1.ronn
|
187
|
+
- bundler/lib/bundler/man/bundle-lock.1.ronn
|
188
|
+
- bundler/lib/bundler/man/bundle-open.1.ronn
|
189
|
+
- bundler/lib/bundler/man/bundle-outdated.1.ronn
|
190
|
+
- bundler/lib/bundler/man/bundle-platform.1.ronn
|
191
|
+
- bundler/lib/bundler/man/bundle-pristine.1.ronn
|
192
|
+
- bundler/lib/bundler/man/bundle-remove.1.ronn
|
193
|
+
- bundler/lib/bundler/man/bundle-show.1.ronn
|
194
|
+
- bundler/lib/bundler/man/bundle-update.1.ronn
|
195
|
+
- bundler/lib/bundler/man/bundle-viz.1.ronn
|
196
|
+
- bundler/lib/bundler/man/bundle.1.ronn
|
197
|
+
- bundler/lib/bundler/man/gemfile.5.ronn
|
172
198
|
- bundler/lib/bundler/match_platform.rb
|
173
199
|
- bundler/lib/bundler/mirror.rb
|
174
200
|
- bundler/lib/bundler/plugin.rb
|
@@ -254,7 +280,6 @@ files:
|
|
254
280
|
- bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb
|
255
281
|
- bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb
|
256
282
|
- bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb
|
257
|
-
- bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb
|
258
283
|
- bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb
|
259
284
|
- bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb
|
260
285
|
- bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb
|
@@ -309,6 +334,7 @@ files:
|
|
309
334
|
- bundler/lib/bundler/vendor/thor/lib/thor/shell/html.rb
|
310
335
|
- bundler/lib/bundler/vendor/thor/lib/thor/util.rb
|
311
336
|
- bundler/lib/bundler/vendor/thor/lib/thor/version.rb
|
337
|
+
- bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb
|
312
338
|
- bundler/lib/bundler/vendor/uri/lib/uri.rb
|
313
339
|
- bundler/lib/bundler/vendor/uri/lib/uri/common.rb
|
314
340
|
- bundler/lib/bundler/vendor/uri/lib/uri/file.rb
|
@@ -326,6 +352,7 @@ files:
|
|
326
352
|
- bundler/lib/bundler/vendored_molinillo.rb
|
327
353
|
- bundler/lib/bundler/vendored_persistent.rb
|
328
354
|
- bundler/lib/bundler/vendored_thor.rb
|
355
|
+
- bundler/lib/bundler/vendored_tmpdir.rb
|
329
356
|
- bundler/lib/bundler/vendored_uri.rb
|
330
357
|
- bundler/lib/bundler/version.rb
|
331
358
|
- bundler/lib/bundler/version_ranges.rb
|
@@ -333,55 +360,31 @@ files:
|
|
333
360
|
- bundler/lib/bundler/worker.rb
|
334
361
|
- bundler/lib/bundler/yaml_serializer.rb
|
335
362
|
- bundler/man/bundle-add.1
|
336
|
-
- bundler/man/bundle-add.1.ronn
|
337
363
|
- bundler/man/bundle-binstubs.1
|
338
|
-
- bundler/man/bundle-binstubs.1.ronn
|
339
364
|
- bundler/man/bundle-cache.1
|
340
|
-
- bundler/man/bundle-cache.1.ronn
|
341
365
|
- bundler/man/bundle-check.1
|
342
|
-
- bundler/man/bundle-check.1.ronn
|
343
366
|
- bundler/man/bundle-clean.1
|
344
|
-
- bundler/man/bundle-clean.1.ronn
|
345
367
|
- bundler/man/bundle-config.1
|
346
|
-
- bundler/man/bundle-config.1.ronn
|
347
368
|
- bundler/man/bundle-doctor.1
|
348
|
-
- bundler/man/bundle-doctor.1.ronn
|
349
369
|
- bundler/man/bundle-exec.1
|
350
|
-
- bundler/man/bundle-exec.1.ronn
|
351
370
|
- bundler/man/bundle-gem.1
|
352
|
-
- bundler/man/bundle-gem.1.ronn
|
353
371
|
- bundler/man/bundle-info.1
|
354
|
-
- bundler/man/bundle-info.1.ronn
|
355
372
|
- bundler/man/bundle-init.1
|
356
|
-
- bundler/man/bundle-init.1.ronn
|
357
373
|
- bundler/man/bundle-inject.1
|
358
|
-
- bundler/man/bundle-inject.1.ronn
|
359
374
|
- bundler/man/bundle-install.1
|
360
|
-
- bundler/man/bundle-install.1.ronn
|
361
375
|
- bundler/man/bundle-list.1
|
362
|
-
- bundler/man/bundle-list.1.ronn
|
363
376
|
- bundler/man/bundle-lock.1
|
364
|
-
- bundler/man/bundle-lock.1.ronn
|
365
377
|
- bundler/man/bundle-open.1
|
366
|
-
- bundler/man/bundle-open.1.ronn
|
367
378
|
- bundler/man/bundle-outdated.1
|
368
|
-
- bundler/man/bundle-outdated.1.ronn
|
369
379
|
- bundler/man/bundle-platform.1
|
370
|
-
- bundler/man/bundle-platform.1.ronn
|
371
380
|
- bundler/man/bundle-pristine.1
|
372
|
-
- bundler/man/bundle-pristine.1.ronn
|
373
381
|
- bundler/man/bundle-remove.1
|
374
|
-
- bundler/man/bundle-remove.1.ronn
|
375
382
|
- bundler/man/bundle-show.1
|
376
|
-
- bundler/man/bundle-show.1.ronn
|
377
383
|
- bundler/man/bundle-update.1
|
378
|
-
- bundler/man/bundle-update.1.ronn
|
379
384
|
- bundler/man/bundle-viz.1
|
380
|
-
- bundler/man/bundle-viz.1.ronn
|
381
385
|
- bundler/man/bundle.1
|
382
|
-
- bundler/man/bundle.1.ronn
|
383
386
|
- bundler/man/gemfile.5
|
384
|
-
- bundler/man/
|
387
|
+
- bundler/man/index.txt
|
385
388
|
- hide_lib_for_update/note.txt
|
386
389
|
- lib/rubygems.rb
|
387
390
|
- lib/rubygems/available_set.rb
|
@@ -554,9 +557,8 @@ files:
|
|
554
557
|
- lib/rubygems/specification.rb
|
555
558
|
- lib/rubygems/specification_policy.rb
|
556
559
|
- lib/rubygems/ssl_certs/.document
|
557
|
-
- lib/rubygems/ssl_certs/
|
558
|
-
- lib/rubygems/ssl_certs/rubygems.
|
559
|
-
- lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem
|
560
|
+
- lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem
|
561
|
+
- lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem
|
560
562
|
- lib/rubygems/stub_specification.rb
|
561
563
|
- lib/rubygems/syck_hack.rb
|
562
564
|
- lib/rubygems/test_case.rb
|
@@ -740,6 +742,7 @@ files:
|
|
740
742
|
- test/rubygems/test_gem_source_local.rb
|
741
743
|
- test/rubygems/test_gem_source_lock.rb
|
742
744
|
- test/rubygems/test_gem_source_specific_file.rb
|
745
|
+
- test/rubygems/test_gem_source_subpath_problem.rb
|
743
746
|
- test/rubygems/test_gem_source_vendor.rb
|
744
747
|
- test/rubygems/test_gem_spec_fetcher.rb
|
745
748
|
- test/rubygems/test_gem_specification.rb
|
@@ -782,7 +785,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
782
785
|
- !ruby/object:Gem::Version
|
783
786
|
version: '0'
|
784
787
|
requirements: []
|
785
|
-
rubygems_version: 3.2.0
|
788
|
+
rubygems_version: 3.2.0
|
786
789
|
signing_key:
|
787
790
|
specification_version: 4
|
788
791
|
summary: RubyGems is a package management framework for Ruby.
|