bundler 2.6.2 → 2.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +91 -0
  3. data/README.md +2 -2
  4. data/lib/bundler/build_metadata.rb +2 -2
  5. data/lib/bundler/checksum.rb +1 -1
  6. data/lib/bundler/cli/console.rb +8 -6
  7. data/lib/bundler/cli/doctor.rb +23 -19
  8. data/lib/bundler/cli/info.rb +4 -4
  9. data/lib/bundler/cli/inject.rb +2 -2
  10. data/lib/bundler/cli/issue.rb +1 -1
  11. data/lib/bundler/cli/lock.rb +2 -1
  12. data/lib/bundler/cli/outdated.rb +6 -4
  13. data/lib/bundler/cli/show.rb +1 -1
  14. data/lib/bundler/compact_index_client/updater.rb +2 -1
  15. data/lib/bundler/current_ruby.rb +23 -33
  16. data/lib/bundler/definition.rb +125 -112
  17. data/lib/bundler/dependency.rb +92 -47
  18. data/lib/bundler/dsl.rb +83 -78
  19. data/lib/bundler/endpoint_specification.rb +10 -3
  20. data/lib/bundler/errors.rb +22 -0
  21. data/lib/bundler/feature_flag.rb +2 -6
  22. data/lib/bundler/gem_helpers.rb +4 -10
  23. data/lib/bundler/gem_version_promoter.rb +0 -2
  24. data/lib/bundler/injector.rb +9 -9
  25. data/lib/bundler/installer.rb +16 -2
  26. data/lib/bundler/lazy_specification.rb +50 -45
  27. data/lib/bundler/man/bundle-add.1 +3 -3
  28. data/lib/bundler/man/bundle-binstubs.1 +3 -3
  29. data/lib/bundler/man/bundle-cache.1 +3 -3
  30. data/lib/bundler/man/bundle-check.1 +3 -3
  31. data/lib/bundler/man/bundle-clean.1 +3 -3
  32. data/lib/bundler/man/bundle-config.1 +8 -8
  33. data/lib/bundler/man/bundle-config.1.ronn +9 -4
  34. data/lib/bundler/man/bundle-console.1 +3 -3
  35. data/lib/bundler/man/bundle-doctor.1 +3 -3
  36. data/lib/bundler/man/bundle-env.1 +3 -3
  37. data/lib/bundler/man/bundle-exec.1 +5 -5
  38. data/lib/bundler/man/bundle-exec.1.ronn +2 -2
  39. data/lib/bundler/man/bundle-fund.1 +3 -3
  40. data/lib/bundler/man/bundle-gem.1 +3 -3
  41. data/lib/bundler/man/bundle-help.1 +3 -3
  42. data/lib/bundler/man/bundle-info.1 +3 -3
  43. data/lib/bundler/man/bundle-init.1 +3 -3
  44. data/lib/bundler/man/bundle-inject.1 +3 -3
  45. data/lib/bundler/man/bundle-install.1 +3 -3
  46. data/lib/bundler/man/bundle-issue.1 +3 -3
  47. data/lib/bundler/man/bundle-licenses.1 +3 -3
  48. data/lib/bundler/man/bundle-list.1 +3 -3
  49. data/lib/bundler/man/bundle-lock.1 +3 -3
  50. data/lib/bundler/man/bundle-open.1 +3 -3
  51. data/lib/bundler/man/bundle-outdated.1 +3 -3
  52. data/lib/bundler/man/bundle-platform.1 +3 -3
  53. data/lib/bundler/man/bundle-plugin.1 +3 -3
  54. data/lib/bundler/man/bundle-pristine.1 +3 -3
  55. data/lib/bundler/man/bundle-remove.1 +3 -3
  56. data/lib/bundler/man/bundle-show.1 +3 -3
  57. data/lib/bundler/man/bundle-update.1 +3 -3
  58. data/lib/bundler/man/bundle-version.1 +3 -3
  59. data/lib/bundler/man/bundle-viz.1 +3 -3
  60. data/lib/bundler/man/bundle.1 +3 -3
  61. data/lib/bundler/man/gemfile.5 +3 -3
  62. data/lib/bundler/match_metadata.rb +13 -0
  63. data/lib/bundler/plugin/index.rb +5 -1
  64. data/lib/bundler/resolver/base.rb +2 -1
  65. data/lib/bundler/resolver/candidate.rb +11 -8
  66. data/lib/bundler/resolver/package.rb +8 -4
  67. data/lib/bundler/resolver/spec_group.rb +1 -25
  68. data/lib/bundler/resolver.rb +14 -4
  69. data/lib/bundler/ruby_dsl.rb +12 -3
  70. data/lib/bundler/rubygems_ext.rb +82 -81
  71. data/lib/bundler/rubygems_integration.rb +2 -15
  72. data/lib/bundler/runtime.rb +19 -24
  73. data/lib/bundler/shared_helpers.rb +4 -0
  74. data/lib/bundler/source/git/git_proxy.rb +6 -0
  75. data/lib/bundler/source/git.rb +6 -1
  76. data/lib/bundler/source/rubygems/remote.rb +11 -3
  77. data/lib/bundler/source/rubygems.rb +19 -4
  78. data/lib/bundler/source.rb +2 -0
  79. data/lib/bundler/source_list.rb +4 -0
  80. data/lib/bundler/spec_set.rb +66 -29
  81. data/lib/bundler/templates/newgem/Gemfile.tt +1 -0
  82. data/lib/bundler/vendor/uri/lib/uri/common.rb +7 -3
  83. data/lib/bundler/vendor/uri/lib/uri/generic.rb +12 -11
  84. data/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +6 -6
  85. data/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
  86. data/lib/bundler/version.rb +1 -1
  87. data/lib/bundler.rb +10 -30
  88. metadata +3 -3
@@ -737,12 +737,12 @@ module Bundler::URI
737
737
  end
738
738
  private :check_registry
739
739
 
740
- def set_registry(v) #:nodoc:
740
+ def set_registry(v) # :nodoc:
741
741
  raise InvalidURIError, "cannot set registry"
742
742
  end
743
743
  protected :set_registry
744
744
 
745
- def registry=(v)
745
+ def registry=(v) # :nodoc:
746
746
  raise InvalidURIError, "cannot set registry"
747
747
  end
748
748
 
@@ -1133,17 +1133,16 @@ module Bundler::URI
1133
1133
  base.fragment=(nil)
1134
1134
 
1135
1135
  # RFC2396, Section 5.2, 4)
1136
- if !authority
1137
- base.set_path(merge_path(base.path, rel.path)) if base.path && rel.path
1138
- else
1139
- # RFC2396, Section 5.2, 4)
1140
- base.set_path(rel.path) if rel.path
1136
+ if authority
1137
+ base.set_userinfo(rel.userinfo)
1138
+ base.set_host(rel.host)
1139
+ base.set_port(rel.port || base.default_port)
1140
+ base.set_path(rel.path)
1141
+ elsif base.path && rel.path
1142
+ base.set_path(merge_path(base.path, rel.path))
1141
1143
  end
1142
1144
 
1143
1145
  # RFC2396, Section 5.2, 7)
1144
- base.set_userinfo(rel.userinfo) if rel.userinfo
1145
- base.set_host(rel.host) if rel.host
1146
- base.set_port(rel.port) if rel.port
1147
1146
  base.query = rel.query if rel.query
1148
1147
  base.fragment=(rel.fragment) if rel.fragment
1149
1148
 
@@ -1392,10 +1391,12 @@ module Bundler::URI
1392
1391
  end
1393
1392
  end
1394
1393
 
1394
+ # Returns the hash value.
1395
1395
  def hash
1396
1396
  self.component_ary.hash
1397
1397
  end
1398
1398
 
1399
+ # Compares with _oth_ for Hash.
1399
1400
  def eql?(oth)
1400
1401
  self.class == oth.class &&
1401
1402
  parser == oth.parser &&
@@ -1438,7 +1439,7 @@ module Bundler::URI
1438
1439
  end
1439
1440
  end
1440
1441
 
1441
- def inspect
1442
+ def inspect # :nodoc:
1442
1443
  "#<#{self.class} #{self}>"
1443
1444
  end
1444
1445
 
@@ -321,14 +321,14 @@ module Bundler::URI
321
321
  str.gsub(escaped) { [$&[1, 2]].pack('H2').force_encoding(enc) }
322
322
  end
323
323
 
324
- @@to_s = Kernel.instance_method(:to_s)
325
- if @@to_s.respond_to?(:bind_call)
326
- def inspect
327
- @@to_s.bind_call(self)
324
+ TO_S = Kernel.instance_method(:to_s) # :nodoc:
325
+ if TO_S.respond_to?(:bind_call)
326
+ def inspect # :nodoc:
327
+ TO_S.bind_call(self)
328
328
  end
329
329
  else
330
- def inspect
331
- @@to_s.bind(self).call
330
+ def inspect # :nodoc:
331
+ TO_S.bind(self).call
332
332
  end
333
333
  end
334
334
 
@@ -1,6 +1,6 @@
1
1
  module Bundler::URI
2
2
  # :stopdoc:
3
- VERSION_CODE = '010002'.freeze
3
+ VERSION_CODE = '010003'.freeze
4
4
  VERSION = VERSION_CODE.scan(/../).collect{|n| n.to_i}.join('.').freeze
5
5
  # :startdoc:
6
6
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Bundler
4
- VERSION = "2.6.2".freeze
4
+ VERSION = "2.6.6".freeze
5
5
 
6
6
  def self.bundler_major_version
7
7
  @bundler_major_version ||= VERSION.split(".").first.to_i
data/lib/bundler.rb CHANGED
@@ -212,7 +212,6 @@ module Bundler
212
212
  # Bundler.require(:test) # requires second_gem
213
213
  #
214
214
  def require(*groups)
215
- load_plugins
216
215
  setup(*groups).require(*groups)
217
216
  end
218
217
 
@@ -548,15 +547,7 @@ module Bundler
548
547
  def load_gemspec_uncached(file, validate = false)
549
548
  path = Pathname.new(file)
550
549
  contents = read_file(file)
551
- spec = if contents.start_with?("---") # YAML header
552
- eval_yaml_gemspec(path, contents)
553
- else
554
- # Eval the gemspec from its parent directory, because some gemspecs
555
- # depend on "./" relative paths.
556
- SharedHelpers.chdir(path.dirname.to_s) do
557
- eval_gemspec(path, contents)
558
- end
559
- end
550
+ spec = eval_gemspec(path, contents)
560
551
  return unless spec
561
552
  spec.loaded_from = path.expand_path.to_s
562
553
  Bundler.rubygems.validate(spec) if validate
@@ -576,23 +567,6 @@ module Bundler
576
567
  @feature_flag ||= FeatureFlag.new(VERSION)
577
568
  end
578
569
 
579
- def load_plugins(definition = Bundler.definition)
580
- return if defined?(@load_plugins_ran)
581
-
582
- Bundler.rubygems.load_plugins
583
-
584
- requested_path_gems = definition.requested_specs.select {|s| s.source.is_a?(Source::Path) }
585
- path_plugin_files = requested_path_gems.flat_map do |spec|
586
- spec.matches_for_glob("rubygems_plugin#{Bundler.rubygems.suffix_pattern}")
587
- rescue TypeError
588
- error_message = "#{spec.name} #{spec.version} has an invalid gemspec"
589
- raise Gem::InvalidSpecificationException, error_message
590
- end
591
- Bundler.rubygems.load_plugin_files(path_plugin_files)
592
- Bundler.rubygems.load_env_plugins
593
- @load_plugins_ran = true
594
- end
595
-
596
570
  def reset!
597
571
  reset_paths!
598
572
  Plugin.reset!
@@ -675,12 +649,18 @@ module Bundler
675
649
  Kernel.require "psych"
676
650
 
677
651
  Gem::Specification.from_yaml(contents)
678
- rescue ::Psych::SyntaxError, ArgumentError, Gem::EndOfYAMLException, Gem::Exception
679
- eval_gemspec(path, contents)
680
652
  end
681
653
 
682
654
  def eval_gemspec(path, contents)
683
- eval(contents, TOPLEVEL_BINDING.dup, path.expand_path.to_s)
655
+ if contents.start_with?("---") # YAML header
656
+ eval_yaml_gemspec(path, contents)
657
+ else
658
+ # Eval the gemspec from its parent directory, because some gemspecs
659
+ # depend on "./" relative paths.
660
+ SharedHelpers.chdir(path.dirname.to_s) do
661
+ eval(contents, TOPLEVEL_BINDING.dup, path.expand_path.to_s)
662
+ end
663
+ end
684
664
  rescue ScriptError, StandardError => e
685
665
  msg = "There was an error while loading `#{path.basename}`: #{e.message}"
686
666
 
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.6.2
4
+ version: 2.6.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - André Arko
@@ -21,7 +21,7 @@ authors:
21
21
  - Yehuda Katz
22
22
  bindir: exe
23
23
  cert_chain: []
24
- date: 2024-12-23 00:00:00.000000000 Z
24
+ date: 2025-03-13 00:00:00.000000000 Z
25
25
  dependencies: []
26
26
  description: Bundler manages an application's dependencies through its entire life,
27
27
  across many machines, systematically and repeatably
@@ -411,7 +411,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
411
411
  - !ruby/object:Gem::Version
412
412
  version: 3.3.3
413
413
  requirements: []
414
- rubygems_version: 3.6.2
414
+ rubygems_version: 3.6.6
415
415
  specification_version: 4
416
416
  summary: The best way to manage your application's dependencies
417
417
  test_files: []