rubygems-update 3.2.2 → 3.2.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/{History.txt → CHANGELOG.md} +482 -424
  3. data/Manifest.txt +30 -27
  4. data/Rakefile +11 -15
  5. data/bundler/CHANGELOG.md +67 -2
  6. data/bundler/bundler.gemspec +1 -1
  7. data/bundler/lib/bundler.rb +3 -7
  8. data/bundler/lib/bundler/build_metadata.rb +2 -2
  9. data/bundler/lib/bundler/cli.rb +2 -5
  10. data/bundler/lib/bundler/cli/cache.rb +1 -0
  11. data/bundler/lib/bundler/cli/gem.rb +2 -0
  12. data/bundler/lib/bundler/cli/update.rb +1 -1
  13. data/bundler/lib/bundler/compact_index_client/cache.rb +5 -13
  14. data/bundler/lib/bundler/compact_index_client/gem_parser.rb +28 -0
  15. data/bundler/lib/bundler/compact_index_client/updater.rb +0 -8
  16. data/bundler/lib/bundler/definition.rb +29 -21
  17. data/bundler/lib/bundler/dep_proxy.rb +15 -8
  18. data/bundler/lib/bundler/feature_flag.rb +0 -1
  19. data/bundler/lib/bundler/fetcher.rb +0 -1
  20. data/bundler/lib/bundler/gem_helper.rb +9 -7
  21. data/bundler/lib/bundler/gem_helpers.rb +30 -24
  22. data/bundler/lib/bundler/gem_version_promoter.rb +2 -2
  23. data/bundler/lib/bundler/installer.rb +0 -17
  24. data/bundler/lib/bundler/installer/standalone.rb +14 -0
  25. data/bundler/lib/bundler/lazy_specification.rb +10 -11
  26. data/bundler/{man → lib/bundler/man}/bundle-add.1 +1 -1
  27. data/bundler/{man → lib/bundler/man}/bundle-binstubs.1 +1 -1
  28. data/bundler/{man → lib/bundler/man}/bundle-cache.1 +1 -1
  29. data/bundler/{man → lib/bundler/man}/bundle-check.1 +1 -1
  30. data/bundler/{man → lib/bundler/man}/bundle-clean.1 +1 -1
  31. data/bundler/{man → lib/bundler/man}/bundle-config.1 +4 -4
  32. data/bundler/lib/bundler/man/bundle-config.1.ronn +3 -3
  33. data/bundler/{man → lib/bundler/man}/bundle-doctor.1 +1 -1
  34. data/bundler/{man → lib/bundler/man}/bundle-exec.1 +1 -1
  35. data/bundler/{man → lib/bundler/man}/bundle-gem.1 +1 -1
  36. data/bundler/{man → lib/bundler/man}/bundle-info.1 +1 -1
  37. data/bundler/{man → lib/bundler/man}/bundle-init.1 +1 -1
  38. data/bundler/{man → lib/bundler/man}/bundle-inject.1 +1 -1
  39. data/bundler/{man → lib/bundler/man}/bundle-install.1 +1 -1
  40. data/bundler/{man → lib/bundler/man}/bundle-list.1 +1 -1
  41. data/bundler/{man → lib/bundler/man}/bundle-lock.1 +1 -1
  42. data/bundler/{man → lib/bundler/man}/bundle-open.1 +1 -1
  43. data/bundler/{man → lib/bundler/man}/bundle-outdated.1 +1 -1
  44. data/bundler/{man → lib/bundler/man}/bundle-platform.1 +1 -1
  45. data/bundler/{man → lib/bundler/man}/bundle-pristine.1 +1 -1
  46. data/bundler/{man → lib/bundler/man}/bundle-remove.1 +1 -1
  47. data/bundler/{man → lib/bundler/man}/bundle-show.1 +1 -1
  48. data/bundler/{man → lib/bundler/man}/bundle-update.1 +1 -1
  49. data/bundler/{man → lib/bundler/man}/bundle-viz.1 +1 -1
  50. data/bundler/{man → lib/bundler/man}/bundle.1 +1 -1
  51. data/bundler/{man → lib/bundler/man}/gemfile.5 +1 -1
  52. data/bundler/{man → lib/bundler/man}/index.txt +0 -0
  53. data/bundler/lib/bundler/resolver.rb +36 -16
  54. data/bundler/lib/bundler/resolver/spec_group.rb +18 -23
  55. data/bundler/lib/bundler/rubygems_ext.rb +16 -0
  56. data/bundler/lib/bundler/rubygems_integration.rb +0 -5
  57. data/bundler/lib/bundler/settings.rb +1 -1
  58. data/bundler/lib/bundler/source/git.rb +19 -17
  59. data/bundler/lib/bundler/source/git/git_proxy.rb +54 -49
  60. data/bundler/lib/bundler/source/path/installer.rb +2 -0
  61. data/bundler/lib/bundler/source/rubygems.rb +10 -2
  62. data/bundler/lib/bundler/spec_set.rb +6 -9
  63. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +1 -1
  64. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +1 -1
  65. data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +3 -0
  66. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +7 -0
  67. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +1 -1
  68. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +11 -0
  69. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +11 -7
  70. data/bundler/lib/bundler/version.rb +1 -1
  71. data/lib/rubygems.rb +2 -2
  72. data/lib/rubygems/commands/setup_command.rb +16 -62
  73. data/lib/rubygems/dependency_installer.rb +1 -0
  74. data/lib/rubygems/ext/builder.rb +5 -4
  75. data/lib/rubygems/ext/cmake_builder.rb +1 -2
  76. data/lib/rubygems/ext/configure_builder.rb +1 -2
  77. data/lib/rubygems/gemcutter_utilities.rb +2 -2
  78. data/lib/rubygems/installer.rb +0 -23
  79. data/lib/rubygems/installer_uninstaller_utils.rb +6 -1
  80. data/lib/rubygems/platform.rb +0 -4
  81. data/lib/rubygems/remote_fetcher.rb +4 -2
  82. data/lib/rubygems/request_set.rb +2 -13
  83. data/lib/rubygems/requirement.rb +1 -1
  84. data/lib/rubygems/resolver.rb +6 -1
  85. data/lib/rubygems/resolver/api_set.rb +28 -19
  86. data/lib/rubygems/resolver/api_set/gem_parser.rb +20 -0
  87. data/lib/rubygems/resolver/api_specification.rb +4 -3
  88. data/lib/rubygems/resolver/best_set.rb +2 -2
  89. data/lib/rubygems/resolver/index_specification.rb +18 -0
  90. data/lib/rubygems/resolver/installer_set.rb +57 -7
  91. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb +1 -1
  92. data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +1 -1
  93. data/lib/rubygems/resolver/spec_specification.rb +14 -0
  94. data/lib/rubygems/resolver/specification.rb +12 -0
  95. data/lib/rubygems/source.rb +10 -6
  96. data/lib/rubygems/specification.rb +18 -14
  97. data/lib/rubygems/test_case.rb +17 -4
  98. data/rubygems-update.gemspec +2 -2
  99. data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
  100. data/test/rubygems/test_gem.rb +5 -0
  101. data/test/rubygems/test_gem_commands_install_command.rb +131 -0
  102. data/test/rubygems/test_gem_commands_setup_command.rb +21 -37
  103. data/test/rubygems/test_gem_dependency_installer.rb +27 -47
  104. data/test/rubygems/test_gem_ext_builder.rb +30 -6
  105. data/test/rubygems/test_gem_ext_cmake_builder.rb +2 -4
  106. data/test/rubygems/test_gem_ext_configure_builder.rb +2 -2
  107. data/test/rubygems/test_gem_installer.rb +8 -60
  108. data/test/rubygems/test_gem_platform.rb +8 -0
  109. data/test/rubygems/test_gem_remote_fetcher.rb +1 -1
  110. data/test/rubygems/test_gem_requirement.rb +34 -0
  111. data/test/rubygems/test_gem_resolver_api_set.rb +26 -52
  112. data/test/rubygems/test_gem_resolver_api_specification.rb +3 -3
  113. data/test/rubygems/test_gem_resolver_best_set.rb +26 -3
  114. data/test/rubygems/test_gem_source.rb +2 -2
  115. data/test/rubygems/test_gem_source_subpath_problem.rb +2 -2
  116. data/test/rubygems/test_gem_specification.rb +9 -3
  117. data/test/rubygems/test_gem_stream_ui.rb +1 -1
  118. metadata +34 -55
@@ -1,6 +1,6 @@
1
+ CHANGELOG.md
1
2
  CODE_OF_CONDUCT.md
2
3
  CONTRIBUTING.md
3
- History.txt
4
4
  LICENSE.txt
5
5
  MAINTAINERS.txt
6
6
  MIT.txt
@@ -52,6 +52,7 @@ bundler/lib/bundler/cli/update.rb
52
52
  bundler/lib/bundler/cli/viz.rb
53
53
  bundler/lib/bundler/compact_index_client.rb
54
54
  bundler/lib/bundler/compact_index_client/cache.rb
55
+ bundler/lib/bundler/compact_index_client/gem_parser.rb
55
56
  bundler/lib/bundler/compact_index_client/updater.rb
56
57
  bundler/lib/bundler/constants.rb
57
58
  bundler/lib/bundler/current_ruby.rb
@@ -90,31 +91,57 @@ bundler/lib/bundler/lazy_specification.rb
90
91
  bundler/lib/bundler/lockfile_generator.rb
91
92
  bundler/lib/bundler/lockfile_parser.rb
92
93
  bundler/lib/bundler/man/.document
94
+ bundler/lib/bundler/man/bundle-add.1
93
95
  bundler/lib/bundler/man/bundle-add.1.ronn
96
+ bundler/lib/bundler/man/bundle-binstubs.1
94
97
  bundler/lib/bundler/man/bundle-binstubs.1.ronn
98
+ bundler/lib/bundler/man/bundle-cache.1
95
99
  bundler/lib/bundler/man/bundle-cache.1.ronn
100
+ bundler/lib/bundler/man/bundle-check.1
96
101
  bundler/lib/bundler/man/bundle-check.1.ronn
102
+ bundler/lib/bundler/man/bundle-clean.1
97
103
  bundler/lib/bundler/man/bundle-clean.1.ronn
104
+ bundler/lib/bundler/man/bundle-config.1
98
105
  bundler/lib/bundler/man/bundle-config.1.ronn
106
+ bundler/lib/bundler/man/bundle-doctor.1
99
107
  bundler/lib/bundler/man/bundle-doctor.1.ronn
108
+ bundler/lib/bundler/man/bundle-exec.1
100
109
  bundler/lib/bundler/man/bundle-exec.1.ronn
110
+ bundler/lib/bundler/man/bundle-gem.1
101
111
  bundler/lib/bundler/man/bundle-gem.1.ronn
112
+ bundler/lib/bundler/man/bundle-info.1
102
113
  bundler/lib/bundler/man/bundle-info.1.ronn
114
+ bundler/lib/bundler/man/bundle-init.1
103
115
  bundler/lib/bundler/man/bundle-init.1.ronn
116
+ bundler/lib/bundler/man/bundle-inject.1
104
117
  bundler/lib/bundler/man/bundle-inject.1.ronn
118
+ bundler/lib/bundler/man/bundle-install.1
105
119
  bundler/lib/bundler/man/bundle-install.1.ronn
120
+ bundler/lib/bundler/man/bundle-list.1
106
121
  bundler/lib/bundler/man/bundle-list.1.ronn
122
+ bundler/lib/bundler/man/bundle-lock.1
107
123
  bundler/lib/bundler/man/bundle-lock.1.ronn
124
+ bundler/lib/bundler/man/bundle-open.1
108
125
  bundler/lib/bundler/man/bundle-open.1.ronn
126
+ bundler/lib/bundler/man/bundle-outdated.1
109
127
  bundler/lib/bundler/man/bundle-outdated.1.ronn
128
+ bundler/lib/bundler/man/bundle-platform.1
110
129
  bundler/lib/bundler/man/bundle-platform.1.ronn
130
+ bundler/lib/bundler/man/bundle-pristine.1
111
131
  bundler/lib/bundler/man/bundle-pristine.1.ronn
132
+ bundler/lib/bundler/man/bundle-remove.1
112
133
  bundler/lib/bundler/man/bundle-remove.1.ronn
134
+ bundler/lib/bundler/man/bundle-show.1
113
135
  bundler/lib/bundler/man/bundle-show.1.ronn
136
+ bundler/lib/bundler/man/bundle-update.1
114
137
  bundler/lib/bundler/man/bundle-update.1.ronn
138
+ bundler/lib/bundler/man/bundle-viz.1
115
139
  bundler/lib/bundler/man/bundle-viz.1.ronn
140
+ bundler/lib/bundler/man/bundle.1
116
141
  bundler/lib/bundler/man/bundle.1.ronn
142
+ bundler/lib/bundler/man/gemfile.5
117
143
  bundler/lib/bundler/man/gemfile.5.ronn
144
+ bundler/lib/bundler/man/index.txt
118
145
  bundler/lib/bundler/match_platform.rb
119
146
  bundler/lib/bundler/mirror.rb
120
147
  bundler/lib/bundler/plugin.rb
@@ -279,32 +306,6 @@ bundler/lib/bundler/version_ranges.rb
279
306
  bundler/lib/bundler/vlad.rb
280
307
  bundler/lib/bundler/worker.rb
281
308
  bundler/lib/bundler/yaml_serializer.rb
282
- bundler/man/bundle-add.1
283
- bundler/man/bundle-binstubs.1
284
- bundler/man/bundle-cache.1
285
- bundler/man/bundle-check.1
286
- bundler/man/bundle-clean.1
287
- bundler/man/bundle-config.1
288
- bundler/man/bundle-doctor.1
289
- bundler/man/bundle-exec.1
290
- bundler/man/bundle-gem.1
291
- bundler/man/bundle-info.1
292
- bundler/man/bundle-init.1
293
- bundler/man/bundle-inject.1
294
- bundler/man/bundle-install.1
295
- bundler/man/bundle-list.1
296
- bundler/man/bundle-lock.1
297
- bundler/man/bundle-open.1
298
- bundler/man/bundle-outdated.1
299
- bundler/man/bundle-platform.1
300
- bundler/man/bundle-pristine.1
301
- bundler/man/bundle-remove.1
302
- bundler/man/bundle-show.1
303
- bundler/man/bundle-update.1
304
- bundler/man/bundle-viz.1
305
- bundler/man/bundle.1
306
- bundler/man/gemfile.5
307
- bundler/man/index.txt
308
309
  hide_lib_for_update/note.txt
309
310
  lib/rubygems.rb
310
311
  lib/rubygems/available_set.rb
@@ -412,6 +413,7 @@ lib/rubygems/requirement.rb
412
413
  lib/rubygems/resolver.rb
413
414
  lib/rubygems/resolver/activation_request.rb
414
415
  lib/rubygems/resolver/api_set.rb
416
+ lib/rubygems/resolver/api_set/gem_parser.rb
415
417
  lib/rubygems/resolver/api_specification.rb
416
418
  lib/rubygems/resolver/best_set.rb
417
419
  lib/rubygems/resolver/composed_set.rb
@@ -509,6 +511,7 @@ test/rubygems/child_key.pem
509
511
  test/rubygems/client.pem
510
512
  test/rubygems/data/gem-private_key.pem
511
513
  test/rubygems/data/gem-public_cert.pem
514
+ test/rubygems/data/null-required-rubygems-version.gemspec.rz
512
515
  test/rubygems/data/null-type.gemspec.rz
513
516
  test/rubygems/encrypted_private_key.pem
514
517
  test/rubygems/expired_cert.pem
data/Rakefile CHANGED
@@ -7,9 +7,12 @@ require 'psych'
7
7
 
8
8
  desc "Setup Rubygems dev environment"
9
9
  task :setup do
10
- version = File.read("dev_gems.rb.lock").split(/BUNDLED WITH\n /).last
11
- sh "gem install bundler:#{version}"
12
- sh "bundle install --gemfile=dev_gems.rb"
10
+ sh "ruby", "bundler/bin/bundle", "install", "--gemfile=dev_gems.rb"
11
+ end
12
+
13
+ desc "Update Rubygems dev environment"
14
+ task :update do |_, args|
15
+ sh "ruby", "bundler/bin/bundle", "update", *args, "--gemfile=dev_gems.rb"
13
16
  end
14
17
 
15
18
  desc "Setup git hooks"
@@ -39,7 +42,7 @@ RDoc::Task.new :rdoc => 'docs', :clobber_rdoc => 'clobber_docs' do |doc|
39
42
  doc.title = "RubyGems #{v} API Documentation"
40
43
 
41
44
  rdoc_files = Rake::FileList.new %w[lib bundler/lib]
42
- rdoc_files.add %w[History.txt LICENSE.txt MIT.txt CODE_OF_CONDUCT.md CONTRIBUTING.md
45
+ rdoc_files.add %w[CHANGELOG.md LICENSE.txt MIT.txt CODE_OF_CONDUCT.md CONTRIBUTING.md
43
46
  MAINTAINERS.txt Manifest.txt POLICIES.md README.md UPGRADING.md bundler/CHANGELOG.md
44
47
  bundler/doc/contributing/README.md bundler/LICENSE.md bundler/README.md
45
48
  hide_lib_for_update/note.txt].map(&:freeze)
@@ -108,7 +111,7 @@ end
108
111
 
109
112
  desc "Install rubygems to local system"
110
113
  task :install => [:clear_package, :package] do
111
- sh "ruby -Ilib bin/gem install --no-document pkg/rubygems-update-#{v}.gem && update_rubygems --no-document"
114
+ sh "ruby -Ilib bin/gem install --no-document pkg/rubygems-update-#{v}.gem --backtrace && update_rubygems --no-document --backtrace"
112
115
  end
113
116
 
114
117
  desc "Clears previously built package"
@@ -183,11 +186,7 @@ end
183
186
 
184
187
  desc "Upload release to S3"
185
188
  task :upload_to_s3 do
186
- begin
187
- require "aws-sdk-s3"
188
- rescue LoadError
189
- abort "Install the aws-sdk-s3 gem to be able to upload gems to rubygems.org."
190
- end
189
+ require "aws-sdk-s3"
191
190
 
192
191
  s3 = Aws::S3::Resource.new(region:'us-west-2')
193
192
  %w[zip tgz].each do |ext|
@@ -313,9 +312,7 @@ To update to the latest RubyGems you can run:
313
312
 
314
313
  gem update --system
315
314
 
316
- If you need to upgrade or downgrade please follow the [how to upgrade/downgrade
317
- RubyGems][upgrading] instructions. To install RubyGems by hand see the
318
- [Download RubyGems][download] page.
315
+ To install RubyGems by hand see the [Download RubyGems][download] page.
319
316
 
320
317
  #{history.release_notes_for_blog.join("\n")}
321
318
 
@@ -324,7 +321,6 @@ SHA256 Checksums:
324
321
  #{checksums}
325
322
 
326
323
  [download]: https://rubygems.org/pages/download
327
- [upgrading]: http://docs.seattlerb.org/rubygems/UPGRADING_rdoc.html
328
324
 
329
325
  ANNOUNCEMENT
330
326
 
@@ -365,7 +361,7 @@ module Rubygems
365
361
  class ProjectFiles
366
362
  def self.all
367
363
  files = []
368
- exclude = %r{\A(?:\.|dev_gems|bundler/(?!lib|man|exe|[^/]+\.md|bundler.gemspec)|util/)}
364
+ exclude = %r{\A(?:\.|dev_gems|bundler/(?!lib|exe|[^/]+\.md|bundler.gemspec)|util/)}
369
365
  tracked_files = `git ls-files`.split("\n")
370
366
 
371
367
  tracked_files.each do |path|
@@ -1,3 +1,68 @@
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
+
20
+ # 2.2.6 (January 18, 2021)
21
+
22
+ ## Enhancements:
23
+
24
+ - Improve resolver debugging [#4288](https://github.com/rubygems/rubygems/pull/4288)
25
+
26
+ ## Bug fixes:
27
+
28
+ - Fix dependency locking for path source [#4293](https://github.com/rubygems/rubygems/pull/4293)
29
+
30
+ ## Performance:
31
+
32
+ - Speed up complex dependency resolves by creating DepProxy factory and cache [#4216](https://github.com/rubygems/rubygems/pull/4216)
33
+
34
+ # 2.2.5 (January 11, 2021)
35
+
36
+ ## Enhancements:
37
+
38
+ - Improve rubocop setup in the new gem template [#4220](https://github.com/rubygems/rubygems/pull/4220)
39
+ - Support repositories with default branch not named master [#4224](https://github.com/rubygems/rubygems/pull/4224)
40
+
41
+ ## Bug fixes:
42
+
43
+ - Let Net::HTTP decompress the index instead of doing it manually [#4081](https://github.com/rubygems/rubygems/pull/4081)
44
+ - Workaround for another jruby crash when autoloading a constant [#4252](https://github.com/rubygems/rubygems/pull/4252)
45
+ - Fix another performance regression in the resolver [#4243](https://github.com/rubygems/rubygems/pull/4243)
46
+ - Restore support for old git versions [#4233](https://github.com/rubygems/rubygems/pull/4233)
47
+ - Give a proper error if cache path does not have write access [#4215](https://github.com/rubygems/rubygems/pull/4215)
48
+ - Fix running `rake release` from an ambiguous ref [#4219](https://github.com/rubygems/rubygems/pull/4219)
49
+
50
+ # 2.2.4 (December 31, 2020)
51
+
52
+ ## Bug fixes:
53
+
54
+ - Fix bundle man pages display on truffleruby [#4209](https://github.com/rubygems/rubygems/pull/4209)
55
+ - Fix Windows + JRuby no longer being able to install git sources [#4196](https://github.com/rubygems/rubygems/pull/4196)
56
+
57
+ # 2.2.3 (December 22, 2020)
58
+
59
+ ## Bug fixes:
60
+
61
+ - Restore full compatibility with previous lockfiles [#4179](https://github.com/rubygems/rubygems/pull/4179)
62
+ - Add all matching variants with the same platform specificity to the lockfile [#4180](https://github.com/rubygems/rubygems/pull/4180)
63
+ - Fix bundler installing gems for a different platform when running in frozen mode and current platform not in the lockfile [#4172](https://github.com/rubygems/rubygems/pull/4172)
64
+ - Fix crash when `bundle exec`'ing to bundler [#4175](https://github.com/rubygems/rubygems/pull/4175)
65
+
1
66
  # 2.2.2 (December 17, 2020)
2
67
 
3
68
  ## Bug fixes:
@@ -311,7 +376,7 @@
311
376
  - Fix `bundle update` message about exclude groups saying "installed" instead of "updated" ([#7150](https://github.com/rubygems/bundler/pull/7150))
312
377
  - Fix `bundle licenses` not showing correct information about bundler itself ([#7147](https://github.com/rubygems/bundler/pull/7147))
313
378
  - Fix installation path not including ruby scope when `BUNDLE_PATH` was set ([#7163](https://github.com/rubygems/bundler/pull/7163))
314
- - Fix `bundle clean` incorrectly removing git depedencies present in the Gemfile when rubygems 3.0+ was used and path involved a symlink ([#7211](https://github.com/rubygems/bundler/pull/7211))
379
+ - Fix `bundle clean` incorrectly removing git dependencies present in the Gemfile when rubygems 3.0+ was used and path involved a symlink ([#7211](https://github.com/rubygems/bundler/pull/7211))
315
380
  - Fix platform specific gems always being re-resolved when bundler was not running under that platform ([#7212](https://github.com/rubygems/bundler/pull/7212))
316
381
  - Fix `bundle package --all-platforms` causing `bundle install` to ignore `--with` and `--without` ([#6113](https://github.com/rubygems/bundler/pull/6113))
317
382
  - Fix `MissingRevision` git errors to include the specific `git` command that failed under the hood ([#7225](https://github.com/rubygems/bundler/pull/7225))
@@ -483,7 +548,7 @@ Changes
483
548
  ## Bug fixes:
484
549
 
485
550
  - Fix issue where updating a gem resulted in the gem's version being downgraded when `BUNDLE_ONLY_UPDATE_TO_NEWER_VERSIONS` was set ([#6529](https://github.com/rubygems/bundler/issues/6529), @theflow)
486
- - Fix some rescue calls that don't specifiy error type (@utilum)
551
+ - Fix some rescue calls that don't specify error type (@utilum)
487
552
  - Fix an issue when the Lockfile would contain platform-specific gems that it didn't need ([#6491](https://github.com/rubygems/bundler/issues/6491), @segiddins)
488
553
  - Improve handling of adding new gems with only a single group to the Gemfile in `bundle add` (@agrim123)
489
554
  - Refactor check for OpenSSL in `bundle env` (@voxik)
@@ -34,7 +34,7 @@ Gem::Specification.new do |s|
34
34
  s.required_ruby_version = ">= 2.3.0"
35
35
  s.required_rubygems_version = ">= 2.5.2"
36
36
 
37
- s.files = Dir.glob("{lib,man,exe}/**/*", File::FNM_DOTMATCH).reject {|f| File.directory?(f) }
37
+ s.files = Dir.glob("{lib,exe}/**/*", File::FNM_DOTMATCH).reject {|f| File.directory?(f) }
38
38
 
39
39
  # Include the CHANGELOG.md, LICENSE.md, README.md manually
40
40
  s.files += %w[CHANGELOG.md LICENSE.md README.md]
@@ -63,7 +63,6 @@ module Bundler
63
63
  autoload :Resolver, File.expand_path("bundler/resolver", __dir__)
64
64
  autoload :Retry, File.expand_path("bundler/retry", __dir__)
65
65
  autoload :RubyDsl, File.expand_path("bundler/ruby_dsl", __dir__)
66
- autoload :RubyGemsGemInstaller, File.expand_path("bundler/rubygems_gem_installer", __dir__)
67
66
  autoload :RubyVersion, File.expand_path("bundler/ruby_version", __dir__)
68
67
  autoload :Runtime, File.expand_path("bundler/runtime", __dir__)
69
68
  autoload :Settings, File.expand_path("bundler/settings", __dir__)
@@ -212,13 +211,10 @@ module Bundler
212
211
  end
213
212
  end
214
213
 
215
- def locked_bundler_version
216
- return nil unless defined?(@definition) && @definition
214
+ def most_specific_locked_platform?(platform)
215
+ return false unless defined?(@definition) && @definition
217
216
 
218
- locked_gems = definition.locked_gems
219
- return nil unless locked_gems
220
-
221
- locked_gems.bundler_version
217
+ definition.most_specific_locked_platform == platform
222
218
  end
223
219
 
224
220
  def ruby_scope
@@ -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 = "2020-12-17".freeze
8
- @git_commit_sha = "d85cd5b7c3".freeze
7
+ @built_at = "2021-01-27".freeze
8
+ @git_commit_sha = "7bc7ecb660".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
@@ -122,9 +122,7 @@ module Bundler
122
122
  else command = "bundle-#{cli}"
123
123
  end
124
124
 
125
- man_path = File.expand_path("../../../man", __FILE__)
126
- # man files are located under ruby's mandir with the default gems of bundler
127
- man_path = RbConfig::CONFIG["mandir"] unless File.directory?(man_path)
125
+ man_path = File.expand_path("man", __dir__)
128
126
  man_pages = Hash[Dir.glob(File.join(man_path, "**", "*")).grep(/.*\.\d*\Z/).collect do |f|
129
127
  [File.basename(f, ".*"), f]
130
128
  end]
@@ -134,8 +132,7 @@ module Bundler
134
132
  if Bundler.which("man") && man_path !~ %r{^file:/.+!/META-INF/jruby.home/.+}
135
133
  Kernel.exec "man #{man_page}"
136
134
  else
137
- fallback_man_path = File.expand_path("../man", __FILE__)
138
- puts File.read("#{fallback_man_path}/#{File.basename(man_page)}.ronn")
135
+ puts File.read("#{man_path}/#{File.basename(man_page)}.ronn")
139
136
  end
140
137
  elsif command_path = Bundler.which("bundler-#{cli}")
141
138
  Kernel.exec(command_path, "--help")
@@ -30,6 +30,7 @@ module Bundler
30
30
  require_relative "install"
31
31
  options = self.options.dup
32
32
  options["local"] = false if Bundler.settings[:cache_all_platforms]
33
+ options["no-cache"] = true
33
34
  Bundler::CLI::Install.new(options).run
34
35
  end
35
36
 
@@ -59,6 +59,7 @@ module Bundler
59
59
  :exe => options[:exe],
60
60
  :bundler_version => bundler_dependency_version,
61
61
  :github_username => github_username.empty? ? "[USERNAME]" : github_username,
62
+ :required_ruby_version => Gem.ruby_version < Gem::Version.new("2.4.a") ? "2.3.0" : "2.4.0",
62
63
  }
63
64
  ensure_safe_gem_name(name, constant_array)
64
65
 
@@ -147,6 +148,7 @@ module Bundler
147
148
  "For more information, see the RuboCop docs (https://docs.rubocop.org/en/stable/) " \
148
149
  "and the Ruby Style Guides (https://github.com/rubocop-hq/ruby-style-guide).")
149
150
  config[:rubocop] = true
151
+ config[:rubocop_version] = Gem.ruby_version < Gem::Version.new("2.4.a") ? "0.81.0" : "1.7"
150
152
  Bundler.ui.info "RuboCop enabled in config"
151
153
  templates.merge!("rubocop.yml.tt" => ".rubocop.yml")
152
154
  end
@@ -82,7 +82,7 @@ module Bundler
82
82
  locked_spec = locked_info[:spec]
83
83
  new_spec = Bundler.definition.specs[name].first
84
84
  unless new_spec
85
- if Bundler.rubygems.platforms.none? {|p| locked_spec.match_platform(p) }
85
+ unless locked_spec.match_platform(Bundler.local_platform)
86
86
  Bundler.ui.warn "Bundler attempted to update #{name} but it was not considered because it is for a different platform from the current one"
87
87
  end
88
88
 
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require_relative "gem_parser"
4
+
3
5
  module Bundler
4
6
  class CompactIndexClient
5
7
  class Cache
@@ -92,19 +94,9 @@ module Bundler
92
94
  header ? lines[header + 1..-1] : lines
93
95
  end
94
96
 
95
- def parse_gem(string)
96
- version_and_platform, rest = string.split(" ", 2)
97
- version, platform = version_and_platform.split("-", 2)
98
- dependencies, requirements = rest.split("|", 2).map {|s| s.split(",") } if rest
99
- dependencies = dependencies ? dependencies.map {|d| parse_dependency(d) } : []
100
- requirements = requirements ? requirements.map {|r| parse_dependency(r) } : []
101
- [version, platform, dependencies, requirements]
102
- end
103
-
104
- def parse_dependency(string)
105
- dependency = string.split(":")
106
- dependency[-1] = dependency[-1].split("&") if dependency.size > 1
107
- dependency
97
+ def parse_gem(line)
98
+ @dependency_parser ||= GemParser.new
99
+ @dependency_parser.parse(line)
108
100
  end
109
101
 
110
102
  def info_roots
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Bundler
4
+ class CompactIndexClient
5
+ if defined?(Gem::Resolver::APISet::GemParser)
6
+ GemParser = Gem::Resolver::APISet::GemParser
7
+ else
8
+ class GemParser
9
+ def parse(line)
10
+ version_and_platform, rest = line.split(" ", 2)
11
+ version, platform = version_and_platform.split("-", 2)
12
+ dependencies, requirements = rest.split("|", 2).map {|s| s.split(",") } if rest
13
+ dependencies = dependencies ? dependencies.map {|d| parse_dependency(d) } : []
14
+ requirements = requirements ? requirements.map {|d| parse_dependency(d) } : []
15
+ [version, platform, dependencies, requirements]
16
+ end
17
+
18
+ private
19
+
20
+ def parse_dependency(string)
21
+ dependency = string.split(":")
22
+ dependency[-1] = dependency[-1].split("&") if dependency.size > 1
23
+ dependency
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "../vendored_fileutils"
4
- require "stringio"
5
- require "zlib"
6
4
 
7
5
  module Bundler
8
6
  class CompactIndexClient
@@ -45,18 +43,12 @@ module Bundler
45
43
  else
46
44
  "bytes=#{local_temp_path.size}-"
47
45
  end
48
- else
49
- # Fastly ignores Range when Accept-Encoding: gzip is set
50
- headers["Accept-Encoding"] = "gzip"
51
46
  end
52
47
 
53
48
  response = @fetcher.call(remote_path, headers)
54
49
  return nil if response.is_a?(Net::HTTPNotModified)
55
50
 
56
51
  content = response.body
57
- if response["Content-Encoding"] == "gzip"
58
- content = Zlib::GzipReader.new(StringIO.new(content)).read
59
- end
60
52
 
61
53
  SharedHelpers.filesystem_access(local_temp_path) do
62
54
  if response.is_a?(Net::HTTPPartialContent) && local_temp_path.size.nonzero?