bundler 4.0.21 → 4.1.0.beta1

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 (190) hide show
  1. checksums.yaml +4 -4
  2. data/{lib/bundler/vendor/connection_pool/LICENSE → MIT.txt} +8 -6
  3. data/bundler.gemspec +23 -6
  4. data/lib/bundler/build_metadata.rb +2 -2
  5. data/lib/bundler/checksum.rb +40 -25
  6. data/lib/bundler/ci_detector.rb +1 -1
  7. data/lib/bundler/cli/add.rb +3 -4
  8. data/lib/bundler/cli/cache.rb +4 -0
  9. data/lib/bundler/cli/clean.rb +5 -0
  10. data/lib/bundler/cli/common.rb +37 -1
  11. data/lib/bundler/cli/config.rb +4 -2
  12. data/lib/bundler/cli/gem.rb +0 -17
  13. data/lib/bundler/cli/install.rb +4 -5
  14. data/lib/bundler/cli/lock.rb +1 -2
  15. data/lib/bundler/cli/outdated.rb +8 -3
  16. data/lib/bundler/cli/pristine.rb +2 -1
  17. data/lib/bundler/cli/update.rb +21 -12
  18. data/lib/bundler/cli.rb +14 -11
  19. data/lib/bundler/definition.rb +61 -24
  20. data/lib/bundler/dependency.rb +4 -0
  21. data/lib/bundler/dsl.rb +77 -11
  22. data/lib/bundler/endpoint_specification.rb +51 -14
  23. data/lib/bundler/env.rb +7 -24
  24. data/lib/bundler/errors.rb +34 -5
  25. data/lib/bundler/fetcher/compact_index.rb +14 -5
  26. data/lib/bundler/fetcher/connection_pools.rb +150 -0
  27. data/lib/bundler/fetcher/downloader.rb +31 -16
  28. data/lib/bundler/fetcher.rb +8 -47
  29. data/lib/bundler/injector.rb +3 -3
  30. data/lib/bundler/inline.rb +44 -4
  31. data/lib/bundler/installer/parallel_installer.rb +25 -30
  32. data/lib/bundler/installer.rb +20 -6
  33. data/lib/bundler/lazy_specification.rb +44 -17
  34. data/lib/bundler/lockfile_generator.rb +24 -2
  35. data/lib/bundler/lockfile_parser.rb +43 -5
  36. data/lib/bundler/man/bundle-add.1 +7 -4
  37. data/lib/bundler/man/bundle-add.1.ronn +8 -4
  38. data/lib/bundler/man/bundle-binstubs.1 +1 -1
  39. data/lib/bundler/man/bundle-cache.1 +2 -2
  40. data/lib/bundler/man/bundle-cache.1.ronn +2 -2
  41. data/lib/bundler/man/bundle-check.1 +1 -1
  42. data/lib/bundler/man/bundle-clean.1 +1 -1
  43. data/lib/bundler/man/bundle-config.1 +38 -6
  44. data/lib/bundler/man/bundle-config.1.ronn +143 -10
  45. data/lib/bundler/man/bundle-console.1 +1 -1
  46. data/lib/bundler/man/bundle-doctor.1 +1 -1
  47. data/lib/bundler/man/bundle-env.1 +1 -1
  48. data/lib/bundler/man/bundle-exec.1 +1 -1
  49. data/lib/bundler/man/bundle-fund.1 +1 -1
  50. data/lib/bundler/man/bundle-gem.1 +1 -1
  51. data/lib/bundler/man/bundle-help.1 +1 -1
  52. data/lib/bundler/man/bundle-info.1 +1 -1
  53. data/lib/bundler/man/bundle-init.1 +1 -1
  54. data/lib/bundler/man/bundle-install.1 +2 -2
  55. data/lib/bundler/man/bundle-install.1.ronn +4 -4
  56. data/lib/bundler/man/bundle-issue.1 +1 -1
  57. data/lib/bundler/man/bundle-licenses.1 +1 -1
  58. data/lib/bundler/man/bundle-list.1 +1 -1
  59. data/lib/bundler/man/bundle-lock.1 +3 -3
  60. data/lib/bundler/man/bundle-lock.1.ronn +5 -5
  61. data/lib/bundler/man/bundle-open.1 +1 -1
  62. data/lib/bundler/man/bundle-outdated.1 +1 -1
  63. data/lib/bundler/man/bundle-platform.1 +1 -1
  64. data/lib/bundler/man/bundle-plugin.1 +1 -1
  65. data/lib/bundler/man/bundle-pristine.1 +1 -1
  66. data/lib/bundler/man/bundle-remove.1 +1 -1
  67. data/lib/bundler/man/bundle-show.1 +1 -1
  68. data/lib/bundler/man/bundle-update.1 +3 -3
  69. data/lib/bundler/man/bundle-update.1.ronn +3 -5
  70. data/lib/bundler/man/bundle-version.1 +1 -1
  71. data/lib/bundler/man/bundle.1 +1 -1
  72. data/lib/bundler/man/gemfile.5 +45 -1
  73. data/lib/bundler/man/gemfile.5.ronn +53 -0
  74. data/lib/bundler/match_metadata.rb +20 -0
  75. data/lib/bundler/match_platform.rb +25 -2
  76. data/lib/bundler/match_remote_metadata.rb +21 -6
  77. data/lib/bundler/materialization.rb +2 -1
  78. data/lib/bundler/override.rb +69 -0
  79. data/lib/bundler/plugin/dsl.rb +3 -5
  80. data/lib/bundler/plugin/events.rb +55 -13
  81. data/lib/bundler/plugin/index.rb +87 -11
  82. data/lib/bundler/plugin/installer/path.rb +1 -1
  83. data/lib/bundler/plugin/installer.rb +13 -5
  84. data/lib/bundler/plugin.rb +58 -30
  85. data/lib/bundler/remote_specification.rb +6 -3
  86. data/lib/bundler/resolver/base.rb +2 -1
  87. data/lib/bundler/resolver/incompatibility.rb +1 -1
  88. data/lib/bundler/resolver.rb +73 -23
  89. data/lib/bundler/ruby_version.rb +0 -2
  90. data/lib/bundler/rubygems_ext.rb +71 -1
  91. data/lib/bundler/rubygems_gem_installer.rb +41 -2
  92. data/lib/bundler/rubygems_integration.rb +7 -2
  93. data/lib/bundler/runtime.rb +69 -2
  94. data/lib/bundler/self_manager.rb +9 -15
  95. data/lib/bundler/settings.rb +373 -30
  96. data/lib/bundler/shared_helpers.rb +2 -1
  97. data/lib/bundler/source/git/git_proxy.rb +2 -10
  98. data/lib/bundler/source/git.rb +15 -6
  99. data/lib/bundler/source/path/installer.rb +1 -1
  100. data/lib/bundler/source/rubygems/remote.rb +10 -5
  101. data/lib/bundler/source/rubygems.rb +48 -12
  102. data/lib/bundler/spec_set.rb +16 -4
  103. data/lib/bundler/stub_specification.rb +2 -1
  104. data/lib/bundler/templates/newgem/Gemfile.tt +4 -4
  105. data/lib/bundler/templates/newgem/newgem.gemspec.tt +3 -3
  106. data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +1 -1
  107. data/lib/bundler/templates/newgem/test/minitest/test_newgem.rb.tt +1 -1
  108. data/lib/bundler/ui/shell.rb +0 -4
  109. data/lib/bundler/ui/silent.rb +0 -4
  110. data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +35 -2
  111. data/lib/bundler/vendor/thor/lib/thor/base.rb +2 -1
  112. data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +14 -6
  113. data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +2 -0
  114. data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  115. data/lib/bundler/vendor/thor/lib/thor.rb +34 -1
  116. data/lib/bundler/vendored_pub_grub.rb +5 -2
  117. data/lib/bundler/vendored_securerandom.rb +11 -8
  118. data/lib/bundler/vendored_uri.rb +14 -14
  119. data/lib/bundler/version.rb +1 -1
  120. data/lib/bundler/worker.rb +3 -2
  121. data/lib/bundler.rb +1 -1
  122. data/lib/rubygems/compact_index_client/cache.rb +122 -0
  123. data/lib/rubygems/compact_index_client/cache_file.rb +147 -0
  124. data/lib/rubygems/compact_index_client/http_fetcher.rb +88 -0
  125. data/lib/rubygems/compact_index_client/parser.rb +90 -0
  126. data/lib/rubygems/compact_index_client/updater.rb +113 -0
  127. data/lib/rubygems/compact_index_client.rb +111 -0
  128. data/lib/rubygems/cooldown_settings.rb +57 -0
  129. data/lib/rubygems/credential_store/native/linux.rb +97 -0
  130. data/lib/rubygems/credential_store/native/macos.rb +88 -0
  131. data/lib/rubygems/credential_store/native/windows.rb +130 -0
  132. data/lib/rubygems/credential_store.rb +332 -0
  133. data/lib/{bundler → rubygems}/vendor/pub_grub/lib/pub_grub/assignment.rb +1 -1
  134. data/lib/{bundler → rubygems}/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +7 -7
  135. data/lib/{bundler → rubygems}/vendor/pub_grub/lib/pub_grub/failure_writer.rb +1 -1
  136. data/lib/{bundler → rubygems}/vendor/pub_grub/lib/pub_grub/incompatibility.rb +4 -4
  137. data/lib/{bundler → rubygems}/vendor/pub_grub/lib/pub_grub/package.rb +1 -1
  138. data/lib/{bundler → rubygems}/vendor/pub_grub/lib/pub_grub/partial_solution.rb +1 -1
  139. data/lib/{bundler → rubygems}/vendor/pub_grub/lib/pub_grub/rubygems.rb +3 -3
  140. data/lib/{bundler → rubygems}/vendor/pub_grub/lib/pub_grub/solve_failure.rb +1 -1
  141. data/lib/{bundler → rubygems}/vendor/pub_grub/lib/pub_grub/static_package_source.rb +3 -3
  142. data/lib/{bundler → rubygems}/vendor/pub_grub/lib/pub_grub/strategy.rb +2 -2
  143. data/lib/{bundler → rubygems}/vendor/pub_grub/lib/pub_grub/term.rb +1 -1
  144. data/lib/{bundler → rubygems}/vendor/pub_grub/lib/pub_grub/version.rb +1 -1
  145. data/lib/{bundler → rubygems}/vendor/pub_grub/lib/pub_grub/version_constraint.rb +3 -3
  146. data/lib/{bundler → rubygems}/vendor/pub_grub/lib/pub_grub/version_range.rb +1 -1
  147. data/lib/{bundler → rubygems}/vendor/pub_grub/lib/pub_grub/version_solver.rb +2 -2
  148. data/lib/{bundler → rubygems}/vendor/pub_grub/lib/pub_grub/version_union.rb +1 -1
  149. data/lib/rubygems/vendor/pub_grub/lib/pub_grub.rb +57 -0
  150. data/lib/{bundler → rubygems}/vendor/securerandom/lib/securerandom.rb +10 -6
  151. data/lib/{bundler → rubygems}/vendor/uri/lib/uri/common.rb +119 -119
  152. data/lib/{bundler → rubygems}/vendor/uri/lib/uri/file.rb +13 -13
  153. data/lib/{bundler → rubygems}/vendor/uri/lib/uri/ftp.rb +24 -24
  154. data/lib/{bundler → rubygems}/vendor/uri/lib/uri/generic.rb +132 -132
  155. data/lib/{bundler → rubygems}/vendor/uri/lib/uri/http.rb +18 -18
  156. data/lib/{bundler → rubygems}/vendor/uri/lib/uri/https.rb +4 -4
  157. data/lib/{bundler → rubygems}/vendor/uri/lib/uri/ldap.rb +14 -14
  158. data/lib/{bundler → rubygems}/vendor/uri/lib/uri/ldaps.rb +4 -4
  159. data/lib/{bundler → rubygems}/vendor/uri/lib/uri/mailto.rb +21 -21
  160. data/lib/{bundler → rubygems}/vendor/uri/lib/uri/rfc2396_parser.rb +39 -39
  161. data/lib/{bundler → rubygems}/vendor/uri/lib/uri/rfc3986_parser.rb +14 -14
  162. data/lib/{bundler → rubygems}/vendor/uri/lib/uri/version.rb +1 -1
  163. data/lib/{bundler → rubygems}/vendor/uri/lib/uri/ws.rb +12 -12
  164. data/lib/{bundler → rubygems}/vendor/uri/lib/uri/wss.rb +4 -4
  165. data/lib/{bundler → rubygems}/vendor/uri/lib/uri.rb +35 -31
  166. data/lib/rubygems/yaml_serializer.rb +880 -0
  167. metadata +77 -68
  168. data/CHANGELOG.md +0 -5784
  169. data/LICENSE.md +0 -22
  170. data/README.md +0 -58
  171. data/lib/bundler/compact_index_client/cache.rb +0 -107
  172. data/lib/bundler/compact_index_client/cache_file.rb +0 -148
  173. data/lib/bundler/compact_index_client/parser.rb +0 -87
  174. data/lib/bundler/compact_index_client/updater.rb +0 -105
  175. data/lib/bundler/compact_index_client.rb +0 -92
  176. data/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +0 -227
  177. data/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +0 -3
  178. data/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +0 -56
  179. data/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +0 -230
  180. data/lib/bundler/vendor/net-http-persistent/README.rdoc +0 -82
  181. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +0 -41
  182. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +0 -65
  183. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +0 -80
  184. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +0 -1153
  185. data/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +0 -31
  186. data/lib/bundler/vendored_persistent.rb +0 -11
  187. data/lib/bundler/yaml_serializer.rb +0 -98
  188. /data/lib/{bundler → rubygems}/vendor/pub_grub/LICENSE.txt +0 -0
  189. /data/lib/{bundler → rubygems}/vendor/securerandom/COPYING +0 -0
  190. /data/lib/{bundler → rubygems}/vendor/uri/COPYING +0 -0
@@ -1,4 +1,4 @@
1
- module Bundler::URI
1
+ module Gem::URI
2
2
  # :stopdoc:
3
3
  VERSION = '1.1.1'.freeze
4
4
  VERSION_CODE = VERSION.split('.').map{|s| s.rjust(2, '0')}.join.freeze
@@ -4,26 +4,26 @@
4
4
  # Author:: Matt Muller <mamuller@amazon.com>
5
5
  # License:: You can redistribute it and/or modify it under the same term as Ruby.
6
6
  #
7
- # See Bundler::URI for general documentation
7
+ # See Gem::URI for general documentation
8
8
  #
9
9
 
10
10
  require_relative 'generic'
11
11
 
12
- module Bundler::URI
12
+ module Gem::URI
13
13
 
14
14
  #
15
15
  # The syntax of WS URIs is defined in RFC6455 section 3.
16
16
  #
17
- # Note that the Ruby Bundler::URI library allows WS URLs containing usernames and
17
+ # Note that the Ruby Gem::URI library allows WS URLs containing usernames and
18
18
  # passwords. This is not legal as per the RFC, but used to be
19
19
  # supported in Internet Explorer 5 and 6, before the MS04-004 security
20
20
  # update. See <URL:http://support.microsoft.com/kb/834489>.
21
21
  #
22
22
  class WS < Generic
23
- # A Default port of 80 for Bundler::URI::WS.
23
+ # A Default port of 80 for Gem::URI::WS.
24
24
  DEFAULT_PORT = 80
25
25
 
26
- # An Array of the available components for Bundler::URI::WS.
26
+ # An Array of the available components for Gem::URI::WS.
27
27
  COMPONENT = %i[
28
28
  scheme
29
29
  userinfo host port
@@ -34,7 +34,7 @@ module Bundler::URI
34
34
  #
35
35
  # == Description
36
36
  #
37
- # Creates a new Bundler::URI::WS object from components, with syntax checking.
37
+ # Creates a new Gem::URI::WS object from components, with syntax checking.
38
38
  #
39
39
  # The components accepted are userinfo, host, port, path, and query.
40
40
  #
@@ -46,9 +46,9 @@ module Bundler::URI
46
46
  #
47
47
  # Example:
48
48
  #
49
- # uri = Bundler::URI::WS.build(host: 'www.example.com', path: '/foo/bar')
49
+ # uri = Gem::URI::WS.build(host: 'www.example.com', path: '/foo/bar')
50
50
  #
51
- # uri = Bundler::URI::WS.build([nil, "www.example.com", nil, "/path", "query"])
51
+ # uri = Gem::URI::WS.build([nil, "www.example.com", nil, "/path", "query"])
52
52
  #
53
53
  # Currently, if passed userinfo components this method generates
54
54
  # invalid WS URIs as per RFC 1738.
@@ -61,14 +61,14 @@ module Bundler::URI
61
61
  #
62
62
  # == Description
63
63
  #
64
- # Returns the full path for a WS Bundler::URI, as required by Net::HTTP::Get.
64
+ # Returns the full path for a WS Gem::URI, as required by Net::HTTP::Get.
65
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.
66
+ # If the Gem::URI contains a query, the full path is Gem::URI#path + '?' + Gem::URI#query.
67
+ # Otherwise, the path is simply Gem::URI#path.
68
68
  #
69
69
  # Example:
70
70
  #
71
- # uri = Bundler::URI::WS.build(path: '/foo/bar', query: 'test=true')
71
+ # uri = Gem::URI::WS.build(path: '/foo/bar', query: 'test=true')
72
72
  # uri.request_uri # => "/foo/bar?test=true"
73
73
  #
74
74
  def request_uri
@@ -4,18 +4,18 @@
4
4
  # Author:: Matt Muller <mamuller@amazon.com>
5
5
  # License:: You can redistribute it and/or modify it under the same term as Ruby.
6
6
  #
7
- # See Bundler::URI for general documentation
7
+ # See Gem::URI for general documentation
8
8
  #
9
9
 
10
10
  require_relative 'ws'
11
11
 
12
- module Bundler::URI
12
+ module Gem::URI
13
13
 
14
14
  # The default port for WSS URIs is 443, and the scheme is 'wss:' rather
15
15
  # than 'ws:'. Other than that, WSS URIs are identical to WS URIs;
16
- # see Bundler::URI::WS.
16
+ # see Gem::URI::WS.
17
17
  class WSS < WS
18
- # A Default port of 443 for Bundler::URI::WSS
18
+ # A Default port of 443 for Gem::URI::WSS
19
19
  DEFAULT_PORT = 443
20
20
  end
21
21
 
@@ -1,20 +1,20 @@
1
1
  # frozen_string_literal: false
2
- # Bundler::URI is a module providing classes to handle Uniform Resource Identifiers
2
+ # Gem::URI is a module providing classes to handle Uniform Resource Identifiers
3
3
  # (RFC2396[https://www.rfc-editor.org/rfc/rfc2396]).
4
4
  #
5
5
  # == Features
6
6
  #
7
7
  # * Uniform way of handling URIs.
8
- # * Flexibility to introduce custom Bundler::URI schemes.
9
- # * Flexibility to have an alternate Bundler::URI::Parser (or just different patterns
8
+ # * Flexibility to introduce custom Gem::URI schemes.
9
+ # * Flexibility to have an alternate Gem::URI::Parser (or just different patterns
10
10
  # and regexp's).
11
11
  #
12
12
  # == Basic example
13
13
  #
14
- # require 'bundler/vendor/uri/lib/uri'
14
+ # require 'rubygems/vendor/uri/lib/uri'
15
15
  #
16
- # uri = Bundler::URI("http://foo.com/posts?id=30&limit=5#time=1305298413")
17
- # #=> #<Bundler::URI::HTTP http://foo.com/posts?id=30&limit=5#time=1305298413>
16
+ # uri = Gem::URI("http://foo.com/posts?id=30&limit=5#time=1305298413")
17
+ # #=> #<Gem::URI::HTTP http://foo.com/posts?id=30&limit=5#time=1305298413>
18
18
  #
19
19
  # uri.scheme #=> "http"
20
20
  # uri.host #=> "foo.com"
@@ -26,21 +26,21 @@
26
26
  #
27
27
  # == Adding custom URIs
28
28
  #
29
- # module Bundler::URI
29
+ # module Gem::URI
30
30
  # class RSYNC < Generic
31
31
  # DEFAULT_PORT = 873
32
32
  # end
33
33
  # register_scheme 'RSYNC', RSYNC
34
34
  # end
35
- # #=> Bundler::URI::RSYNC
35
+ # #=> Gem::URI::RSYNC
36
36
  #
37
- # Bundler::URI.scheme_list
38
- # #=> {"FILE"=>Bundler::URI::File, "FTP"=>Bundler::URI::FTP, "HTTP"=>Bundler::URI::HTTP,
39
- # # "HTTPS"=>Bundler::URI::HTTPS, "LDAP"=>Bundler::URI::LDAP, "LDAPS"=>Bundler::URI::LDAPS,
40
- # # "MAILTO"=>Bundler::URI::MailTo, "RSYNC"=>Bundler::URI::RSYNC}
37
+ # Gem::URI.scheme_list
38
+ # #=> {"FILE"=>Gem::URI::File, "FTP"=>Gem::URI::FTP, "HTTP"=>Gem::URI::HTTP,
39
+ # # "HTTPS"=>Gem::URI::HTTPS, "LDAP"=>Gem::URI::LDAP, "LDAPS"=>Gem::URI::LDAPS,
40
+ # # "MAILTO"=>Gem::URI::MailTo, "RSYNC"=>Gem::URI::RSYNC}
41
41
  #
42
- # uri = Bundler::URI("rsync://rsync.foo.com")
43
- # #=> #<Bundler::URI::RSYNC rsync://rsync.foo.com>
42
+ # uri = Gem::URI("rsync://rsync.foo.com")
43
+ # #=> #<Gem::URI::RSYNC rsync://rsync.foo.com>
44
44
  #
45
45
  # == RFC References
46
46
  #
@@ -58,22 +58,22 @@
58
58
  #
59
59
  # == Class tree
60
60
  #
61
- # - Bundler::URI::Generic (in uri/generic.rb)
62
- # - Bundler::URI::File - (in uri/file.rb)
63
- # - Bundler::URI::FTP - (in uri/ftp.rb)
64
- # - Bundler::URI::HTTP - (in uri/http.rb)
65
- # - Bundler::URI::HTTPS - (in uri/https.rb)
66
- # - Bundler::URI::LDAP - (in uri/ldap.rb)
67
- # - Bundler::URI::LDAPS - (in uri/ldaps.rb)
68
- # - Bundler::URI::MailTo - (in uri/mailto.rb)
69
- # - Bundler::URI::Parser - (in uri/common.rb)
70
- # - Bundler::URI::REGEXP - (in uri/common.rb)
71
- # - Bundler::URI::REGEXP::PATTERN - (in uri/common.rb)
72
- # - Bundler::URI::Util - (in uri/common.rb)
73
- # - Bundler::URI::Error - (in uri/common.rb)
74
- # - Bundler::URI::InvalidURIError - (in uri/common.rb)
75
- # - Bundler::URI::InvalidComponentError - (in uri/common.rb)
76
- # - Bundler::URI::BadURIError - (in uri/common.rb)
61
+ # - Gem::URI::Generic (in uri/generic.rb)
62
+ # - Gem::URI::File - (in uri/file.rb)
63
+ # - Gem::URI::FTP - (in uri/ftp.rb)
64
+ # - Gem::URI::HTTP - (in uri/http.rb)
65
+ # - Gem::URI::HTTPS - (in uri/https.rb)
66
+ # - Gem::URI::LDAP - (in uri/ldap.rb)
67
+ # - Gem::URI::LDAPS - (in uri/ldaps.rb)
68
+ # - Gem::URI::MailTo - (in uri/mailto.rb)
69
+ # - Gem::URI::Parser - (in uri/common.rb)
70
+ # - Gem::URI::REGEXP - (in uri/common.rb)
71
+ # - Gem::URI::REGEXP::PATTERN - (in uri/common.rb)
72
+ # - Gem::URI::Util - (in uri/common.rb)
73
+ # - Gem::URI::Error - (in uri/common.rb)
74
+ # - Gem::URI::InvalidURIError - (in uri/common.rb)
75
+ # - Gem::URI::InvalidComponentError - (in uri/common.rb)
76
+ # - Gem::URI::BadURIError - (in uri/common.rb)
77
77
  #
78
78
  # == Copyright Info
79
79
  #
@@ -87,7 +87,11 @@
87
87
  # You can redistribute it and/or modify it under the same term as Ruby.
88
88
  #
89
89
 
90
- module Bundler::URI
90
+ # Skip reloading when an identical copy (e.g. the one shipped inside the Bundler
91
+ # gem) was already required from a different path, to avoid redefinition warnings.
92
+ return if defined?(Gem::URI::VERSION)
93
+
94
+ module Gem::URI
91
95
  end
92
96
 
93
97
  require_relative 'uri/version'