rubygems-update 3.4.5 → 3.4.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1128 -1095
  3. data/Manifest.txt +5 -6
  4. data/bundler/CHANGELOG.md +29 -0
  5. data/bundler/lib/bundler/build_metadata.rb +2 -2
  6. data/bundler/lib/bundler/cli/binstubs.rb +5 -1
  7. data/bundler/lib/bundler/cli/init.rb +2 -2
  8. data/bundler/lib/bundler/cli.rb +1 -0
  9. data/bundler/lib/bundler/current_ruby.rb +2 -0
  10. data/bundler/lib/bundler/dependency.rb +1 -1
  11. data/bundler/lib/bundler/inline.rb +6 -8
  12. data/bundler/lib/bundler/installer/parallel_installer.rb +16 -2
  13. data/bundler/lib/bundler/installer/standalone.rb +12 -8
  14. data/bundler/lib/bundler/man/bundle-add.1 +1 -1
  15. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  16. data/bundler/lib/bundler/man/bundle-cache.1 +1 -1
  17. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  18. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  19. data/bundler/lib/bundler/man/bundle-config.1 +1 -1
  20. data/bundler/lib/bundler/man/bundle-console.1 +1 -1
  21. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  22. data/bundler/lib/bundler/man/bundle-exec.1 +1 -1
  23. data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
  24. data/bundler/lib/bundler/man/bundle-help.1 +1 -1
  25. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  26. data/bundler/lib/bundler/man/bundle-init.1 +5 -1
  27. data/bundler/lib/bundler/man/bundle-init.1.ronn +2 -0
  28. data/bundler/lib/bundler/man/bundle-inject.1 +1 -1
  29. data/bundler/lib/bundler/man/bundle-install.1 +1 -1
  30. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  31. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  32. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  33. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  34. data/bundler/lib/bundler/man/bundle-platform.1 +1 -1
  35. data/bundler/lib/bundler/man/bundle-plugin.1 +1 -1
  36. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  37. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  38. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  39. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  40. data/bundler/lib/bundler/man/bundle-version.1 +1 -1
  41. data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
  42. data/bundler/lib/bundler/man/bundle.1 +1 -1
  43. data/bundler/lib/bundler/man/gemfile.5 +1 -1
  44. data/bundler/lib/bundler/rubygems_integration.rb +8 -4
  45. data/bundler/lib/bundler/source/git/git_proxy.rb +6 -4
  46. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +1 -1
  47. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +6 -2
  48. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +8 -1
  49. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +5 -4
  50. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +4 -2
  51. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +4 -1
  52. data/bundler/lib/bundler/version.rb +1 -1
  53. data/lib/rubygems/core_ext/kernel_require.rb +113 -109
  54. data/lib/rubygems/deprecate.rb +2 -2
  55. data/lib/rubygems/ext/builder.rb +1 -2
  56. data/lib/rubygems/ext/cargo_builder.rb +129 -89
  57. data/lib/rubygems/package/tar_reader/entry.rb +6 -4
  58. data/lib/rubygems/specification_policy.rb +6 -1
  59. data/lib/rubygems.rb +11 -1
  60. data/rubygems-update.gemspec +1 -1
  61. data/test/rubygems/bundler_test_gem.rb +419 -0
  62. data/test/rubygems/test_gem.rb +0 -412
  63. data/test/rubygems/test_gem_command_manager.rb +25 -0
  64. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +2 -4
  65. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/{Cargo.lock → ext/custom_name_lib/Cargo.lock} +0 -0
  66. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/{Cargo.toml → ext/custom_name_lib/Cargo.toml} +0 -0
  67. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/{src → ext/custom_name_lib/src}/lib.rs +1 -1
  68. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/lib/custom_name.rb +1 -0
  69. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +4 -4
  70. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
  71. data/test/rubygems/test_gem_ext_cargo_builder.rb +9 -16
  72. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +5 -10
  73. data/test/rubygems/test_gem_package_tar_reader_entry.rb +60 -2
  74. data/test/rubygems/test_gem_specification.rb +17 -0
  75. metadata +8 -9
  76. data/bundler/lib/bundler/templates/gems.rb +0 -5
  77. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +0 -21
  78. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +0 -21
@@ -125,6 +125,18 @@ class TestGemPackageTarReaderEntry < Gem::Package::TarTestCase
125
125
  assert_equal @contents, @entry.read
126
126
  end
127
127
 
128
+ def test_consecutive_read
129
+ expected = StringIO.new(@contents)
130
+ assert_equal expected.read, @entry.read
131
+ assert_equal expected.read, @entry.read
132
+ end
133
+
134
+ def test_consecutive_read_bytes_past_eof
135
+ expected = StringIO.new(@contents)
136
+ assert_equal expected.read, @entry.read
137
+ assert_equal expected.read(1), @entry.read(1)
138
+ end
139
+
128
140
  def test_read_big
129
141
  assert_equal @contents, @entry.read(@contents.size * 2)
130
142
  end
@@ -133,9 +145,24 @@ class TestGemPackageTarReaderEntry < Gem::Package::TarTestCase
133
145
  assert_equal @contents[0...100], @entry.read(100)
134
146
  end
135
147
 
136
- def test_readpartial
148
+ def test_read_remaining
149
+ @entry.read(100)
150
+ assert_equal @contents[100..-1], @entry.read
151
+ end
152
+
153
+ def test_read_partial
154
+ assert_equal @contents[0...100], @entry.readpartial(100)
155
+ end
156
+
157
+ def test_read_partial_buffer
158
+ buffer = "".b
159
+ @entry.readpartial(100, buffer)
160
+ assert_equal @contents[0...100], buffer
161
+ end
162
+
163
+ def test_readpartial_past_eof
164
+ @entry.readpartial(@contents.size)
137
165
  assert_raise(EOFError) do
138
- @entry.read(@contents.size)
139
166
  @entry.readpartial(1)
140
167
  end
141
168
  end
@@ -149,4 +176,35 @@ class TestGemPackageTarReaderEntry < Gem::Package::TarTestCase
149
176
 
150
177
  assert_equal char, @entry.getc
151
178
  end
179
+
180
+ def test_read_zero
181
+ expected = StringIO.new("")
182
+ assert_equal expected.read(0), @entry.read(0)
183
+ end
184
+
185
+ def test_readpartial_zero
186
+ expected = StringIO.new("")
187
+ assert_equal expected.readpartial(0), @entry.readpartial(0)
188
+ end
189
+
190
+ def util_zero_byte_entry
191
+ tar = String.new
192
+ tar << tar_file_header("lib/empty", "", 0, 0, Time.now)
193
+ tar << "\0" * (512 - (tar.size % 512))
194
+ util_entry tar
195
+ end
196
+
197
+ def test_zero_byte_file_read
198
+ zero_entry = util_zero_byte_entry
199
+ expected = StringIO.new("")
200
+
201
+ assert_equal expected.read, zero_entry.read
202
+ end
203
+
204
+ def test_zero_byte_file_readpartial
205
+ zero_entry = util_zero_byte_entry
206
+ expected = StringIO.new("")
207
+
208
+ assert_equal expected.readpartial(0), zero_entry.readpartial(0)
209
+ end
152
210
  end
@@ -2677,6 +2677,23 @@ duplicate dependency on c (>= 1.2.3, development), (~> 1.2) use:
2677
2677
  end
2678
2678
  end
2679
2679
 
2680
+ def test_validate_self_referencing_dependencies
2681
+ util_setup_validate
2682
+
2683
+ Dir.chdir @tempdir do
2684
+ @a1.add_runtime_dependency @a1.name, "1"
2685
+
2686
+ use_ui @ui do
2687
+ @a1.validate
2688
+ end
2689
+
2690
+ assert_equal <<-EXPECTED, @ui.error
2691
+ #{w}: Self referencing dependency is unnecessary and strongly discouraged.
2692
+ #{w}: See https://guides.rubygems.org/specification-reference/ for help
2693
+ EXPECTED
2694
+ end
2695
+ end
2696
+
2680
2697
  def test_validate_rake_extension_have_rake_dependency_warning
2681
2698
  util_setup_validate
2682
2699
 
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.4.5
4
+ version: 3.4.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: 2023-01-21 00:00:00.000000000 Z
19
+ date: 2023-02-15 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
@@ -261,7 +261,6 @@ files:
261
261
  - bundler/lib/bundler/templates/Executable.bundler
262
262
  - bundler/lib/bundler/templates/Executable.standalone
263
263
  - bundler/lib/bundler/templates/Gemfile
264
- - bundler/lib/bundler/templates/gems.rb
265
264
  - bundler/lib/bundler/templates/newgem/CHANGELOG.md.tt
266
265
  - bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt
267
266
  - bundler/lib/bundler/templates/newgem/Cargo.toml.tt
@@ -601,6 +600,7 @@ files:
601
600
  - test/rubygems/alternate_cert_32.pem
602
601
  - test/rubygems/alternate_key.pem
603
602
  - test/rubygems/bad_rake.rb
603
+ - test/rubygems/bundler_test_gem.rb
604
604
  - test/rubygems/ca_cert.pem
605
605
  - test/rubygems/child_cert.pem
606
606
  - test/rubygems/child_cert_32.pem
@@ -708,15 +708,14 @@ files:
708
708
  - test/rubygems/test_gem_ext_builder.rb
709
709
  - test/rubygems/test_gem_ext_cargo_builder.rb
710
710
  - test/rubygems/test_gem_ext_cargo_builder/custom_name/.gitignore
711
- - test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock
712
- - test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml
713
- - test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb
714
711
  - test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec
715
- - test/rubygems/test_gem_ext_cargo_builder/custom_name/src/lib.rs
712
+ - test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.lock
713
+ - test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.toml
714
+ - test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/src/lib.rs
715
+ - test/rubygems/test_gem_ext_cargo_builder/custom_name/lib/custom_name.rb
716
716
  - test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/.gitignore
717
717
  - test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock
718
718
  - test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml
719
- - test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb
720
719
  - test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/rust_ruby_example.gemspec
721
720
  - test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs
722
721
  - test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb
@@ -834,7 +833,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
834
833
  - !ruby/object:Gem::Version
835
834
  version: '0'
836
835
  requirements: []
837
- rubygems_version: 3.4.5
836
+ rubygems_version: 3.4.7
838
837
  signing_key:
839
838
  specification_version: 4
840
839
  summary: RubyGems is a package management framework for Ruby.
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source "https://rubygems.org"
4
-
5
- # gem "rails"
@@ -1,21 +0,0 @@
1
- if ENV["RUBYOPT"] || defined? Gem
2
- ENV.delete "RUBYOPT"
3
-
4
- require "rbconfig"
5
- cmd = [RbConfig.ruby, "--disable-gems", "build.rb", *ARGV]
6
-
7
- exec(*cmd)
8
- end
9
-
10
- require "tmpdir"
11
-
12
- lp = File.expand_path("../../../../lib", __dir__)
13
- gem = ["ruby", "-I#{lp}", File.expand_path("../../../../bin/gem", __dir__)]
14
- gemspec = File.expand_path("custom_name.gemspec", __dir__)
15
-
16
- Dir.mktmpdir("custom_name") do |dir|
17
- built_gem = File.expand_path(File.join(dir, "custom_name.gem"))
18
- system(*gem, "build", gemspec, "--output", built_gem)
19
- system(*gem, "install", "--verbose", "--local", built_gem, *ARGV)
20
- system %q(ruby -rcustom_name -e "puts 'Result: ' + CustomName.say_hello")
21
- end
@@ -1,21 +0,0 @@
1
- if ENV["RUBYOPT"] || defined? Gem
2
- ENV.delete "RUBYOPT"
3
-
4
- require "rbconfig"
5
- cmd = [RbConfig.ruby, "--disable-gems", "build.rb", *ARGV]
6
-
7
- exec(*cmd)
8
- end
9
-
10
- require "tmpdir"
11
-
12
- lp = File.expand_path("../../../../lib", __dir__)
13
- gem = ["ruby", "-I#{lp}", File.expand_path("../../../../bin/gem", __dir__)]
14
- gemspec = File.expand_path("rust_ruby_example.gemspec", __dir__)
15
-
16
- Dir.mktmpdir("rust_ruby_example") do |dir|
17
- built_gem = File.expand_path(File.join(dir, "rust_ruby_example.gem"))
18
- system(*gem, "build", gemspec, "--output", built_gem)
19
- system(*gem, "install", "--verbose", "--local", built_gem, *ARGV)
20
- system %q(ruby -rrust_ruby_example -e "puts 'Result: ' + RustRubyExample.reverse('hello world')")
21
- end