rubygems-update 3.5.4 → 3.5.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 (142) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +48 -1
  3. data/Manifest.txt +77 -60
  4. data/POLICIES.md +5 -5
  5. data/bundler/CHANGELOG.md +27 -1
  6. data/bundler/lib/bundler/build_metadata.rb +2 -2
  7. data/bundler/lib/bundler/cli/gem.rb +1 -1
  8. data/bundler/lib/bundler/cli/lock.rb +5 -4
  9. data/bundler/lib/bundler/cli.rb +1 -1
  10. data/bundler/lib/bundler/compact_index_client/updater.rb +4 -4
  11. data/bundler/lib/bundler/definition.rb +54 -28
  12. data/bundler/lib/bundler/dsl.rb +7 -7
  13. data/bundler/lib/bundler/environment_preserver.rb +3 -3
  14. data/bundler/lib/bundler/fetcher/downloader.rb +1 -1
  15. data/bundler/lib/bundler/fetcher.rb +2 -2
  16. data/bundler/lib/bundler/injector.rb +1 -1
  17. data/bundler/lib/bundler/installer.rb +2 -2
  18. data/bundler/lib/bundler/man/bundle-config.1 +2 -2
  19. data/bundler/lib/bundler/man/bundle-config.1.ronn +2 -2
  20. data/bundler/lib/bundler/mirror.rb +3 -3
  21. data/bundler/lib/bundler/plugin/api/source.rb +2 -2
  22. data/bundler/lib/bundler/runtime.rb +1 -1
  23. data/bundler/lib/bundler/settings.rb +4 -4
  24. data/bundler/lib/bundler/source/git/git_proxy.rb +1 -1
  25. data/bundler/lib/bundler/source/git.rb +1 -1
  26. data/bundler/lib/bundler/source/rubygems/remote.rb +1 -1
  27. data/bundler/lib/bundler/source/rubygems.rb +2 -2
  28. data/bundler/lib/bundler/spec_set.rb +1 -1
  29. data/bundler/lib/bundler/uri_credentials_filter.rb +2 -2
  30. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +22 -22
  31. data/bundler/lib/bundler/vendored_uri.rb +18 -1
  32. data/bundler/lib/bundler/version.rb +1 -1
  33. data/bundler/lib/bundler/yaml_serializer.rb +12 -0
  34. data/bundler/lib/bundler.rb +3 -2
  35. data/lib/rubygems/commands/sources_command.rb +2 -2
  36. data/lib/rubygems/core_ext/kernel_require.rb +11 -2
  37. data/lib/rubygems/defaults.rb +1 -1
  38. data/lib/rubygems/gemcutter_utilities/webauthn_listener.rb +1 -1
  39. data/lib/rubygems/gemcutter_utilities.rb +39 -22
  40. data/lib/rubygems/local_remote_options.rb +6 -6
  41. data/lib/rubygems/net/http.rb +1 -1
  42. data/lib/rubygems/optparse.rb +1 -1
  43. data/lib/rubygems/remote_fetcher.rb +2 -2
  44. data/lib/rubygems/request.rb +4 -4
  45. data/lib/rubygems/requirement.rb +5 -0
  46. data/lib/rubygems/resolver/api_set.rb +1 -1
  47. data/lib/rubygems/resolver/best_set.rb +1 -1
  48. data/lib/rubygems/resolver.rb +5 -5
  49. data/lib/rubygems/s3_uri_signer.rb +2 -2
  50. data/lib/rubygems/source/git.rb +2 -2
  51. data/lib/rubygems/source_list.rb +1 -1
  52. data/lib/rubygems/specification.rb +6 -6
  53. data/lib/rubygems/specification_policy.rb +6 -6
  54. data/lib/rubygems/timeout.rb +1 -1
  55. data/lib/rubygems/tsort.rb +1 -1
  56. data/lib/rubygems/uri.rb +6 -6
  57. data/lib/rubygems/util.rb +1 -1
  58. data/lib/rubygems/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +57 -0
  59. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/delegates/specification_provider.rb +11 -11
  60. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/action.rb +1 -1
  61. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +1 -1
  62. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +1 -1
  63. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +1 -1
  64. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +1 -1
  65. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/log.rb +1 -1
  66. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/set_payload.rb +1 -1
  67. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/tag.rb +1 -1
  68. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/vertex.rb +1 -1
  69. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph.rb +1 -1
  70. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/errors.rb +1 -1
  71. data/lib/rubygems/vendor/molinillo/lib/molinillo/gem_metadata.rb +6 -0
  72. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/modules/specification_provider.rb +2 -2
  73. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/modules/ui.rb +1 -1
  74. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/resolution.rb +3 -3
  75. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/resolver.rb +1 -1
  76. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/state.rb +1 -1
  77. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo.rb +2 -2
  78. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/generic_request.rb +9 -9
  79. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/header.rb +2 -2
  80. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/request.rb +3 -3
  81. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/requests.rb +30 -30
  82. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/response.rb +2 -2
  83. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/responses.rb +6 -6
  84. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/status.rb +1 -1
  85. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http.rb +15 -15
  86. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/https.rb +1 -1
  87. data/lib/rubygems/vendor/optparse/lib/optparse/uri.rb +7 -0
  88. data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse.rb +11 -11
  89. data/lib/rubygems/{timeout → vendor/timeout}/lib/timeout.rb +1 -1
  90. data/lib/rubygems/{tsort → vendor/tsort}/lib/tsort.rb +2 -2
  91. data/lib/rubygems/vendor/uri/.document +1 -0
  92. data/lib/rubygems/vendor/uri/LICENSE.txt +22 -0
  93. data/lib/rubygems/vendor/uri/lib/uri/common.rb +853 -0
  94. data/lib/rubygems/vendor/uri/lib/uri/file.rb +100 -0
  95. data/lib/rubygems/vendor/uri/lib/uri/ftp.rb +267 -0
  96. data/lib/rubygems/vendor/uri/lib/uri/generic.rb +1588 -0
  97. data/lib/rubygems/vendor/uri/lib/uri/http.rb +125 -0
  98. data/lib/rubygems/vendor/uri/lib/uri/https.rb +23 -0
  99. data/lib/rubygems/vendor/uri/lib/uri/ldap.rb +261 -0
  100. data/lib/rubygems/vendor/uri/lib/uri/ldaps.rb +22 -0
  101. data/lib/rubygems/vendor/uri/lib/uri/mailto.rb +293 -0
  102. data/lib/rubygems/vendor/uri/lib/uri/rfc2396_parser.rb +539 -0
  103. data/lib/rubygems/vendor/uri/lib/uri/rfc3986_parser.rb +183 -0
  104. data/lib/rubygems/vendor/uri/lib/uri/version.rb +6 -0
  105. data/lib/rubygems/vendor/uri/lib/uri/ws.rb +83 -0
  106. data/lib/rubygems/vendor/uri/lib/uri/wss.rb +23 -0
  107. data/lib/rubygems/vendor/uri/lib/uri.rb +104 -0
  108. data/lib/rubygems/vendored_molinillo.rb +3 -0
  109. data/lib/rubygems/yaml_serializer.rb +12 -0
  110. data/lib/rubygems.rb +8 -1
  111. data/rubygems-update.gemspec +7 -2
  112. metadata +83 -63
  113. data/lib/rubygems/optparse/lib/optparse/uri.rb +0 -7
  114. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
  115. data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +0 -6
  116. data/lib/rubygems/resolver/molinillo.rb +0 -3
  117. /data/lib/rubygems/{net-http → vendor/molinillo}/.document +0 -0
  118. /data/lib/rubygems/{resolver → vendor}/molinillo/LICENSE +0 -0
  119. /data/lib/rubygems/{net-protocol → vendor/net-http}/.document +0 -0
  120. /data/lib/rubygems/{net-http → vendor/net-http}/LICENSE.txt +0 -0
  121. /data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/backward.rb +0 -0
  122. /data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/exceptions.rb +0 -0
  123. /data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/proxy_delta.rb +0 -0
  124. /data/lib/rubygems/{optparse → vendor/net-protocol}/.document +0 -0
  125. /data/lib/rubygems/{net-protocol → vendor/net-protocol}/LICENSE.txt +0 -0
  126. /data/lib/rubygems/{net-protocol → vendor/net-protocol}/lib/net/protocol.rb +0 -0
  127. /data/lib/rubygems/{resolv → vendor/optparse}/.document +0 -0
  128. /data/lib/rubygems/{optparse → vendor/optparse}/COPYING +0 -0
  129. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optionparser.rb +0 -0
  130. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/ac.rb +0 -0
  131. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/date.rb +0 -0
  132. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/kwargs.rb +0 -0
  133. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/shellwords.rb +0 -0
  134. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/time.rb +0 -0
  135. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/version.rb +0 -0
  136. /data/lib/rubygems/{resolver/molinillo → vendor/resolv}/.document +0 -0
  137. /data/lib/rubygems/{resolv → vendor/resolv}/LICENSE.txt +0 -0
  138. /data/lib/rubygems/{resolv → vendor/resolv}/lib/resolv.rb +0 -0
  139. /data/lib/rubygems/{timeout → vendor/timeout}/.document +0 -0
  140. /data/lib/rubygems/{timeout → vendor/timeout}/LICENSE.txt +0 -0
  141. /data/lib/rubygems/{tsort → vendor/tsort}/.document +0 -0
  142. /data/lib/rubygems/{tsort → vendor/tsort}/LICENSE.txt +0 -0
@@ -18,11 +18,11 @@ class Gem::Request
18
18
  end
19
19
 
20
20
  def self.proxy_uri(proxy) # :nodoc:
21
- require "uri"
21
+ require_relative "vendor/uri/lib/uri"
22
22
  case proxy
23
23
  when :no_proxy then nil
24
- when URI::HTTP then proxy
25
- else URI.parse(proxy)
24
+ when Gem::URI::HTTP then proxy
25
+ else Gem::URI.parse(proxy)
26
26
  end
27
27
  end
28
28
 
@@ -176,7 +176,7 @@ class Gem::Request
176
176
  end
177
177
 
178
178
  require "uri"
179
- uri = URI(Gem::UriFormatter.new(env_proxy).normalize)
179
+ uri = Gem::URI(Gem::UriFormatter.new(env_proxy).normalize)
180
180
 
181
181
  if uri && uri.user.nil? && uri.password.nil?
182
182
  user = ENV["#{downcase_scheme}_proxy_user"] || ENV["#{upcase_scheme}_PROXY_USER"]
@@ -284,6 +284,11 @@ class Gem::Requirement
284
284
  def _tilde_requirements
285
285
  @_tilde_requirements ||= _sorted_requirements.select {|r| r.first == "~>" }
286
286
  end
287
+
288
+ def initialize_copy(other) # :nodoc:
289
+ @requirements = other.requirements.dup
290
+ super
291
+ end
287
292
  end
288
293
 
289
294
  class Gem::Version
@@ -30,7 +30,7 @@ class Gem::Resolver::APISet < Gem::Resolver::Set
30
30
  def initialize(dep_uri = "https://index.rubygems.org/info/")
31
31
  super()
32
32
 
33
- dep_uri = URI dep_uri unless URI === dep_uri
33
+ dep_uri = Gem::URI dep_uri unless Gem::URI === dep_uri
34
34
 
35
35
  @dep_uri = dep_uri
36
36
  @uri = dep_uri + ".."
@@ -60,7 +60,7 @@ class Gem::Resolver::BestSet < Gem::Resolver::ComposedSet
60
60
 
61
61
  def replace_failed_api_set(error) # :nodoc:
62
62
  uri = error.original_uri
63
- uri = URI uri unless URI === uri
63
+ uri = Gem::URI uri unless Gem::URI === uri
64
64
  uri += "."
65
65
 
66
66
  raise error unless api_set = @sets.find do |set|
@@ -11,7 +11,7 @@ require_relative "util/list"
11
11
  # all the requirements.
12
12
 
13
13
  class Gem::Resolver
14
- require_relative "resolver/molinillo"
14
+ require_relative "vendored_molinillo"
15
15
 
16
16
  ##
17
17
  # If the DEBUG_RESOLVER environment variable is set then debugging mode is
@@ -167,7 +167,7 @@ class Gem::Resolver
167
167
  reqs
168
168
  end
169
169
 
170
- include Molinillo::UI
170
+ include Gem::Molinillo::UI
171
171
 
172
172
  def output
173
173
  @output ||= debug? ? $stdout : File.open(IO::NULL, "w")
@@ -177,14 +177,14 @@ class Gem::Resolver
177
177
  DEBUG_RESOLVER
178
178
  end
179
179
 
180
- include Molinillo::SpecificationProvider
180
+ include Gem::Molinillo::SpecificationProvider
181
181
 
182
182
  ##
183
183
  # Proceed with resolution! Returns an array of ActivationRequest objects.
184
184
 
185
185
  def resolve
186
- Molinillo::Resolver.new(self, self).resolve(@needed.map {|d| DependencyRequest.new d, nil }).tsort.map(&:payload).compact
187
- rescue Molinillo::VersionConflict => e
186
+ Gem::Molinillo::Resolver.new(self, self).resolve(@needed.map {|d| DependencyRequest.new d, nil }).tsort.map(&:payload).compact
187
+ rescue Gem::Molinillo::VersionConflict => e
188
188
  conflict = e.conflicts.values.first
189
189
  raise Gem::DependencyResolutionError, Conflict.new(conflict.requirement_trees.first.first, conflict.existing, conflict.requirement)
190
190
  ensure
@@ -49,7 +49,7 @@ class Gem::S3URISigner
49
49
  string_to_sign = generate_string_to_sign(date_time, credential_info, canonical_request)
50
50
  signature = generate_signature(s3_config, date, string_to_sign)
51
51
 
52
- URI.parse("https://#{canonical_host}#{uri.path}?#{query_params}&X-Amz-Signature=#{signature}")
52
+ Gem::URI.parse("https://#{canonical_host}#{uri.path}?#{query_params}&X-Amz-Signature=#{signature}")
53
53
  end
54
54
 
55
55
  private
@@ -152,7 +152,7 @@ class Gem::S3URISigner
152
152
  end
153
153
 
154
154
  def ec2_metadata_request(url)
155
- uri = URI(url)
155
+ uri = Gem::URI(url)
156
156
  @request_pool ||= create_request_pool(uri)
157
157
  request = Gem::Request.new(uri, Gem::Net::HTTP::Get, nil, @request_pool)
158
158
  response = request.fetch
@@ -221,14 +221,14 @@ class Gem::Source::Git < Gem::Source
221
221
  end
222
222
 
223
223
  ##
224
- # A hash for the git gem based on the git repository URI.
224
+ # A hash for the git gem based on the git repository Gem::URI.
225
225
 
226
226
  def uri_hash # :nodoc:
227
227
  require_relative "../openssl"
228
228
 
229
229
  normalized =
230
230
  if @repository.match?(%r{^\w+://(\w+@)?})
231
- uri = URI(@repository).normalize.to_s.sub %r{/$},""
231
+ uri = Gem::URI(@repository).normalize.to_s.sub %r{/$},""
232
232
  uri.sub(/\A(\w+)/) { $1.downcase }
233
233
  else
234
234
  @repository
@@ -44,7 +44,7 @@ class Gem::SourceList
44
44
  end
45
45
 
46
46
  ##
47
- # Appends +obj+ to the source list which may be a Gem::Source, URI or URI
47
+ # Appends +obj+ to the source list which may be a Gem::Source, Gem::URI or URI
48
48
  # String.
49
49
 
50
50
  def <<(obj)
@@ -301,7 +301,7 @@ class Gem::Specification < Gem::BasicSpecification
301
301
  #
302
302
  # Usage:
303
303
  #
304
- # spec.description = <<-EOF
304
+ # spec.description = <<~EOF
305
305
  # Rake is a Make-like program implemented in Ruby. Tasks and
306
306
  # dependencies are specified in standard Ruby syntax.
307
307
  # EOF
@@ -1003,8 +1003,6 @@ class Gem::Specification < Gem::BasicSpecification
1003
1003
  def self.find_all_by_name(name, *requirements)
1004
1004
  requirements = Gem::Requirement.default if requirements.empty?
1005
1005
 
1006
- # TODO: maybe try: find_all { |s| spec === dep }
1007
-
1008
1006
  Gem::Dependency.new(name, *requirements).matching_specs
1009
1007
  end
1010
1008
 
@@ -1022,8 +1020,6 @@ class Gem::Specification < Gem::BasicSpecification
1022
1020
  def self.find_by_name(name, *requirements)
1023
1021
  requirements = Gem::Requirement.default if requirements.empty?
1024
1022
 
1025
- # TODO: maybe try: find { |s| spec === dep }
1026
-
1027
1023
  Gem::Dependency.new(name, *requirements).to_spec
1028
1024
  end
1029
1025
 
@@ -2079,7 +2075,8 @@ class Gem::Specification < Gem::BasicSpecification
2079
2075
  end
2080
2076
 
2081
2077
  ##
2082
- # Duplicates array_attributes from +other_spec+ so state isn't shared.
2078
+ # Duplicates Array and Gem::Requirement attributes from +other_spec+ so state isn't shared.
2079
+ #
2083
2080
 
2084
2081
  def initialize_copy(other_spec)
2085
2082
  self.class.array_attributes.each do |name|
@@ -2101,6 +2098,9 @@ class Gem::Specification < Gem::BasicSpecification
2101
2098
  raise e
2102
2099
  end
2103
2100
  end
2101
+
2102
+ @required_ruby_version = other_spec.required_ruby_version.dup
2103
+ @required_rubygems_version = other_spec.required_rubygems_version.dup
2104
2104
  end
2105
2105
 
2106
2106
  def base_dir
@@ -427,13 +427,13 @@ or set it to nil if you don't want to specify a license.
427
427
 
428
428
  # Make sure a homepage is valid HTTP/HTTPS URI
429
429
  if homepage && !homepage.empty?
430
- require "uri"
430
+ require_relative "vendor/uri/lib/uri"
431
431
  begin
432
- homepage_uri = URI.parse(homepage)
433
- unless [URI::HTTP, URI::HTTPS].member? homepage_uri.class
432
+ homepage_uri = Gem::URI.parse(homepage)
433
+ unless [Gem::URI::HTTP, Gem::URI::HTTPS].member? homepage_uri.class
434
434
  error "\"#{homepage}\" is not a valid HTTP URI"
435
435
  end
436
- rescue URI::InvalidURIError
436
+ rescue Gem::URI::InvalidURIError
437
437
  error "\"#{homepage}\" is not a valid HTTP URI"
438
438
  end
439
439
  end
@@ -497,10 +497,10 @@ You have specified rust based extension, but Cargo.lock is not part of the gem f
497
497
 
498
498
  def validate_rake_extensions(builder) # :nodoc:
499
499
  rake_extension = @specification.extensions.any? {|s| builder.builder_for(s) == Gem::Ext::RakeBuilder }
500
- rake_dependency = @specification.dependencies.any? {|d| d.name == "rake" }
500
+ rake_dependency = @specification.dependencies.any? {|d| d.name == "rake" && d.type == :runtime }
501
501
 
502
502
  warning <<-WARNING if rake_extension && !rake_dependency
503
- You have specified rake based extension, but rake is not added as dependency. It is recommended to add rake as a dependency in gemspec since there's no guarantee rake will be already installed.
503
+ You have specified rake based extension, but rake is not added as runtime dependency. It is recommended to add rake as a runtime dependency in gemspec since there's no guarantee rake will be already installed.
504
504
  WARNING
505
505
  end
506
506
 
@@ -1,3 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "timeout/lib/timeout"
3
+ require_relative "vendor/timeout/lib/timeout"
@@ -1,3 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "tsort/lib/tsort"
3
+ require_relative "vendor/tsort/lib/tsort"
data/lib/rubygems/uri.rb CHANGED
@@ -16,9 +16,9 @@ class Gem::Uri
16
16
  # Parses uri, raising if it's invalid
17
17
 
18
18
  def self.parse!(uri)
19
- require "uri"
19
+ require_relative "vendor/uri/lib/uri"
20
20
 
21
- raise URI::InvalidURIError unless uri
21
+ raise Gem::URI::InvalidURIError unless uri
22
22
 
23
23
  return uri unless uri.is_a?(String)
24
24
 
@@ -28,9 +28,9 @@ class Gem::Uri
28
28
  # as "%7BDESede%7D". If this is escaped again the percentage
29
29
  # symbols will be escaped.
30
30
  begin
31
- URI.parse(uri)
32
- rescue URI::InvalidURIError
33
- URI.parse(URI::DEFAULT_PARSER.escape(uri))
31
+ Gem::URI.parse(uri)
32
+ rescue Gem::URI::InvalidURIError
33
+ Gem::URI.parse(Gem::URI::DEFAULT_PARSER.escape(uri))
34
34
  end
35
35
  end
36
36
 
@@ -39,7 +39,7 @@ class Gem::Uri
39
39
 
40
40
  def self.parse(uri)
41
41
  parse!(uri)
42
- rescue URI::InvalidURIError
42
+ rescue Gem::URI::InvalidURIError
43
43
  uri
44
44
  end
45
45
 
data/lib/rubygems/util.rb CHANGED
@@ -105,7 +105,7 @@ module Gem::Util
105
105
  end
106
106
 
107
107
  ##
108
- # Corrects +path+ (usually returned by `URI.parse().path` on Windows), that
108
+ # Corrects +path+ (usually returned by `Gem::URI.parse().path` on Windows), that
109
109
  # comes with a leading slash.
110
110
 
111
111
  def self.correct_for_windows_path(path)
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gem::Molinillo
4
+ # @!visibility private
5
+ module Delegates
6
+ # Delegates all {Gem::Molinillo::ResolutionState} methods to a `#state` property.
7
+ module ResolutionState
8
+ # (see Gem::Molinillo::ResolutionState#name)
9
+ def name
10
+ current_state = state || Gem::Molinillo::ResolutionState.empty
11
+ current_state.name
12
+ end
13
+
14
+ # (see Gem::Molinillo::ResolutionState#requirements)
15
+ def requirements
16
+ current_state = state || Gem::Molinillo::ResolutionState.empty
17
+ current_state.requirements
18
+ end
19
+
20
+ # (see Gem::Molinillo::ResolutionState#activated)
21
+ def activated
22
+ current_state = state || Gem::Molinillo::ResolutionState.empty
23
+ current_state.activated
24
+ end
25
+
26
+ # (see Gem::Molinillo::ResolutionState#requirement)
27
+ def requirement
28
+ current_state = state || Gem::Molinillo::ResolutionState.empty
29
+ current_state.requirement
30
+ end
31
+
32
+ # (see Gem::Molinillo::ResolutionState#possibilities)
33
+ def possibilities
34
+ current_state = state || Gem::Molinillo::ResolutionState.empty
35
+ current_state.possibilities
36
+ end
37
+
38
+ # (see Gem::Molinillo::ResolutionState#depth)
39
+ def depth
40
+ current_state = state || Gem::Molinillo::ResolutionState.empty
41
+ current_state.depth
42
+ end
43
+
44
+ # (see Gem::Molinillo::ResolutionState#conflicts)
45
+ def conflicts
46
+ current_state = state || Gem::Molinillo::ResolutionState.empty
47
+ current_state.conflicts
48
+ end
49
+
50
+ # (see Gem::Molinillo::ResolutionState#unused_unwind_options)
51
+ def unused_unwind_options
52
+ current_state = state || Gem::Molinillo::ResolutionState.empty
53
+ current_state.unused_unwind_options
54
+ end
55
+ end
56
+ end
57
+ end
@@ -1,67 +1,67 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Gem::Resolver::Molinillo
3
+ module Gem::Molinillo
4
4
  module Delegates
5
- # Delegates all {Gem::Resolver::Molinillo::SpecificationProvider} methods to a
5
+ # Delegates all {Gem::Molinillo::SpecificationProvider} methods to a
6
6
  # `#specification_provider` property.
7
7
  module SpecificationProvider
8
- # (see Gem::Resolver::Molinillo::SpecificationProvider#search_for)
8
+ # (see Gem::Molinillo::SpecificationProvider#search_for)
9
9
  def search_for(dependency)
10
10
  with_no_such_dependency_error_handling do
11
11
  specification_provider.search_for(dependency)
12
12
  end
13
13
  end
14
14
 
15
- # (see Gem::Resolver::Molinillo::SpecificationProvider#dependencies_for)
15
+ # (see Gem::Molinillo::SpecificationProvider#dependencies_for)
16
16
  def dependencies_for(specification)
17
17
  with_no_such_dependency_error_handling do
18
18
  specification_provider.dependencies_for(specification)
19
19
  end
20
20
  end
21
21
 
22
- # (see Gem::Resolver::Molinillo::SpecificationProvider#requirement_satisfied_by?)
22
+ # (see Gem::Molinillo::SpecificationProvider#requirement_satisfied_by?)
23
23
  def requirement_satisfied_by?(requirement, activated, spec)
24
24
  with_no_such_dependency_error_handling do
25
25
  specification_provider.requirement_satisfied_by?(requirement, activated, spec)
26
26
  end
27
27
  end
28
28
 
29
- # (see Gem::Resolver::Molinillo::SpecificationProvider#dependencies_equal?)
29
+ # (see Gem::Molinillo::SpecificationProvider#dependencies_equal?)
30
30
  def dependencies_equal?(dependencies, other_dependencies)
31
31
  with_no_such_dependency_error_handling do
32
32
  specification_provider.dependencies_equal?(dependencies, other_dependencies)
33
33
  end
34
34
  end
35
35
 
36
- # (see Gem::Resolver::Molinillo::SpecificationProvider#name_for)
36
+ # (see Gem::Molinillo::SpecificationProvider#name_for)
37
37
  def name_for(dependency)
38
38
  with_no_such_dependency_error_handling do
39
39
  specification_provider.name_for(dependency)
40
40
  end
41
41
  end
42
42
 
43
- # (see Gem::Resolver::Molinillo::SpecificationProvider#name_for_explicit_dependency_source)
43
+ # (see Gem::Molinillo::SpecificationProvider#name_for_explicit_dependency_source)
44
44
  def name_for_explicit_dependency_source
45
45
  with_no_such_dependency_error_handling do
46
46
  specification_provider.name_for_explicit_dependency_source
47
47
  end
48
48
  end
49
49
 
50
- # (see Gem::Resolver::Molinillo::SpecificationProvider#name_for_locking_dependency_source)
50
+ # (see Gem::Molinillo::SpecificationProvider#name_for_locking_dependency_source)
51
51
  def name_for_locking_dependency_source
52
52
  with_no_such_dependency_error_handling do
53
53
  specification_provider.name_for_locking_dependency_source
54
54
  end
55
55
  end
56
56
 
57
- # (see Gem::Resolver::Molinillo::SpecificationProvider#sort_dependencies)
57
+ # (see Gem::Molinillo::SpecificationProvider#sort_dependencies)
58
58
  def sort_dependencies(dependencies, activated, conflicts)
59
59
  with_no_such_dependency_error_handling do
60
60
  specification_provider.sort_dependencies(dependencies, activated, conflicts)
61
61
  end
62
62
  end
63
63
 
64
- # (see Gem::Resolver::Molinillo::SpecificationProvider#allow_missing?)
64
+ # (see Gem::Molinillo::SpecificationProvider#allow_missing?)
65
65
  def allow_missing?(dependency)
66
66
  with_no_such_dependency_error_handling do
67
67
  specification_provider.allow_missing?(dependency)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Gem::Resolver::Molinillo
3
+ module Gem::Molinillo
4
4
  class DependencyGraph
5
5
  # An action that modifies a {DependencyGraph} that is reversible.
6
6
  # @abstract
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'action'
4
- module Gem::Resolver::Molinillo
4
+ module Gem::Molinillo
5
5
  class DependencyGraph
6
6
  # @!visibility private
7
7
  # (see DependencyGraph#add_edge_no_circular)
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'action'
4
- module Gem::Resolver::Molinillo
4
+ module Gem::Molinillo
5
5
  class DependencyGraph
6
6
  # @!visibility private
7
7
  # (see DependencyGraph#add_vertex)
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'action'
4
- module Gem::Resolver::Molinillo
4
+ module Gem::Molinillo
5
5
  class DependencyGraph
6
6
  # @!visibility private
7
7
  # (see DependencyGraph#delete_edge)
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'action'
4
- module Gem::Resolver::Molinillo
4
+ module Gem::Molinillo
5
5
  class DependencyGraph
6
6
  # @!visibility private
7
7
  # @see DependencyGraph#detach_vertex_named
@@ -7,7 +7,7 @@ require_relative 'detach_vertex_named'
7
7
  require_relative 'set_payload'
8
8
  require_relative 'tag'
9
9
 
10
- module Gem::Resolver::Molinillo
10
+ module Gem::Molinillo
11
11
  class DependencyGraph
12
12
  # A log for dependency graph actions
13
13
  class Log
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'action'
4
- module Gem::Resolver::Molinillo
4
+ module Gem::Molinillo
5
5
  class DependencyGraph
6
6
  # @!visibility private
7
7
  # @see DependencyGraph#set_payload
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'action'
4
- module Gem::Resolver::Molinillo
4
+ module Gem::Molinillo
5
5
  class DependencyGraph
6
6
  # @!visibility private
7
7
  # @see DependencyGraph#tag
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Gem::Resolver::Molinillo
3
+ module Gem::Molinillo
4
4
  class DependencyGraph
5
5
  # A vertex in a {DependencyGraph} that encapsulates a {#name} and a
6
6
  # {#payload}
@@ -5,7 +5,7 @@ require_relative '../../../../tsort'
5
5
  require_relative 'dependency_graph/log'
6
6
  require_relative 'dependency_graph/vertex'
7
7
 
8
- module Gem::Resolver::Molinillo
8
+ module Gem::Molinillo
9
9
  # A directed acyclic graph that is tuned to hold named dependencies
10
10
  class DependencyGraph
11
11
  include Enumerable
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Gem::Resolver::Molinillo
3
+ module Gem::Molinillo
4
4
  # An error that occurred during the resolution process
5
5
  class ResolverError < StandardError; end
6
6
 
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gem::Molinillo
4
+ # The version of Gem::Molinillo.
5
+ VERSION = '0.8.0'.freeze
6
+ end
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Gem::Resolver::Molinillo
3
+ module Gem::Molinillo
4
4
  # Provides information about specifications and dependencies to the resolver,
5
5
  # allowing the {Resolver} class to remain generic while still providing power
6
6
  # and flexibility.
7
7
  #
8
- # This module contains the methods that users of Gem::Resolver::Molinillo must to implement,
8
+ # This module contains the methods that users of Gem::Molinillo must to implement,
9
9
  # using knowledge of their own model classes.
10
10
  module SpecificationProvider
11
11
  # Search for the specifications that match the given dependency.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Gem::Resolver::Molinillo
3
+ module Gem::Molinillo
4
4
  # Conveys information about the resolution process to a user.
5
5
  module UI
6
6
  # The {IO} object that should be used to print output. `STDOUT`, by default.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Gem::Resolver::Molinillo
3
+ module Gem::Molinillo
4
4
  class Resolver
5
5
  # A specific resolution from a given {Resolver}
6
6
  class Resolution
@@ -244,8 +244,8 @@ module Gem::Resolver::Molinillo
244
244
  require_relative 'delegates/resolution_state'
245
245
  require_relative 'delegates/specification_provider'
246
246
 
247
- include Gem::Resolver::Molinillo::Delegates::ResolutionState
248
- include Gem::Resolver::Molinillo::Delegates::SpecificationProvider
247
+ include Gem::Molinillo::Delegates::ResolutionState
248
+ include Gem::Molinillo::Delegates::SpecificationProvider
249
249
 
250
250
  # Processes the topmost available {RequirementState} on the stack
251
251
  # @return [void]
@@ -2,7 +2,7 @@
2
2
 
3
3
  require_relative 'dependency_graph'
4
4
 
5
- module Gem::Resolver::Molinillo
5
+ module Gem::Molinillo
6
6
  # This class encapsulates a dependency resolver.
7
7
  # The resolver is responsible for determining which set of dependencies to
8
8
  # activate, with feedback from the {#specification_provider}
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Gem::Resolver::Molinillo
3
+ module Gem::Molinillo
4
4
  # A state that a {Resolution} can be in
5
5
  # @attr [String] name the name of the current requirement
6
6
  # @attr [Array<Object>] requirements currently unsatisfied requirements
@@ -6,6 +6,6 @@ require_relative 'molinillo/resolver'
6
6
  require_relative 'molinillo/modules/ui'
7
7
  require_relative 'molinillo/modules/specification_provider'
8
8
 
9
- # Gem::Resolver::Molinillo is a generic dependency resolution algorithm.
10
- module Gem::Resolver::Molinillo
9
+ # Gem::Molinillo is a generic dependency resolution algorithm.
10
+ module Gem::Molinillo
11
11
  end