bundler 2.2.24 → 2.3.7

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 (154) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +246 -1
  3. data/README.md +1 -1
  4. data/exe/bundle +7 -8
  5. data/lib/bundler/.document +1 -0
  6. data/lib/bundler/build_metadata.rb +2 -2
  7. data/lib/bundler/cli/cache.rb +1 -1
  8. data/lib/bundler/cli/config.rb +10 -1
  9. data/lib/bundler/cli/doctor.rb +13 -4
  10. data/lib/bundler/cli/exec.rb +1 -6
  11. data/lib/bundler/cli/gem.rb +101 -11
  12. data/lib/bundler/cli/info.rb +26 -5
  13. data/lib/bundler/cli/install.rb +12 -45
  14. data/lib/bundler/cli/issue.rb +4 -3
  15. data/lib/bundler/cli/list.rb +7 -1
  16. data/lib/bundler/cli/open.rb +1 -2
  17. data/lib/bundler/cli/platform.rb +1 -1
  18. data/lib/bundler/cli/remove.rb +1 -2
  19. data/lib/bundler/cli/update.rb +9 -5
  20. data/lib/bundler/cli.rb +24 -20
  21. data/lib/bundler/compact_index_client/cache.rb +0 -9
  22. data/lib/bundler/compact_index_client/updater.rb +0 -5
  23. data/lib/bundler/compact_index_client.rb +2 -8
  24. data/lib/bundler/definition.rb +97 -161
  25. data/lib/bundler/dependency.rb +5 -7
  26. data/lib/bundler/digest.rb +71 -0
  27. data/lib/bundler/dsl.rb +32 -31
  28. data/lib/bundler/endpoint_specification.rb +21 -11
  29. data/lib/bundler/env.rb +1 -1
  30. data/lib/bundler/environment_preserver.rb +4 -1
  31. data/lib/bundler/errors.rb +19 -3
  32. data/lib/bundler/fetcher/compact_index.rb +9 -14
  33. data/lib/bundler/fetcher/index.rb +0 -26
  34. data/lib/bundler/fetcher.rb +13 -20
  35. data/lib/bundler/friendly_errors.rb +5 -30
  36. data/lib/bundler/gem_helper.rb +7 -18
  37. data/lib/bundler/injector.rb +10 -1
  38. data/lib/bundler/installer/gem_installer.rb +4 -22
  39. data/lib/bundler/installer/standalone.rb +13 -8
  40. data/lib/bundler/installer.rb +1 -5
  41. data/lib/bundler/lazy_specification.rb +19 -3
  42. data/lib/bundler/lockfile_generator.rb +1 -1
  43. data/lib/bundler/lockfile_parser.rb +11 -12
  44. data/lib/bundler/man/bundle-add.1 +10 -2
  45. data/lib/bundler/man/bundle-add.1.ronn +7 -1
  46. data/lib/bundler/man/bundle-binstubs.1 +1 -1
  47. data/lib/bundler/man/bundle-cache.1 +1 -1
  48. data/lib/bundler/man/bundle-check.1 +1 -1
  49. data/lib/bundler/man/bundle-clean.1 +1 -1
  50. data/lib/bundler/man/bundle-config.1 +5 -5
  51. data/lib/bundler/man/bundle-config.1.ronn +5 -5
  52. data/lib/bundler/man/bundle-doctor.1 +1 -1
  53. data/lib/bundler/man/bundle-exec.1 +1 -1
  54. data/lib/bundler/man/bundle-gem.1 +14 -1
  55. data/lib/bundler/man/bundle-gem.1.ronn +16 -0
  56. data/lib/bundler/man/bundle-info.1 +1 -1
  57. data/lib/bundler/man/bundle-init.1 +1 -1
  58. data/lib/bundler/man/bundle-inject.1 +1 -1
  59. data/lib/bundler/man/bundle-install.1 +2 -2
  60. data/lib/bundler/man/bundle-install.1.ronn +2 -2
  61. data/lib/bundler/man/bundle-list.1 +1 -1
  62. data/lib/bundler/man/bundle-lock.1 +1 -1
  63. data/lib/bundler/man/bundle-open.1 +1 -1
  64. data/lib/bundler/man/bundle-outdated.1 +1 -1
  65. data/lib/bundler/man/bundle-platform.1 +1 -1
  66. data/lib/bundler/man/bundle-pristine.1 +1 -1
  67. data/lib/bundler/man/bundle-remove.1 +1 -1
  68. data/lib/bundler/man/bundle-show.1 +1 -1
  69. data/lib/bundler/man/bundle-update.1 +2 -2
  70. data/lib/bundler/man/bundle-update.1.ronn +2 -1
  71. data/lib/bundler/man/bundle-viz.1 +1 -1
  72. data/lib/bundler/man/bundle.1 +1 -1
  73. data/lib/bundler/man/gemfile.5 +28 -2
  74. data/lib/bundler/man/gemfile.5.ronn +9 -1
  75. data/lib/bundler/plugin/api/source.rb +1 -0
  76. data/lib/bundler/plugin/installer.rb +3 -1
  77. data/lib/bundler/plugin.rb +23 -6
  78. data/lib/bundler/process_lock.rb +1 -1
  79. data/lib/bundler/remote_specification.rb +7 -0
  80. data/lib/bundler/resolver/spec_group.rb +1 -1
  81. data/lib/bundler/resolver.rb +38 -47
  82. data/lib/bundler/ruby_version.rb +1 -1
  83. data/lib/bundler/rubygems_ext.rb +19 -10
  84. data/lib/bundler/rubygems_gem_installer.rb +25 -5
  85. data/lib/bundler/rubygems_integration.rb +40 -70
  86. data/lib/bundler/runtime.rb +17 -8
  87. data/lib/bundler/self_manager.rb +168 -0
  88. data/lib/bundler/settings.rb +15 -2
  89. data/lib/bundler/setup.rb +2 -2
  90. data/lib/bundler/shared_helpers.rb +4 -19
  91. data/lib/bundler/source/git/git_proxy.rb +8 -6
  92. data/lib/bundler/source/git.rb +22 -4
  93. data/lib/bundler/source/metadata.rb +1 -1
  94. data/lib/bundler/source/rubygems.rb +70 -81
  95. data/lib/bundler/source/rubygems_aggregate.rb +4 -0
  96. data/lib/bundler/source.rb +4 -0
  97. data/lib/bundler/source_list.rb +22 -31
  98. data/lib/bundler/spec_set.rb +14 -36
  99. data/lib/bundler/templates/Executable.bundler +7 -7
  100. data/lib/bundler/templates/Gemfile +0 -2
  101. data/lib/bundler/templates/gems.rb +0 -3
  102. data/lib/bundler/templates/newgem/Gemfile.tt +5 -2
  103. data/lib/bundler/templates/newgem/Rakefile.tt +15 -2
  104. data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +13 -2
  105. data/lib/bundler/templates/newgem/newgem.gemspec.tt +17 -15
  106. data/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
  107. data/lib/bundler/templates/newgem/standard.yml.tt +3 -0
  108. data/lib/bundler/templates/newgem/test/minitest/{newgem_test.rb.tt → test_newgem.rb.tt} +1 -1
  109. data/lib/bundler/ui/shell.rb +1 -1
  110. data/lib/bundler/vendor/.document +1 -0
  111. data/lib/bundler/vendor/connection_pool/LICENSE +20 -0
  112. data/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +19 -21
  113. data/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
  114. data/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +57 -0
  115. data/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +39 -74
  116. data/lib/bundler/vendor/fileutils/LICENSE.txt +22 -0
  117. data/lib/bundler/vendor/molinillo/LICENSE +9 -0
  118. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +2 -2
  119. data/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
  120. data/lib/bundler/vendor/thor/LICENSE.md +20 -0
  121. data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +6 -6
  122. data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +1 -2
  123. data/lib/bundler/vendor/thor/lib/thor/actions.rb +6 -2
  124. data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +6 -0
  125. data/lib/bundler/vendor/thor/lib/thor/error.rb +9 -4
  126. data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +19 -1
  127. data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +22 -4
  128. data/lib/bundler/vendor/thor/lib/thor/shell.rb +1 -1
  129. data/lib/bundler/vendor/thor/lib/thor/util.rb +1 -1
  130. data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  131. data/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
  132. data/lib/bundler/vendor/tsort/lib/tsort.rb +453 -0
  133. data/lib/bundler/vendor/uri/LICENSE.txt +22 -0
  134. data/lib/bundler/vendor/uri/lib/uri/common.rb +17 -80
  135. data/lib/bundler/vendor/uri/lib/uri/ftp.rb +0 -1
  136. data/lib/bundler/vendor/uri/lib/uri/generic.rb +5 -6
  137. data/lib/bundler/vendor/uri/lib/uri/http.rb +0 -1
  138. data/lib/bundler/vendor/uri/lib/uri/https.rb +0 -1
  139. data/lib/bundler/vendor/uri/lib/uri/ldap.rb +1 -1
  140. data/lib/bundler/vendor/uri/lib/uri/mailto.rb +0 -1
  141. data/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +1 -14
  142. data/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +1 -12
  143. data/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
  144. data/lib/bundler/vendor/uri/lib/uri/ws.rb +84 -0
  145. data/lib/bundler/vendor/uri/lib/uri/wss.rb +22 -0
  146. data/lib/bundler/vendor/uri/lib/uri.rb +0 -1
  147. data/lib/bundler/vendored_tsort.rb +4 -0
  148. data/lib/bundler/version.rb +1 -1
  149. data/lib/bundler/worker.rb +19 -4
  150. data/lib/bundler.rb +23 -26
  151. metadata +25 -10
  152. data/lib/bundler/gemdeps.rb +0 -29
  153. data/lib/bundler/psyched_yaml.rb +0 -22
  154. data/lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb +0 -66
@@ -7,7 +7,6 @@
7
7
  # License::
8
8
  # Bundler::URI::LDAP is copyrighted free software by Takaaki Tateishi and Akira Yamada.
9
9
  # You can redistribute it and/or modify it under the same term as Ruby.
10
- # Revision:: $Id$
11
10
  #
12
11
  # See Bundler::URI for general documentation
13
12
  #
@@ -119,6 +118,7 @@ module Bundler::URI
119
118
 
120
119
  # Private method to cleanup +dn+ from using the +path+ component attribute.
121
120
  def parse_dn
121
+ raise InvalidURIError, 'bad LDAP URL' unless @path
122
122
  @dn = @path[1..-1]
123
123
  end
124
124
  private :parse_dn
@@ -3,7 +3,6 @@
3
3
  #
4
4
  # Author:: Akira Yamada <akira@ruby-lang.org>
5
5
  # License:: You can redistribute it and/or modify it under the same term as Ruby.
6
- # Revision:: $Id$
7
6
  #
8
7
  # See Bundler::URI for general documentation
9
8
  #
@@ -3,7 +3,6 @@
3
3
  # = uri/common.rb
4
4
  #
5
5
  # Author:: Akira Yamada <akira@ruby-lang.org>
6
- # Revision:: $Id$
7
6
  # License::
8
7
  # You can redistribute it and/or modify it under the same term as Ruby.
9
8
  #
@@ -208,21 +207,9 @@ module Bundler::URI
208
207
  # #=> #<Bundler::URI::LDAP ldap://ldap.example.com/dc=example?user=john>
209
208
  #
210
209
  def parse(uri)
211
- scheme, userinfo, host, port,
212
- registry, path, opaque, query, fragment = self.split(uri)
213
-
214
- if scheme && Bundler::URI.scheme_list.include?(scheme.upcase)
215
- Bundler::URI.scheme_list[scheme.upcase].new(scheme, userinfo, host, port,
216
- registry, path, opaque, query,
217
- fragment, self)
218
- else
219
- Generic.new(scheme, userinfo, host, port,
220
- registry, path, opaque, query,
221
- fragment, self)
222
- end
210
+ Bundler::URI.for(*self.split(uri), self)
223
211
  end
224
212
 
225
-
226
213
  #
227
214
  # == Args
228
215
  #
@@ -69,18 +69,7 @@ module Bundler::URI
69
69
  end
70
70
 
71
71
  def parse(uri) # :nodoc:
72
- scheme, userinfo, host, port,
73
- registry, path, opaque, query, fragment = self.split(uri)
74
- scheme_list = Bundler::URI.scheme_list
75
- if scheme && scheme_list.include?(uc = scheme.upcase)
76
- scheme_list[uc].new(scheme, userinfo, host, port,
77
- registry, path, opaque, query,
78
- fragment, self)
79
- else
80
- Generic.new(scheme, userinfo, host, port,
81
- registry, path, opaque, query,
82
- fragment, self)
83
- end
72
+ Bundler::URI.for(*self.split(uri), self)
84
73
  end
85
74
 
86
75
 
@@ -1,6 +1,6 @@
1
1
  module Bundler::URI
2
2
  # :stopdoc:
3
- VERSION_CODE = '001000'.freeze
3
+ VERSION_CODE = '001001'.freeze
4
4
  VERSION = VERSION_CODE.scan(/../).collect{|n| n.to_i}.join('.').freeze
5
5
  # :startdoc:
6
6
  end
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: false
2
+ # = uri/ws.rb
3
+ #
4
+ # Author:: Matt Muller <mamuller@amazon.com>
5
+ # License:: You can redistribute it and/or modify it under the same term as Ruby.
6
+ #
7
+ # See Bundler::URI for general documentation
8
+ #
9
+
10
+ require_relative 'generic'
11
+
12
+ module Bundler::URI
13
+
14
+ #
15
+ # The syntax of WS URIs is defined in RFC6455 section 3.
16
+ #
17
+ # Note that the Ruby Bundler::URI library allows WS URLs containing usernames and
18
+ # passwords. This is not legal as per the RFC, but used to be
19
+ # supported in Internet Explorer 5 and 6, before the MS04-004 security
20
+ # update. See <URL:http://support.microsoft.com/kb/834489>.
21
+ #
22
+ class WS < Generic
23
+ # A Default port of 80 for Bundler::URI::WS.
24
+ DEFAULT_PORT = 80
25
+
26
+ # An Array of the available components for Bundler::URI::WS.
27
+ COMPONENT = %i[
28
+ scheme
29
+ userinfo host port
30
+ path
31
+ query
32
+ ].freeze
33
+
34
+ #
35
+ # == Description
36
+ #
37
+ # Creates a new Bundler::URI::WS object from components, with syntax checking.
38
+ #
39
+ # The components accepted are userinfo, host, port, path, and query.
40
+ #
41
+ # The components should be provided either as an Array, or as a Hash
42
+ # with keys formed by preceding the component names with a colon.
43
+ #
44
+ # If an Array is used, the components must be passed in the
45
+ # order <code>[userinfo, host, port, path, query]</code>.
46
+ #
47
+ # Example:
48
+ #
49
+ # uri = Bundler::URI::WS.build(host: 'www.example.com', path: '/foo/bar')
50
+ #
51
+ # uri = Bundler::URI::WS.build([nil, "www.example.com", nil, "/path", "query"])
52
+ #
53
+ # Currently, if passed userinfo components this method generates
54
+ # invalid WS URIs as per RFC 1738.
55
+ #
56
+ def self.build(args)
57
+ tmp = Util.make_components_hash(self, args)
58
+ super(tmp)
59
+ end
60
+
61
+ #
62
+ # == Description
63
+ #
64
+ # Returns the full path for a WS Bundler::URI, as required by Net::HTTP::Get.
65
+ #
66
+ # If the Bundler::URI contains a query, the full path is Bundler::URI#path + '?' + Bundler::URI#query.
67
+ # Otherwise, the path is simply Bundler::URI#path.
68
+ #
69
+ # Example:
70
+ #
71
+ # uri = Bundler::URI::WS.build(path: '/foo/bar', query: 'test=true')
72
+ # uri.request_uri # => "/foo/bar?test=true"
73
+ #
74
+ def request_uri
75
+ return unless @path
76
+
77
+ url = @query ? "#@path?#@query" : @path.dup
78
+ url.start_with?(?/.freeze) ? url : ?/ + url
79
+ end
80
+ end
81
+
82
+ @@schemes['WS'] = WS
83
+
84
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: false
2
+ # = uri/wss.rb
3
+ #
4
+ # Author:: Matt Muller <mamuller@amazon.com>
5
+ # License:: You can redistribute it and/or modify it under the same term as Ruby.
6
+ #
7
+ # See Bundler::URI for general documentation
8
+ #
9
+
10
+ require_relative 'ws'
11
+
12
+ module Bundler::URI
13
+
14
+ # The default port for WSS URIs is 443, and the scheme is 'wss:' rather
15
+ # than 'ws:'. Other than that, WSS URIs are identical to WS URIs;
16
+ # see Bundler::URI::WS.
17
+ class WSS < WS
18
+ # A Default port of 443 for Bundler::URI::WSS
19
+ DEFAULT_PORT = 443
20
+ end
21
+ @@schemes['WSS'] = WSS
22
+ end
@@ -86,7 +86,6 @@
86
86
  # License::
87
87
  # Copyright (c) 2001 akira yamada <akira@ruby-lang.org>
88
88
  # You can redistribute it and/or modify it under the same term as Ruby.
89
- # Revision:: $Id$
90
89
  #
91
90
 
92
91
  module Bundler::URI
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Bundler; end
4
+ require_relative "vendor/tsort/lib/tsort"
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Bundler
4
- VERSION = "2.2.24".freeze
4
+ VERSION = "2.3.7".freeze
5
5
 
6
6
  def self.bundler_major_version
7
7
  @bundler_major_version ||= VERSION.split(".").first.to_i
@@ -21,12 +21,12 @@ module Bundler
21
21
  # @param func [Proc] job to run in inside the worker pool
22
22
  def initialize(size, name, func)
23
23
  @name = name
24
- @request_queue = Queue.new
25
- @response_queue = Queue.new
24
+ @request_queue = Thread::Queue.new
25
+ @response_queue = Thread::Queue.new
26
26
  @func = func
27
27
  @size = size
28
28
  @threads = nil
29
- SharedHelpers.trap("INT") { abort_threads }
29
+ @previous_interrupt_handler = nil
30
30
  end
31
31
 
32
32
  # Enqueue a request to be executed in the worker pool
@@ -68,13 +68,16 @@ module Bundler
68
68
  # so as worker threads after retrieving it, shut themselves down
69
69
  def stop_threads
70
70
  return unless @threads
71
+
71
72
  @threads.each { @request_queue.enq POISON }
72
73
  @threads.each(&:join)
74
+
75
+ remove_interrupt_handler
76
+
73
77
  @threads = nil
74
78
  end
75
79
 
76
80
  def abort_threads
77
- return unless @threads
78
81
  Bundler.ui.debug("\n#{caller.join("\n")}")
79
82
  @threads.each(&:exit)
80
83
  exit 1
@@ -94,11 +97,23 @@ module Bundler
94
97
  end
95
98
  end.compact
96
99
 
100
+ add_interrupt_handler unless @threads.empty?
101
+
97
102
  return if creation_errors.empty?
98
103
 
99
104
  message = "Failed to create threads for the #{name} worker: #{creation_errors.map(&:to_s).uniq.join(", ")}"
100
105
  raise ThreadCreationError, message if @threads.empty?
101
106
  Bundler.ui.info message
102
107
  end
108
+
109
+ def add_interrupt_handler
110
+ @previous_interrupt_handler = trap("INT") { abort_threads }
111
+ end
112
+
113
+ def remove_interrupt_handler
114
+ return unless @previous_interrupt_handler
115
+
116
+ trap "INT", @previous_interrupt_handler
117
+ end
103
118
  end
104
119
  end
data/lib/bundler.rb CHANGED
@@ -37,12 +37,13 @@ module Bundler
37
37
  environment_preserver = EnvironmentPreserver.from_env
38
38
  ORIGINAL_ENV = environment_preserver.restore
39
39
  environment_preserver.replace_with_backup
40
- SUDO_MUTEX = Mutex.new
40
+ SUDO_MUTEX = Thread::Mutex.new
41
41
 
42
42
  autoload :Definition, File.expand_path("bundler/definition", __dir__)
43
43
  autoload :Dependency, File.expand_path("bundler/dependency", __dir__)
44
44
  autoload :DepProxy, File.expand_path("bundler/dep_proxy", __dir__)
45
45
  autoload :Deprecate, File.expand_path("bundler/deprecate", __dir__)
46
+ autoload :Digest, File.expand_path("bundler/digest", __dir__)
46
47
  autoload :Dsl, File.expand_path("bundler/dsl", __dir__)
47
48
  autoload :EndpointSpecification, File.expand_path("bundler/endpoint_specification", __dir__)
48
49
  autoload :Env, File.expand_path("bundler/env", __dir__)
@@ -65,6 +66,7 @@ module Bundler
65
66
  autoload :RubyDsl, File.expand_path("bundler/ruby_dsl", __dir__)
66
67
  autoload :RubyVersion, File.expand_path("bundler/ruby_version", __dir__)
67
68
  autoload :Runtime, File.expand_path("bundler/runtime", __dir__)
69
+ autoload :SelfManager, File.expand_path("bundler/self_manager", __dir__)
68
70
  autoload :Settings, File.expand_path("bundler/settings", __dir__)
69
71
  autoload :SharedHelpers, File.expand_path("bundler/shared_helpers", __dir__)
70
72
  autoload :Source, File.expand_path("bundler/source", __dir__)
@@ -636,15 +638,26 @@ EOF
636
638
  @rubygems = nil
637
639
  end
638
640
 
641
+ def configure_gem_home_and_path(path = bundle_path)
642
+ configure_gem_path
643
+ configure_gem_home(path)
644
+ Bundler.rubygems.clear_paths
645
+ end
646
+
647
+ def self_manager
648
+ @self_manager ||= begin
649
+ require_relative "bundler/self_manager"
650
+ Bundler::SelfManager.new
651
+ end
652
+ end
653
+
639
654
  private
640
655
 
641
656
  def eval_yaml_gemspec(path, contents)
642
- require_relative "bundler/psyched_yaml"
657
+ Kernel.require "psych"
643
658
 
644
- # If the YAML is invalid, Syck raises an ArgumentError, and Psych
645
- # raises a Psych::SyntaxError. See psyched_yaml.rb for more info.
646
659
  Gem::Specification.from_yaml(contents)
647
- rescue YamlLibrarySyntaxError, ArgumentError, Gem::EndOfYAMLException, Gem::Exception
660
+ rescue ::Psych::SyntaxError, ArgumentError, Gem::EndOfYAMLException, Gem::Exception
648
661
  eval_gemspec(path, contents)
649
662
  end
650
663
 
@@ -653,36 +666,20 @@ EOF
653
666
  rescue ScriptError, StandardError => e
654
667
  msg = "There was an error while loading `#{path.basename}`: #{e.message}"
655
668
 
656
- if e.is_a?(LoadError)
657
- msg += "\nDoes it try to require a relative path? That's been removed in Ruby 1.9"
658
- end
659
-
660
669
  raise GemspecError, Dsl::DSLError.new(msg, path, e.backtrace, contents)
661
670
  end
662
671
 
663
- def configure_gem_home_and_path
664
- configure_gem_path
665
- configure_gem_home
666
- bundle_path
667
- end
668
-
669
- def configure_gem_path(env = ENV)
670
- blank_home = env["GEM_HOME"].nil? || env["GEM_HOME"].empty?
671
- if !use_system_gems?
672
+ def configure_gem_path
673
+ unless use_system_gems?
672
674
  # this needs to be empty string to cause
673
675
  # PathSupport.split_gem_path to only load up the
674
676
  # Bundler --path setting as the GEM_PATH.
675
- env["GEM_PATH"] = ""
676
- elsif blank_home
677
- possibles = [Bundler.rubygems.gem_dir, Bundler.rubygems.gem_path]
678
- paths = possibles.flatten.compact.uniq.reject(&:empty?)
679
- env["GEM_PATH"] = paths.join(File::PATH_SEPARATOR)
677
+ Bundler::SharedHelpers.set_env "GEM_PATH", ""
680
678
  end
681
679
  end
682
680
 
683
- def configure_gem_home
684
- Bundler::SharedHelpers.set_env "GEM_HOME", File.expand_path(bundle_path, root)
685
- Bundler.rubygems.clear_paths
681
+ def configure_gem_home(path)
682
+ Bundler::SharedHelpers.set_env "GEM_HOME", path.to_s
686
683
  end
687
684
 
688
685
  def tmp_home_path
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.2.24
4
+ version: 2.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - André Arko
@@ -19,10 +19,10 @@ authors:
19
19
  - Terence Lee
20
20
  - Carl Lerche
21
21
  - Yehuda Katz
22
- autorequire:
22
+ autorequire:
23
23
  bindir: exe
24
24
  cert_chain: []
25
- date: 2021-07-15 00:00:00.000000000 Z
25
+ date: 2022-02-09 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
@@ -41,6 +41,7 @@ files:
41
41
  - exe/bundle
42
42
  - exe/bundler
43
43
  - lib/bundler.rb
44
+ - lib/bundler/.document
44
45
  - lib/bundler/build_metadata.rb
45
46
  - lib/bundler/capistrano.rb
46
47
  - lib/bundler/cli.rb
@@ -83,6 +84,7 @@ files:
83
84
  - lib/bundler/dependency.rb
84
85
  - lib/bundler/deployment.rb
85
86
  - lib/bundler/deprecate.rb
87
+ - lib/bundler/digest.rb
86
88
  - lib/bundler/dsl.rb
87
89
  - lib/bundler/endpoint_specification.rb
88
90
  - lib/bundler/env.rb
@@ -100,7 +102,6 @@ files:
100
102
  - lib/bundler/gem_helpers.rb
101
103
  - lib/bundler/gem_tasks.rb
102
104
  - lib/bundler/gem_version_promoter.rb
103
- - lib/bundler/gemdeps.rb
104
105
  - lib/bundler/graph.rb
105
106
  - lib/bundler/index.rb
106
107
  - lib/bundler/injector.rb
@@ -177,7 +178,6 @@ files:
177
178
  - lib/bundler/plugin/installer/rubygems.rb
178
179
  - lib/bundler/plugin/source_list.rb
179
180
  - lib/bundler/process_lock.rb
180
- - lib/bundler/psyched_yaml.rb
181
181
  - lib/bundler/remote_specification.rb
182
182
  - lib/bundler/resolver.rb
183
183
  - lib/bundler/resolver/spec_group.rb
@@ -188,6 +188,7 @@ files:
188
188
  - lib/bundler/rubygems_gem_installer.rb
189
189
  - lib/bundler/rubygems_integration.rb
190
190
  - lib/bundler/runtime.rb
191
+ - lib/bundler/self_manager.rb
191
192
  - lib/bundler/settings.rb
192
193
  - lib/bundler/settings/validator.rb
193
194
  - lib/bundler/setup.rb
@@ -234,10 +235,12 @@ files:
234
235
  - lib/bundler/templates/newgem/newgem.gemspec.tt
235
236
  - lib/bundler/templates/newgem/rspec.tt
236
237
  - lib/bundler/templates/newgem/rubocop.yml.tt
238
+ - lib/bundler/templates/newgem/sig/newgem.rbs.tt
237
239
  - lib/bundler/templates/newgem/spec/newgem_spec.rb.tt
238
240
  - lib/bundler/templates/newgem/spec/spec_helper.rb.tt
239
- - lib/bundler/templates/newgem/test/minitest/newgem_test.rb.tt
241
+ - lib/bundler/templates/newgem/standard.yml.tt
240
242
  - lib/bundler/templates/newgem/test/minitest/test_helper.rb.tt
243
+ - lib/bundler/templates/newgem/test/minitest/test_newgem.rb.tt
241
244
  - lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt
242
245
  - lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt
243
246
  - lib/bundler/templates/newgem/travis.yml.tt
@@ -246,11 +249,15 @@ files:
246
249
  - lib/bundler/ui/shell.rb
247
250
  - lib/bundler/ui/silent.rb
248
251
  - lib/bundler/uri_credentials_filter.rb
252
+ - lib/bundler/vendor/.document
253
+ - lib/bundler/vendor/connection_pool/LICENSE
249
254
  - lib/bundler/vendor/connection_pool/lib/connection_pool.rb
250
- - lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb
251
255
  - lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb
252
256
  - lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb
257
+ - lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb
258
+ - lib/bundler/vendor/fileutils/LICENSE.txt
253
259
  - lib/bundler/vendor/fileutils/lib/fileutils.rb
260
+ - lib/bundler/vendor/molinillo/LICENSE
254
261
  - lib/bundler/vendor/molinillo/lib/molinillo.rb
255
262
  - lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb
256
263
  - lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb
@@ -271,10 +278,12 @@ files:
271
278
  - lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb
272
279
  - lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb
273
280
  - lib/bundler/vendor/molinillo/lib/molinillo/state.rb
281
+ - lib/bundler/vendor/net-http-persistent/README.rdoc
274
282
  - lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb
275
283
  - lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb
276
284
  - lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb
277
285
  - lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb
286
+ - lib/bundler/vendor/thor/LICENSE.md
278
287
  - lib/bundler/vendor/thor/lib/thor.rb
279
288
  - lib/bundler/vendor/thor/lib/thor/actions.rb
280
289
  - lib/bundler/vendor/thor/lib/thor/actions/create_file.rb
@@ -307,6 +316,9 @@ files:
307
316
  - lib/bundler/vendor/thor/lib/thor/util.rb
308
317
  - lib/bundler/vendor/thor/lib/thor/version.rb
309
318
  - lib/bundler/vendor/tmpdir/lib/tmpdir.rb
319
+ - lib/bundler/vendor/tsort/LICENSE.txt
320
+ - lib/bundler/vendor/tsort/lib/tsort.rb
321
+ - lib/bundler/vendor/uri/LICENSE.txt
310
322
  - lib/bundler/vendor/uri/lib/uri.rb
311
323
  - lib/bundler/vendor/uri/lib/uri/common.rb
312
324
  - lib/bundler/vendor/uri/lib/uri/file.rb
@@ -320,11 +332,14 @@ files:
320
332
  - lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb
321
333
  - lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb
322
334
  - lib/bundler/vendor/uri/lib/uri/version.rb
335
+ - lib/bundler/vendor/uri/lib/uri/ws.rb
336
+ - lib/bundler/vendor/uri/lib/uri/wss.rb
323
337
  - lib/bundler/vendored_fileutils.rb
324
338
  - lib/bundler/vendored_molinillo.rb
325
339
  - lib/bundler/vendored_persistent.rb
326
340
  - lib/bundler/vendored_thor.rb
327
341
  - lib/bundler/vendored_tmpdir.rb
342
+ - lib/bundler/vendored_tsort.rb
328
343
  - lib/bundler/vendored_uri.rb
329
344
  - lib/bundler/version.rb
330
345
  - lib/bundler/version_ranges.rb
@@ -339,7 +354,7 @@ metadata:
339
354
  changelog_uri: https://github.com/rubygems/rubygems/blob/master/bundler/CHANGELOG.md
340
355
  homepage_uri: https://bundler.io/
341
356
  source_code_uri: https://github.com/rubygems/rubygems/
342
- post_install_message:
357
+ post_install_message:
343
358
  rdoc_options: []
344
359
  require_paths:
345
360
  - lib
@@ -354,8 +369,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
354
369
  - !ruby/object:Gem::Version
355
370
  version: 2.5.2
356
371
  requirements: []
357
- rubygems_version: 3.2.24
358
- signing_key:
372
+ rubygems_version: 3.3.7
373
+ signing_key:
359
374
  specification_version: 4
360
375
  summary: The best way to manage your application's dependencies
361
376
  test_files: []
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Bundler
4
- class Gemdeps
5
- def initialize(runtime)
6
- @runtime = runtime
7
- end
8
-
9
- def requested_specs
10
- @runtime.requested_specs
11
- end
12
-
13
- def specs
14
- @runtime.specs
15
- end
16
-
17
- def dependencies
18
- @runtime.dependencies
19
- end
20
-
21
- def current_dependencies
22
- @runtime.current_dependencies
23
- end
24
-
25
- def requires
26
- @runtime.requires
27
- end
28
- end
29
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Psych could be in the stdlib
4
- # but it's too late if Syck is already loaded
5
- begin
6
- require "psych" unless defined?(Syck)
7
- rescue LoadError
8
- # Apparently Psych wasn't available. Oh well.
9
- end
10
-
11
- # At least load the YAML stdlib, whatever that may be
12
- require "yaml" unless defined?(YAML.dump)
13
-
14
- module Bundler
15
- # On encountering invalid YAML,
16
- # Psych raises Psych::SyntaxError
17
- if defined?(::Psych::SyntaxError)
18
- YamlLibrarySyntaxError = ::Psych::SyntaxError
19
- else # Syck raises ArgumentError
20
- YamlLibrarySyntaxError = ::ArgumentError
21
- end
22
- end
@@ -1,66 +0,0 @@
1
- # Global monotonic clock from Concurrent Ruby 1.0.
2
- # Copyright (c) Jerry D'Antonio -- released under the MIT license.
3
- # Slightly modified; used with permission.
4
- # https://github.com/ruby-concurrency/concurrent-ruby
5
-
6
- require 'thread'
7
-
8
- class Bundler::ConnectionPool
9
-
10
- class_definition = Class.new do
11
-
12
- if defined?(Process::CLOCK_MONOTONIC)
13
-
14
- # @!visibility private
15
- def get_time
16
- Process.clock_gettime(Process::CLOCK_MONOTONIC)
17
- end
18
-
19
- elsif defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby'
20
-
21
- # @!visibility private
22
- def get_time
23
- java.lang.System.nanoTime() / 1_000_000_000.0
24
- end
25
-
26
- else
27
-
28
- # @!visibility private
29
- def initialize
30
- @mutex = Mutex.new
31
- @last_time = Time.now.to_f
32
- end
33
-
34
- # @!visibility private
35
- def get_time
36
- @mutex.synchronize do
37
- now = Time.now.to_f
38
- if @last_time < now
39
- @last_time = now
40
- else # clock has moved back in time
41
- @last_time += 0.000_001
42
- end
43
- end
44
- end
45
- end
46
- end
47
-
48
- ##
49
- # Clock that cannot be set and represents monotonic time since
50
- # some unspecified starting point.
51
- #
52
- # @!visibility private
53
- GLOBAL_MONOTONIC_CLOCK = class_definition.new
54
- private_constant :GLOBAL_MONOTONIC_CLOCK
55
-
56
- class << self
57
- ##
58
- # Returns the current time a tracked by the application monotonic clock.
59
- #
60
- # @return [Float] The current monotonic time when `since` not given else
61
- # the elapsed monotonic time between `since` and the current time
62
- def monotonic_time
63
- GLOBAL_MONOTONIC_CLOCK.get_time
64
- end
65
- end
66
- end