bundler 2.3.12 → 2.4.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (226) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +367 -1
  3. data/README.md +2 -2
  4. data/bundler.gemspec +8 -10
  5. data/exe/bundle +1 -4
  6. data/lib/bundler/build_metadata.rb +2 -2
  7. data/lib/bundler/cli/add.rb +1 -1
  8. data/lib/bundler/cli/binstubs.rb +5 -1
  9. data/lib/bundler/cli/check.rb +1 -1
  10. data/lib/bundler/cli/common.rb +3 -1
  11. data/lib/bundler/cli/console.rb +2 -2
  12. data/lib/bundler/cli/doctor.rb +4 -6
  13. data/lib/bundler/cli/gem.rb +62 -40
  14. data/lib/bundler/cli/init.rb +5 -1
  15. data/lib/bundler/cli/install.rb +7 -5
  16. data/lib/bundler/cli/lock.rb +8 -5
  17. data/lib/bundler/cli/open.rb +6 -4
  18. data/lib/bundler/cli/outdated.rb +13 -6
  19. data/lib/bundler/cli/platform.rb +1 -1
  20. data/lib/bundler/cli/viz.rb +1 -1
  21. data/lib/bundler/cli.rb +52 -7
  22. data/lib/bundler/compact_index_client/cache.rb +1 -1
  23. data/lib/bundler/compact_index_client/updater.rb +53 -39
  24. data/lib/bundler/constants.rb +1 -1
  25. data/lib/bundler/current_ruby.rb +15 -6
  26. data/lib/bundler/definition.rb +203 -110
  27. data/lib/bundler/dependency.rb +21 -84
  28. data/lib/bundler/digest.rb +1 -1
  29. data/lib/bundler/dsl.rb +13 -18
  30. data/lib/bundler/endpoint_specification.rb +6 -10
  31. data/lib/bundler/env.rb +1 -1
  32. data/lib/bundler/environment_preserver.rb +1 -0
  33. data/lib/bundler/errors.rb +15 -15
  34. data/lib/bundler/feature_flag.rb +0 -1
  35. data/lib/bundler/fetcher/base.rb +6 -8
  36. data/lib/bundler/fetcher/compact_index.rb +9 -11
  37. data/lib/bundler/fetcher/dependency.rb +1 -1
  38. data/lib/bundler/fetcher/downloader.rb +2 -5
  39. data/lib/bundler/fetcher.rb +12 -12
  40. data/lib/bundler/force_platform.rb +18 -0
  41. data/lib/bundler/friendly_errors.rb +21 -7
  42. data/lib/bundler/gem_helpers.rb +9 -2
  43. data/lib/bundler/gem_version_promoter.rb +53 -98
  44. data/lib/bundler/graph.rb +3 -3
  45. data/lib/bundler/index.rb +11 -49
  46. data/lib/bundler/injector.rb +8 -3
  47. data/lib/bundler/inline.rb +9 -21
  48. data/lib/bundler/installer/gem_installer.rb +14 -1
  49. data/lib/bundler/installer/parallel_installer.rb +0 -31
  50. data/lib/bundler/installer/standalone.rb +41 -10
  51. data/lib/bundler/installer.rb +18 -39
  52. data/lib/bundler/lazy_specification.rb +53 -48
  53. data/lib/bundler/lockfile_generator.rb +1 -1
  54. data/lib/bundler/lockfile_parser.rb +9 -5
  55. data/lib/bundler/man/bundle-add.1 +13 -5
  56. data/lib/bundler/man/bundle-add.1.ronn +10 -4
  57. data/lib/bundler/man/bundle-binstubs.1 +1 -1
  58. data/lib/bundler/man/bundle-cache.1 +7 -1
  59. data/lib/bundler/man/bundle-cache.1.ronn +7 -0
  60. data/lib/bundler/man/bundle-check.1 +1 -1
  61. data/lib/bundler/man/bundle-clean.1 +2 -2
  62. data/lib/bundler/man/bundle-clean.1.ronn +1 -1
  63. data/lib/bundler/man/bundle-config.1 +26 -7
  64. data/lib/bundler/man/bundle-config.1.ronn +17 -7
  65. data/lib/bundler/man/bundle-console.1 +53 -0
  66. data/lib/bundler/man/bundle-console.1.ronn +44 -0
  67. data/lib/bundler/man/bundle-doctor.1 +1 -1
  68. data/lib/bundler/man/bundle-exec.1 +6 -6
  69. data/lib/bundler/man/bundle-exec.1.ronn +6 -6
  70. data/lib/bundler/man/bundle-gem.1 +27 -37
  71. data/lib/bundler/man/bundle-gem.1.ronn +5 -5
  72. data/lib/bundler/man/bundle-help.1 +13 -0
  73. data/lib/bundler/man/bundle-help.1.ronn +12 -0
  74. data/lib/bundler/man/bundle-info.1 +1 -1
  75. data/lib/bundler/man/bundle-init.1 +1 -1
  76. data/lib/bundler/man/bundle-inject.1 +5 -2
  77. data/lib/bundler/man/bundle-inject.1.ronn +3 -1
  78. data/lib/bundler/man/bundle-install.1 +5 -30
  79. data/lib/bundler/man/bundle-install.1.ronn +6 -29
  80. data/lib/bundler/man/bundle-list.1 +1 -1
  81. data/lib/bundler/man/bundle-lock.1 +1 -1
  82. data/lib/bundler/man/bundle-open.1 +22 -2
  83. data/lib/bundler/man/bundle-open.1.ronn +9 -1
  84. data/lib/bundler/man/bundle-outdated.1 +1 -1
  85. data/lib/bundler/man/bundle-platform.1 +16 -6
  86. data/lib/bundler/man/bundle-platform.1.ronn +14 -7
  87. data/lib/bundler/man/bundle-plugin.1 +81 -0
  88. data/lib/bundler/man/bundle-plugin.1.ronn +59 -0
  89. data/lib/bundler/man/bundle-pristine.1 +1 -1
  90. data/lib/bundler/man/bundle-remove.1 +1 -1
  91. data/lib/bundler/man/bundle-show.1 +1 -1
  92. data/lib/bundler/man/bundle-update.1 +1 -1
  93. data/lib/bundler/man/bundle-version.1 +35 -0
  94. data/lib/bundler/man/bundle-version.1.ronn +24 -0
  95. data/lib/bundler/man/bundle-viz.1 +4 -1
  96. data/lib/bundler/man/bundle-viz.1.ronn +2 -0
  97. data/lib/bundler/man/bundle.1 +15 -10
  98. data/lib/bundler/man/bundle.1.ronn +12 -7
  99. data/lib/bundler/man/gemfile.5 +92 -81
  100. data/lib/bundler/man/gemfile.5.ronn +98 -85
  101. data/lib/bundler/man/index.txt +4 -0
  102. data/lib/bundler/match_metadata.rb +13 -0
  103. data/lib/bundler/match_platform.rb +0 -1
  104. data/lib/bundler/match_remote_metadata.rb +29 -0
  105. data/lib/bundler/mirror.rb +5 -7
  106. data/lib/bundler/plugin/api/source.rb +3 -3
  107. data/lib/bundler/plugin/index.rb +4 -4
  108. data/lib/bundler/plugin/installer/git.rb +0 -4
  109. data/lib/bundler/plugin/installer/rubygems.rb +0 -8
  110. data/lib/bundler/plugin.rb +2 -0
  111. data/lib/bundler/process_lock.rb +1 -1
  112. data/lib/bundler/remote_specification.rb +8 -9
  113. data/lib/bundler/resolver/base.rb +77 -0
  114. data/lib/bundler/resolver/candidate.rb +94 -0
  115. data/lib/bundler/resolver/incompatibility.rb +15 -0
  116. data/lib/bundler/resolver/package.rb +72 -0
  117. data/lib/bundler/resolver/root.rb +25 -0
  118. data/lib/bundler/resolver/spec_group.rb +42 -70
  119. data/lib/bundler/resolver.rb +322 -326
  120. data/lib/bundler/ruby_dsl.rb +1 -1
  121. data/lib/bundler/ruby_version.rb +5 -5
  122. data/lib/bundler/rubygems_ext.rb +102 -12
  123. data/lib/bundler/rubygems_gem_installer.rb +32 -20
  124. data/lib/bundler/rubygems_integration.rb +12 -34
  125. data/lib/bundler/runtime.rb +1 -6
  126. data/lib/bundler/settings.rb +2 -8
  127. data/lib/bundler/shared_helpers.rb +7 -7
  128. data/lib/bundler/source/git/git_proxy.rb +193 -67
  129. data/lib/bundler/source/git.rb +21 -25
  130. data/lib/bundler/source/metadata.rb +1 -2
  131. data/lib/bundler/source/path/installer.rb +1 -22
  132. data/lib/bundler/source/path.rb +6 -6
  133. data/lib/bundler/source/rubygems.rb +75 -117
  134. data/lib/bundler/source.rb +3 -4
  135. data/lib/bundler/source_list.rb +12 -2
  136. data/lib/bundler/spec_set.rb +52 -34
  137. data/lib/bundler/stub_specification.rb +5 -3
  138. data/lib/bundler/templates/Executable +1 -1
  139. data/lib/bundler/templates/Executable.bundler +4 -9
  140. data/lib/bundler/templates/Executable.standalone +2 -0
  141. data/lib/bundler/templates/newgem/Cargo.toml.tt +7 -0
  142. data/lib/bundler/templates/newgem/Gemfile.tt +3 -0
  143. data/lib/bundler/templates/newgem/README.md.tt +6 -4
  144. data/lib/bundler/templates/newgem/Rakefile.tt +2 -1
  145. data/lib/bundler/templates/newgem/circleci/config.yml.tt +12 -0
  146. data/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
  147. data/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
  148. data/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
  149. data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +10 -0
  150. data/lib/bundler/templates/newgem/gitignore.tt +3 -0
  151. data/lib/bundler/templates/newgem/gitlab-ci.yml.tt +13 -4
  152. data/lib/bundler/templates/newgem/newgem.gemspec.tt +8 -2
  153. data/lib/bundler/ui/shell.rb +35 -12
  154. data/lib/bundler/ui/silent.rb +21 -5
  155. data/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +3 -3
  156. data/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +0 -1
  157. data/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +3 -1
  158. data/lib/bundler/vendor/fileutils/lib/fileutils.rb +1350 -408
  159. data/lib/bundler/vendor/net-http-persistent/README.rdoc +1 -1
  160. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1 -1
  161. data/lib/bundler/vendor/pub_grub/LICENSE.txt +21 -0
  162. data/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
  163. data/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +189 -0
  164. data/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
  165. data/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +151 -0
  166. data/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
  167. data/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
  168. data/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
  169. data/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
  170. data/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +53 -0
  171. data/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
  172. data/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
  173. data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +128 -0
  174. data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +409 -0
  175. data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +240 -0
  176. data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
  177. data/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
  178. data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +1 -1
  179. data/lib/bundler/vendor/uri/lib/uri/common.rb +64 -16
  180. data/lib/bundler/vendor/uri/lib/uri/file.rb +7 -1
  181. data/lib/bundler/vendor/uri/lib/uri/ftp.rb +2 -1
  182. data/lib/bundler/vendor/uri/lib/uri/generic.rb +27 -7
  183. data/lib/bundler/vendor/uri/lib/uri/http.rb +40 -2
  184. data/lib/bundler/vendor/uri/lib/uri/https.rb +2 -1
  185. data/lib/bundler/vendor/uri/lib/uri/ldap.rb +1 -1
  186. data/lib/bundler/vendor/uri/lib/uri/ldaps.rb +2 -1
  187. data/lib/bundler/vendor/uri/lib/uri/mailto.rb +2 -2
  188. data/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +13 -7
  189. data/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +10 -5
  190. data/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
  191. data/lib/bundler/vendor/uri/lib/uri/ws.rb +1 -2
  192. data/lib/bundler/vendor/uri/lib/uri/wss.rb +2 -1
  193. data/lib/bundler/vendor/uri/lib/uri.rb +3 -2
  194. data/lib/bundler/vendored_persistent.rb +1 -33
  195. data/lib/bundler/{vendored_tmpdir.rb → vendored_pub_grub.rb} +1 -1
  196. data/lib/bundler/version.rb +5 -1
  197. data/lib/bundler/worker.rb +5 -7
  198. data/lib/bundler.rb +35 -69
  199. metadata +45 -34
  200. data/lib/bundler/dep_proxy.rb +0 -55
  201. data/lib/bundler/templates/newgem/travis.yml.tt +0 -6
  202. data/lib/bundler/vendor/molinillo/LICENSE +0 -9
  203. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
  204. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +0 -88
  205. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +0 -36
  206. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +0 -66
  207. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +0 -62
  208. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +0 -63
  209. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +0 -61
  210. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +0 -126
  211. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +0 -46
  212. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +0 -36
  213. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +0 -164
  214. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -255
  215. data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +0 -149
  216. data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +0 -6
  217. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +0 -112
  218. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +0 -67
  219. data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +0 -839
  220. data/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +0 -46
  221. data/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +0 -58
  222. data/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -11
  223. data/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +0 -154
  224. data/lib/bundler/vendored_molinillo.rb +0 -4
  225. data/lib/bundler/version_ranges.rb +0 -122
  226. /data/lib/bundler/templates/newgem/ext/newgem/{extconf.rb.tt → extconf-c.rb.tt} +0 -0
@@ -30,7 +30,7 @@
30
30
  # class RSYNC < Generic
31
31
  # DEFAULT_PORT = 873
32
32
  # end
33
- # @@schemes['RSYNC'] = RSYNC
33
+ # register_scheme 'RSYNC', RSYNC
34
34
  # end
35
35
  # #=> Bundler::URI::RSYNC
36
36
  #
@@ -70,7 +70,6 @@
70
70
  # - Bundler::URI::REGEXP - (in uri/common.rb)
71
71
  # - Bundler::URI::REGEXP::PATTERN - (in uri/common.rb)
72
72
  # - Bundler::URI::Util - (in uri/common.rb)
73
- # - Bundler::URI::Escape - (in uri/common.rb)
74
73
  # - Bundler::URI::Error - (in uri/common.rb)
75
74
  # - Bundler::URI::InvalidURIError - (in uri/common.rb)
76
75
  # - Bundler::URI::InvalidComponentError - (in uri/common.rb)
@@ -101,3 +100,5 @@ require_relative 'uri/https'
101
100
  require_relative 'uri/ldap'
102
101
  require_relative 'uri/ldaps'
103
102
  require_relative 'uri/mailto'
103
+ require_relative 'uri/ws'
104
+ require_relative 'uri/wss'
@@ -11,37 +11,5 @@ end
11
11
  require_relative "vendor/net-http-persistent/lib/net/http/persistent"
12
12
 
13
13
  module Bundler
14
- class PersistentHTTP < Persistent::Net::HTTP::Persistent
15
- def connection_for(uri)
16
- super(uri) do |connection|
17
- result = yield connection
18
- warn_old_tls_version_rubygems_connection(uri, connection)
19
- result
20
- end
21
- end
22
-
23
- def warn_old_tls_version_rubygems_connection(uri, connection)
24
- return unless connection.http.use_ssl?
25
- return unless (uri.host || "").end_with?("rubygems.org")
26
-
27
- socket = connection.instance_variable_get(:@socket)
28
- return unless socket
29
- socket_io = socket.io
30
- return unless socket_io.respond_to?(:ssl_version)
31
- ssl_version = socket_io.ssl_version
32
-
33
- case ssl_version
34
- when /TLSv([\d\.]+)/
35
- version = Gem::Version.new($1)
36
- if version < Gem::Version.new("1.2")
37
- Bundler.ui.warn \
38
- "Warning: Your Ruby version is compiled against a copy of OpenSSL that is very old. " \
39
- "Starting in January 2018, RubyGems.org will refuse connection requests from these " \
40
- "very old versions of OpenSSL. If you will need to continue installing gems after " \
41
- "January 2018, please follow this guide to upgrade: http://ruby.to/tls-outdated.",
42
- :wrap => true
43
- end
44
- end
45
- end
46
- end
14
+ PersistentHTTP = Persistent::Net::HTTP::Persistent
47
15
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bundler; end
4
- require_relative "vendor/tmpdir/lib/tmpdir"
4
+ require_relative "vendor/pub_grub/lib/pub_grub"
@@ -1,9 +1,13 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Bundler
4
- VERSION = "2.3.12".freeze
4
+ VERSION = "2.4.6".freeze
5
5
 
6
6
  def self.bundler_major_version
7
7
  @bundler_major_version ||= VERSION.split(".").first.to_i
8
8
  end
9
+
10
+ def self.gem_version
11
+ @gem_version ||= Gem::Version.create(VERSION)
12
+ end
9
13
  end
@@ -87,14 +87,12 @@ module Bundler
87
87
  creation_errors = []
88
88
 
89
89
  @threads = Array.new(@size) do |i|
90
- begin
91
- Thread.start { process_queue(i) }.tap do |thread|
92
- thread.name = "#{name} Worker ##{i}" if thread.respond_to?(:name=)
93
- end
94
- rescue ThreadError => e
95
- creation_errors << e
96
- nil
90
+ Thread.start { process_queue(i) }.tap do |thread|
91
+ thread.name = "#{name} Worker ##{i}" if thread.respond_to?(:name=)
97
92
  end
93
+ rescue ThreadError => e
94
+ creation_errors << e
95
+ nil
98
96
  end.compact
99
97
 
100
98
  add_interrupt_handler unless @threads.empty?
data/lib/bundler.rb CHANGED
@@ -19,7 +19,7 @@ require_relative "bundler/build_metadata"
19
19
  #
20
20
  # Since Ruby 2.6, Bundler is a part of Ruby's standard library.
21
21
  #
22
- # Bunder is used by creating _gemfiles_ listing all the project dependencies
22
+ # Bundler is used by creating _gemfiles_ listing all the project dependencies
23
23
  # and (optionally) their versions and then using
24
24
  #
25
25
  # require 'bundler/setup'
@@ -39,9 +39,18 @@ 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].freeze
43
+ SAFE_MARSHAL_ERROR = "Unexpected class %s present in marshaled data. Only %s are allowed.".freeze
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
+
42
52
  autoload :Definition, File.expand_path("bundler/definition", __dir__)
43
53
  autoload :Dependency, File.expand_path("bundler/dependency", __dir__)
44
- autoload :DepProxy, File.expand_path("bundler/dep_proxy", __dir__)
45
54
  autoload :Deprecate, File.expand_path("bundler/deprecate", __dir__)
46
55
  autoload :Digest, File.expand_path("bundler/digest", __dir__)
47
56
  autoload :Dsl, File.expand_path("bundler/dsl", __dir__)
@@ -58,7 +67,7 @@ module Bundler
58
67
  autoload :Installer, File.expand_path("bundler/installer", __dir__)
59
68
  autoload :LazySpecification, File.expand_path("bundler/lazy_specification", __dir__)
60
69
  autoload :LockfileParser, File.expand_path("bundler/lockfile_parser", __dir__)
61
- autoload :MatchPlatform, File.expand_path("bundler/match_platform", __dir__)
70
+ autoload :MatchRemoteMetadata, File.expand_path("bundler/match_remote_metadata", __dir__)
62
71
  autoload :ProcessLock, File.expand_path("bundler/process_lock", __dir__)
63
72
  autoload :RemoteSpecification, File.expand_path("bundler/remote_specification", __dir__)
64
73
  autoload :Resolver, File.expand_path("bundler/resolver", __dir__)
@@ -76,7 +85,6 @@ module Bundler
76
85
  autoload :StubSpecification, File.expand_path("bundler/stub_specification", __dir__)
77
86
  autoload :UI, File.expand_path("bundler/ui", __dir__)
78
87
  autoload :URICredentialsFilter, File.expand_path("bundler/uri_credentials_filter", __dir__)
79
- autoload :VersionRanges, File.expand_path("bundler/version_ranges", __dir__)
80
88
 
81
89
  class << self
82
90
  def configure
@@ -97,6 +105,17 @@ module Bundler
97
105
  @bundle_path ||= Pathname.new(configured_bundle_path.path).expand_path(root)
98
106
  end
99
107
 
108
+ def create_bundle_path
109
+ SharedHelpers.filesystem_access(bundle_path.to_s) do |p|
110
+ mkdir_p(p)
111
+ end unless bundle_path.exist?
112
+
113
+ @bundle_path = bundle_path.realpath
114
+ rescue Errno::EEXIST
115
+ raise PathError, "Could not install to path `#{bundle_path}` " \
116
+ "because a file already exists at that path. Either remove or rename the file so the directory can be created."
117
+ end
118
+
100
119
  def configured_bundle_path
101
120
  @configured_bundle_path ||= settings.path.tap(&:validate!)
102
121
  end
@@ -320,9 +339,9 @@ module Bundler
320
339
  FileUtils.remove_entry_secure(path) if path && File.exist?(path)
321
340
  rescue ArgumentError
322
341
  message = <<EOF
323
- It is a security vulnerability to allow your home directory to be world-writable, and bundler can not continue.
342
+ It is a security vulnerability to allow your home directory to be world-writable, and bundler cannot continue.
324
343
  You should probably consider fixing this issue by running `chmod o-w ~` on *nix.
325
- Please refer to https://ruby-doc.org/stdlib-2.1.2/libdoc/fileutils/rdoc/FileUtils.html#method-c-remove_entry_secure for details.
344
+ Please refer to https://ruby-doc.org/stdlib-3.1.2/libdoc/fileutils/rdoc/FileUtils.html#method-c-remove_entry_secure for details.
326
345
  EOF
327
346
  File.world_writable?(path) ? Bundler.ui.warn(message) : raise
328
347
  raise PathError, "Please fix the world-writable issue with your #{path} directory"
@@ -444,7 +463,7 @@ EOF
444
463
  end
445
464
 
446
465
  def local_platform
447
- return Gem::Platform::RUBY if settings[:force_ruby_platform] || Gem.platforms == [Gem::Platform::RUBY]
466
+ return Gem::Platform::RUBY if settings[:force_ruby_platform]
448
467
  Gem::Platform.local
449
468
  end
450
469
 
@@ -477,41 +496,9 @@ EOF
477
496
  configured_bundle_path.use_system_gems?
478
497
  end
479
498
 
480
- def requires_sudo?
481
- return @requires_sudo if defined?(@requires_sudo_ran)
482
-
483
- sudo_present = which "sudo" if settings.allow_sudo?
484
-
485
- if sudo_present
486
- # the bundle path and subdirectories need to be writable for RubyGems
487
- # to be able to unpack and install gems without exploding
488
- path = bundle_path
489
- path = path.parent until path.exist?
490
-
491
- # bins are written to a different location on OS X
492
- bin_dir = Pathname.new(Bundler.system_bindir)
493
- bin_dir = bin_dir.parent until bin_dir.exist?
494
-
495
- # if any directory is not writable, we need sudo
496
- files = [path, bin_dir] | Dir[bundle_path.join("build_info/*").to_s] | Dir[bundle_path.join("*").to_s]
497
- unwritable_files = files.reject {|f| File.writable?(f) }
498
- sudo_needed = !unwritable_files.empty?
499
- if sudo_needed
500
- Bundler.ui.warn "Following files may not be writable, so sudo is needed:\n #{unwritable_files.map(&:to_s).sort.join("\n ")}"
501
- end
502
- end
503
-
504
- @requires_sudo_ran = true
505
- @requires_sudo = settings.allow_sudo? && sudo_present && sudo_needed
506
- end
507
-
508
499
  def mkdir_p(path, options = {})
509
- if requires_sudo? && !options[:no_sudo]
510
- sudo "mkdir -p '#{path}'" unless File.exist?(path)
511
- else
512
- SharedHelpers.filesystem_access(path, :write) do |p|
513
- FileUtils.mkdir_p(p)
514
- end
500
+ SharedHelpers.filesystem_access(path, :write) do |p|
501
+ FileUtils.mkdir_p(p)
515
502
  end
516
503
  end
517
504
 
@@ -528,39 +515,18 @@ EOF
528
515
  end
529
516
  end
530
517
 
531
- def sudo(str)
532
- SUDO_MUTEX.synchronize do
533
- prompt = "\n\n" + <<-PROMPT.gsub(/^ {6}/, "").strip + " "
534
- Your user account isn't allowed to install to the system RubyGems.
535
- You can cancel this installation and run:
536
-
537
- bundle config set --local path 'vendor/bundle'
538
- bundle install
539
-
540
- to install the gems into ./vendor/bundle/, or you can enter your password
541
- and install the bundled gems to RubyGems using sudo.
542
-
543
- Password:
544
- PROMPT
545
-
546
- unless @prompted_for_sudo ||= system(%(sudo -k -p "#{prompt}" true))
547
- raise SudoNotPermittedError,
548
- "Bundler requires sudo access to install at the moment. " \
549
- "Try installing again, granting Bundler sudo access when prompted, or installing into a different path."
550
- end
551
-
552
- `sudo -p "#{prompt}" #{str}`
553
- end
554
- end
555
-
556
518
  def read_file(file)
557
519
  SharedHelpers.filesystem_access(file, :read) do
558
520
  File.open(file, "r:UTF-8", &:read)
559
521
  end
560
522
  end
561
523
 
562
- def load_marshal(data)
563
- Marshal.load(data)
524
+ def safe_load_marshal(data)
525
+ load_marshal(data, :marshal_proc => SAFE_MARSHAL_PROC)
526
+ end
527
+
528
+ def load_marshal(data, marshal_proc: nil)
529
+ Marshal.load(data, marshal_proc)
564
530
  rescue TypeError => e
565
531
  raise MarshalError, "#{e.class}: #{e.message}"
566
532
  end
@@ -598,7 +564,7 @@ EOF
598
564
 
599
565
  def git_present?
600
566
  return @git_present if defined?(@git_present)
601
- @git_present = Bundler.which("git") || Bundler.which("git.exe")
567
+ @git_present = Bundler.which("git#{RbConfig::CONFIG["EXEEXT"]}")
602
568
  end
603
569
 
604
570
  def feature_flag
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.3.12
4
+ version: 2.4.6
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: 2022-04-20 00:00:00.000000000 Z
25
+ date: 2023-01-31 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
@@ -80,7 +80,6 @@ files:
80
80
  - lib/bundler/constants.rb
81
81
  - lib/bundler/current_ruby.rb
82
82
  - lib/bundler/definition.rb
83
- - lib/bundler/dep_proxy.rb
84
83
  - lib/bundler/dependency.rb
85
84
  - lib/bundler/deployment.rb
86
85
  - lib/bundler/deprecate.rb
@@ -97,6 +96,7 @@ files:
97
96
  - lib/bundler/fetcher/dependency.rb
98
97
  - lib/bundler/fetcher/downloader.rb
99
98
  - lib/bundler/fetcher/index.rb
99
+ - lib/bundler/force_platform.rb
100
100
  - lib/bundler/friendly_errors.rb
101
101
  - lib/bundler/gem_helper.rb
102
102
  - lib/bundler/gem_helpers.rb
@@ -126,12 +126,16 @@ files:
126
126
  - lib/bundler/man/bundle-clean.1.ronn
127
127
  - lib/bundler/man/bundle-config.1
128
128
  - lib/bundler/man/bundle-config.1.ronn
129
+ - lib/bundler/man/bundle-console.1
130
+ - lib/bundler/man/bundle-console.1.ronn
129
131
  - lib/bundler/man/bundle-doctor.1
130
132
  - lib/bundler/man/bundle-doctor.1.ronn
131
133
  - lib/bundler/man/bundle-exec.1
132
134
  - lib/bundler/man/bundle-exec.1.ronn
133
135
  - lib/bundler/man/bundle-gem.1
134
136
  - lib/bundler/man/bundle-gem.1.ronn
137
+ - lib/bundler/man/bundle-help.1
138
+ - lib/bundler/man/bundle-help.1.ronn
135
139
  - lib/bundler/man/bundle-info.1
136
140
  - lib/bundler/man/bundle-info.1.ronn
137
141
  - lib/bundler/man/bundle-init.1
@@ -150,6 +154,8 @@ files:
150
154
  - lib/bundler/man/bundle-outdated.1.ronn
151
155
  - lib/bundler/man/bundle-platform.1
152
156
  - lib/bundler/man/bundle-platform.1.ronn
157
+ - lib/bundler/man/bundle-plugin.1
158
+ - lib/bundler/man/bundle-plugin.1.ronn
153
159
  - lib/bundler/man/bundle-pristine.1
154
160
  - lib/bundler/man/bundle-pristine.1.ronn
155
161
  - lib/bundler/man/bundle-remove.1
@@ -158,6 +164,8 @@ files:
158
164
  - lib/bundler/man/bundle-show.1.ronn
159
165
  - lib/bundler/man/bundle-update.1
160
166
  - lib/bundler/man/bundle-update.1.ronn
167
+ - lib/bundler/man/bundle-version.1
168
+ - lib/bundler/man/bundle-version.1.ronn
161
169
  - lib/bundler/man/bundle-viz.1
162
170
  - lib/bundler/man/bundle-viz.1.ronn
163
171
  - lib/bundler/man/bundle.1
@@ -165,7 +173,9 @@ files:
165
173
  - lib/bundler/man/gemfile.5
166
174
  - lib/bundler/man/gemfile.5.ronn
167
175
  - lib/bundler/man/index.txt
176
+ - lib/bundler/match_metadata.rb
168
177
  - lib/bundler/match_platform.rb
178
+ - lib/bundler/match_remote_metadata.rb
169
179
  - lib/bundler/mirror.rb
170
180
  - lib/bundler/plugin.rb
171
181
  - lib/bundler/plugin/api.rb
@@ -180,6 +190,11 @@ files:
180
190
  - lib/bundler/process_lock.rb
181
191
  - lib/bundler/remote_specification.rb
182
192
  - lib/bundler/resolver.rb
193
+ - lib/bundler/resolver/base.rb
194
+ - lib/bundler/resolver/candidate.rb
195
+ - lib/bundler/resolver/incompatibility.rb
196
+ - lib/bundler/resolver/package.rb
197
+ - lib/bundler/resolver/root.rb
183
198
  - lib/bundler/resolver/spec_group.rb
184
199
  - lib/bundler/retry.rb
185
200
  - lib/bundler/ruby_dsl.rb
@@ -216,6 +231,7 @@ files:
216
231
  - lib/bundler/templates/gems.rb
217
232
  - lib/bundler/templates/newgem/CHANGELOG.md.tt
218
233
  - lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt
234
+ - lib/bundler/templates/newgem/Cargo.toml.tt
219
235
  - lib/bundler/templates/newgem/Gemfile.tt
220
236
  - lib/bundler/templates/newgem/LICENSE.txt.tt
221
237
  - lib/bundler/templates/newgem/README.md.tt
@@ -224,9 +240,12 @@ files:
224
240
  - lib/bundler/templates/newgem/bin/setup.tt
225
241
  - lib/bundler/templates/newgem/circleci/config.yml.tt
226
242
  - lib/bundler/templates/newgem/exe/newgem.tt
227
- - lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt
243
+ - lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt
244
+ - lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt
245
+ - lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt
228
246
  - lib/bundler/templates/newgem/ext/newgem/newgem.c.tt
229
247
  - lib/bundler/templates/newgem/ext/newgem/newgem.h.tt
248
+ - lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt
230
249
  - lib/bundler/templates/newgem/github/workflows/main.yml.tt
231
250
  - lib/bundler/templates/newgem/gitignore.tt
232
251
  - lib/bundler/templates/newgem/gitlab-ci.yml.tt
@@ -243,7 +262,6 @@ files:
243
262
  - lib/bundler/templates/newgem/test/minitest/test_newgem.rb.tt
244
263
  - lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt
245
264
  - lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt
246
- - lib/bundler/templates/newgem/travis.yml.tt
247
265
  - lib/bundler/ui.rb
248
266
  - lib/bundler/ui/rg_proxy.rb
249
267
  - lib/bundler/ui/shell.rb
@@ -257,32 +275,28 @@ files:
257
275
  - lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb
258
276
  - lib/bundler/vendor/fileutils/LICENSE.txt
259
277
  - lib/bundler/vendor/fileutils/lib/fileutils.rb
260
- - lib/bundler/vendor/molinillo/LICENSE
261
- - lib/bundler/vendor/molinillo/lib/molinillo.rb
262
- - lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb
263
- - lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb
264
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb
265
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb
266
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb
267
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb
268
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb
269
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb
270
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb
271
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb
272
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb
273
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb
274
- - lib/bundler/vendor/molinillo/lib/molinillo/errors.rb
275
- - lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb
276
- - lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb
277
- - lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb
278
- - lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb
279
- - lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb
280
- - lib/bundler/vendor/molinillo/lib/molinillo/state.rb
281
278
  - lib/bundler/vendor/net-http-persistent/README.rdoc
282
279
  - lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb
283
280
  - lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb
284
281
  - lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb
285
282
  - lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb
283
+ - lib/bundler/vendor/pub_grub/LICENSE.txt
284
+ - lib/bundler/vendor/pub_grub/lib/pub_grub.rb
285
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb
286
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb
287
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb
288
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb
289
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb
290
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb
291
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb
292
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb
293
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb
294
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb
295
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb
296
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb
297
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb
298
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb
299
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb
286
300
  - lib/bundler/vendor/thor/LICENSE.md
287
301
  - lib/bundler/vendor/thor/lib/thor.rb
288
302
  - lib/bundler/vendor/thor/lib/thor/actions.rb
@@ -315,7 +329,6 @@ files:
315
329
  - lib/bundler/vendor/thor/lib/thor/shell/html.rb
316
330
  - lib/bundler/vendor/thor/lib/thor/util.rb
317
331
  - lib/bundler/vendor/thor/lib/thor/version.rb
318
- - lib/bundler/vendor/tmpdir/lib/tmpdir.rb
319
332
  - lib/bundler/vendor/tsort/LICENSE.txt
320
333
  - lib/bundler/vendor/tsort/lib/tsort.rb
321
334
  - lib/bundler/vendor/uri/LICENSE.txt
@@ -335,14 +348,12 @@ files:
335
348
  - lib/bundler/vendor/uri/lib/uri/ws.rb
336
349
  - lib/bundler/vendor/uri/lib/uri/wss.rb
337
350
  - lib/bundler/vendored_fileutils.rb
338
- - lib/bundler/vendored_molinillo.rb
339
351
  - lib/bundler/vendored_persistent.rb
352
+ - lib/bundler/vendored_pub_grub.rb
340
353
  - lib/bundler/vendored_thor.rb
341
- - lib/bundler/vendored_tmpdir.rb
342
354
  - lib/bundler/vendored_tsort.rb
343
355
  - lib/bundler/vendored_uri.rb
344
356
  - lib/bundler/version.rb
345
- - lib/bundler/version_ranges.rb
346
357
  - lib/bundler/vlad.rb
347
358
  - lib/bundler/worker.rb
348
359
  - lib/bundler/yaml_serializer.rb
@@ -353,7 +364,7 @@ metadata:
353
364
  bug_tracker_uri: https://github.com/rubygems/rubygems/issues?q=is%3Aopen+is%3Aissue+label%3ABundler
354
365
  changelog_uri: https://github.com/rubygems/rubygems/blob/master/bundler/CHANGELOG.md
355
366
  homepage_uri: https://bundler.io/
356
- source_code_uri: https://github.com/rubygems/rubygems/
367
+ source_code_uri: https://github.com/rubygems/rubygems/tree/master/bundler
357
368
  post_install_message:
358
369
  rdoc_options: []
359
370
  require_paths:
@@ -362,14 +373,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
362
373
  requirements:
363
374
  - - ">="
364
375
  - !ruby/object:Gem::Version
365
- version: 2.3.0
376
+ version: 2.6.0
366
377
  required_rubygems_version: !ruby/object:Gem::Requirement
367
378
  requirements:
368
379
  - - ">="
369
380
  - !ruby/object:Gem::Version
370
- version: 2.5.2
381
+ version: 3.0.1
371
382
  requirements: []
372
- rubygems_version: 3.3.12
383
+ rubygems_version: 3.4.6
373
384
  signing_key:
374
385
  specification_version: 4
375
386
  summary: The best way to manage your application's dependencies
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Bundler
4
- class DepProxy
5
- attr_reader :__platform, :dep
6
-
7
- @proxies = {}
8
-
9
- def self.get_proxy(dep, platform)
10
- @proxies[[dep, platform]] ||= new(dep, platform).freeze
11
- end
12
-
13
- def initialize(dep, platform)
14
- @dep = dep
15
- @__platform = platform
16
- end
17
-
18
- private_class_method :new
19
-
20
- alias_method :eql?, :==
21
-
22
- def type
23
- @dep.type
24
- end
25
-
26
- def name
27
- @dep.name
28
- end
29
-
30
- def requirement
31
- @dep.requirement
32
- end
33
-
34
- def to_s
35
- s = name.dup
36
- s << " (#{requirement})" unless requirement == Gem::Requirement.default
37
- s << " #{__platform}" unless __platform == Gem::Platform::RUBY
38
- s
39
- end
40
-
41
- def dup
42
- raise NoMethodError.new("DepProxy cannot be duplicated")
43
- end
44
-
45
- def clone
46
- raise NoMethodError.new("DepProxy cannot be cloned")
47
- end
48
-
49
- private
50
-
51
- def method_missing(*args, &blk)
52
- @dep.send(*args, &blk)
53
- end
54
- end
55
- end
@@ -1,6 +0,0 @@
1
- ---
2
- language: ruby
3
- cache: bundler
4
- rvm:
5
- - <%= RUBY_VERSION %>
6
- before_install: gem install bundler -v <%= Bundler::VERSION %>
@@ -1,9 +0,0 @@
1
- This project is licensed under the MIT license.
2
-
3
- Copyright (c) 2014 Samuel E. Giddins segiddins@segiddins.me
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
-
7
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
-
9
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Bundler::Molinillo
4
- # @!visibility private
5
- module Delegates
6
- # Delegates all {Bundler::Molinillo::ResolutionState} methods to a `#state` property.
7
- module ResolutionState
8
- # (see Bundler::Molinillo::ResolutionState#name)
9
- def name
10
- current_state = state || Bundler::Molinillo::ResolutionState.empty
11
- current_state.name
12
- end
13
-
14
- # (see Bundler::Molinillo::ResolutionState#requirements)
15
- def requirements
16
- current_state = state || Bundler::Molinillo::ResolutionState.empty
17
- current_state.requirements
18
- end
19
-
20
- # (see Bundler::Molinillo::ResolutionState#activated)
21
- def activated
22
- current_state = state || Bundler::Molinillo::ResolutionState.empty
23
- current_state.activated
24
- end
25
-
26
- # (see Bundler::Molinillo::ResolutionState#requirement)
27
- def requirement
28
- current_state = state || Bundler::Molinillo::ResolutionState.empty
29
- current_state.requirement
30
- end
31
-
32
- # (see Bundler::Molinillo::ResolutionState#possibilities)
33
- def possibilities
34
- current_state = state || Bundler::Molinillo::ResolutionState.empty
35
- current_state.possibilities
36
- end
37
-
38
- # (see Bundler::Molinillo::ResolutionState#depth)
39
- def depth
40
- current_state = state || Bundler::Molinillo::ResolutionState.empty
41
- current_state.depth
42
- end
43
-
44
- # (see Bundler::Molinillo::ResolutionState#conflicts)
45
- def conflicts
46
- current_state = state || Bundler::Molinillo::ResolutionState.empty
47
- current_state.conflicts
48
- end
49
-
50
- # (see Bundler::Molinillo::ResolutionState#unused_unwind_options)
51
- def unused_unwind_options
52
- current_state = state || Bundler::Molinillo::ResolutionState.empty
53
- current_state.unused_unwind_options
54
- end
55
- end
56
- end
57
- end