bundler 2.4.12 → 2.4.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +117 -0
  3. data/exe/bundle +5 -13
  4. data/lib/bundler/build_metadata.rb +2 -2
  5. data/lib/bundler/cli/binstubs.rb +1 -1
  6. data/lib/bundler/cli/info.rb +1 -1
  7. data/lib/bundler/cli/install.rb +1 -1
  8. data/lib/bundler/cli/outdated.rb +1 -1
  9. data/lib/bundler/cli/platform.rb +7 -5
  10. data/lib/bundler/cli/update.rb +1 -0
  11. data/lib/bundler/definition.rb +97 -59
  12. data/lib/bundler/dsl.rb +1 -1
  13. data/lib/bundler/env.rb +1 -1
  14. data/lib/bundler/feature_flag.rb +0 -1
  15. data/lib/bundler/fetcher/base.rb +2 -2
  16. data/lib/bundler/fetcher/compact_index.rb +4 -8
  17. data/lib/bundler/fetcher/dependency.rb +1 -1
  18. data/lib/bundler/fetcher/downloader.rb +2 -0
  19. data/lib/bundler/fetcher/index.rb +1 -2
  20. data/lib/bundler/fetcher.rb +42 -31
  21. data/lib/bundler/friendly_errors.rb +1 -1
  22. data/lib/bundler/gem_helper.rb +3 -4
  23. data/lib/bundler/index.rb +62 -31
  24. data/lib/bundler/installer/parallel_installer.rb +1 -1
  25. data/lib/bundler/installer/standalone.rb +8 -1
  26. data/lib/bundler/installer.rb +1 -1
  27. data/lib/bundler/lockfile_generator.rb +1 -1
  28. data/lib/bundler/lockfile_parser.rb +4 -15
  29. data/lib/bundler/man/bundle-add.1 +1 -1
  30. data/lib/bundler/man/bundle-binstubs.1 +1 -1
  31. data/lib/bundler/man/bundle-cache.1 +3 -3
  32. data/lib/bundler/man/bundle-cache.1.ronn +2 -2
  33. data/lib/bundler/man/bundle-check.1 +1 -1
  34. data/lib/bundler/man/bundle-clean.1 +1 -1
  35. data/lib/bundler/man/bundle-config.1 +1 -4
  36. data/lib/bundler/man/bundle-config.1.ronn +0 -3
  37. data/lib/bundler/man/bundle-console.1 +1 -1
  38. data/lib/bundler/man/bundle-doctor.1 +1 -1
  39. data/lib/bundler/man/bundle-exec.1 +1 -1
  40. data/lib/bundler/man/bundle-gem.1 +1 -1
  41. data/lib/bundler/man/bundle-help.1 +1 -1
  42. data/lib/bundler/man/bundle-info.1 +3 -3
  43. data/lib/bundler/man/bundle-info.1.ronn +3 -3
  44. data/lib/bundler/man/bundle-init.1 +1 -1
  45. data/lib/bundler/man/bundle-inject.1 +1 -1
  46. data/lib/bundler/man/bundle-install.1 +1 -1
  47. data/lib/bundler/man/bundle-list.1 +1 -1
  48. data/lib/bundler/man/bundle-lock.1 +1 -1
  49. data/lib/bundler/man/bundle-open.1 +1 -1
  50. data/lib/bundler/man/bundle-outdated.1 +13 -9
  51. data/lib/bundler/man/bundle-outdated.1.ronn +12 -9
  52. data/lib/bundler/man/bundle-platform.1 +1 -1
  53. data/lib/bundler/man/bundle-plugin.1 +1 -1
  54. data/lib/bundler/man/bundle-pristine.1 +1 -1
  55. data/lib/bundler/man/bundle-remove.1 +1 -1
  56. data/lib/bundler/man/bundle-show.1 +1 -1
  57. data/lib/bundler/man/bundle-update.1 +1 -1
  58. data/lib/bundler/man/bundle-version.1 +1 -1
  59. data/lib/bundler/man/bundle-viz.1 +1 -1
  60. data/lib/bundler/man/bundle.1 +1 -1
  61. data/lib/bundler/man/gemfile.5 +26 -2
  62. data/lib/bundler/man/gemfile.5.ronn +11 -1
  63. data/lib/bundler/plugin/index.rb +1 -1
  64. data/lib/bundler/plugin.rb +1 -1
  65. data/lib/bundler/resolver.rb +34 -5
  66. data/lib/bundler/retry.rb +1 -1
  67. data/lib/bundler/ruby_dsl.rb +27 -0
  68. data/lib/bundler/ruby_version.rb +2 -2
  69. data/lib/bundler/rubygems_integration.rb +1 -1
  70. data/lib/bundler/runtime.rb +1 -1
  71. data/lib/bundler/safe_marshal.rb +31 -0
  72. data/lib/bundler/self_manager.rb +2 -0
  73. data/lib/bundler/settings.rb +40 -16
  74. data/lib/bundler/source/git/git_proxy.rb +45 -15
  75. data/lib/bundler/source/git.rb +40 -14
  76. data/lib/bundler/source/rubygems.rb +30 -30
  77. data/lib/bundler/source.rb +1 -1
  78. data/lib/bundler/source_list.rb +0 -4
  79. data/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +1 -1
  80. data/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +4 -4
  81. data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +1 -1
  82. data/lib/bundler/templates/newgem/newgem.gemspec.tt +2 -1
  83. data/lib/bundler/ui/rg_proxy.rb +1 -1
  84. data/lib/bundler/vendor/fileutils/lib/fileutils.rb +1 -1
  85. data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +9 -4
  86. data/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +2 -2
  87. data/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +1 -1
  88. data/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
  89. data/lib/bundler/version.rb +1 -1
  90. data/lib/bundler.rb +7 -15
  91. metadata +4 -3
data/lib/bundler.rb CHANGED
@@ -39,16 +39,6 @@ module Bundler
39
39
  environment_preserver.replace_with_backup
40
40
  SUDO_MUTEX = Thread::Mutex.new
41
41
 
42
- SAFE_MARSHAL_CLASSES = [Symbol, TrueClass, String, Array, Hash, Gem::Version, Gem::Specification].freeze
43
- SAFE_MARSHAL_ERROR = "Unexpected class %s present in marshaled data. Only %s are allowed."
44
- SAFE_MARSHAL_PROC = proc do |object|
45
- object.tap do
46
- unless SAFE_MARSHAL_CLASSES.include?(object.class)
47
- raise TypeError, format(SAFE_MARSHAL_ERROR, object.class, SAFE_MARSHAL_CLASSES.join(", "))
48
- end
49
- end
50
- end
51
-
52
42
  autoload :Definition, File.expand_path("bundler/definition", __dir__)
53
43
  autoload :Dependency, File.expand_path("bundler/dependency", __dir__)
54
44
  autoload :Deprecate, File.expand_path("bundler/deprecate", __dir__)
@@ -86,6 +76,7 @@ module Bundler
86
76
  autoload :UI, File.expand_path("bundler/ui", __dir__)
87
77
  autoload :URICredentialsFilter, File.expand_path("bundler/uri_credentials_filter", __dir__)
88
78
  autoload :URINormalizer, File.expand_path("bundler/uri_normalizer", __dir__)
79
+ autoload :SafeMarshal, File.expand_path("bundler/safe_marshal", __dir__)
89
80
 
90
81
  class << self
91
82
  def configure
@@ -219,9 +210,10 @@ module Bundler
219
210
  end
220
211
 
221
212
  def frozen_bundle?
222
- frozen = settings[:deployment]
223
- frozen ||= settings[:frozen]
224
- frozen
213
+ frozen = settings[:frozen]
214
+ return frozen unless frozen.nil?
215
+
216
+ settings[:deployment]
225
217
  end
226
218
 
227
219
  def locked_gems
@@ -523,7 +515,7 @@ EOF
523
515
  end
524
516
 
525
517
  def safe_load_marshal(data)
526
- load_marshal(data, :marshal_proc => SAFE_MARSHAL_PROC)
518
+ load_marshal(data, :marshal_proc => SafeMarshal.proc)
527
519
  end
528
520
 
529
521
  def load_gemspec(file, validate = false)
@@ -532,7 +524,7 @@ EOF
532
524
  @gemspec_cache[key] ||= load_gemspec_uncached(file, validate)
533
525
  # Protect against caching side-effected gemspecs by returning a
534
526
  # new instance each time.
535
- @gemspec_cache[key].dup if @gemspec_cache[key]
527
+ @gemspec_cache[key]&.dup
536
528
  end
537
529
 
538
530
  def load_gemspec_uncached(file, validate = false)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bundler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.12
4
+ version: 2.4.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - André Arko
@@ -22,7 +22,7 @@ authors:
22
22
  autorequire:
23
23
  bindir: exe
24
24
  cert_chain: []
25
- date: 2023-04-11 00:00:00.000000000 Z
25
+ date: 2023-09-27 00:00:00.000000000 Z
26
26
  dependencies: []
27
27
  description: Bundler manages an application's dependencies through its entire life,
28
28
  across many machines, systematically and repeatably
@@ -203,6 +203,7 @@ files:
203
203
  - lib/bundler/rubygems_gem_installer.rb
204
204
  - lib/bundler/rubygems_integration.rb
205
205
  - lib/bundler/runtime.rb
206
+ - lib/bundler/safe_marshal.rb
206
207
  - lib/bundler/self_manager.rb
207
208
  - lib/bundler/settings.rb
208
209
  - lib/bundler/settings/validator.rb
@@ -380,7 +381,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
380
381
  - !ruby/object:Gem::Version
381
382
  version: 3.0.1
382
383
  requirements: []
383
- rubygems_version: 3.4.12
384
+ rubygems_version: 3.4.20
384
385
  signing_key:
385
386
  specification_version: 4
386
387
  summary: The best way to manage your application's dependencies