rubygems-update 3.7.2 → 4.0.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 (206) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1413 -1323
  3. data/CODE_OF_CONDUCT.md +7 -129
  4. data/Manifest.txt +5 -11
  5. data/README.md +2 -2
  6. data/bundler/CHANGELOG.md +990 -917
  7. data/bundler/README.md +4 -4
  8. data/bundler/bundler.gemspec +3 -3
  9. data/bundler/lib/bundler/build_metadata.rb +2 -2
  10. data/bundler/lib/bundler/capistrano.rb +1 -19
  11. data/bundler/lib/bundler/cli/cache.rb +1 -11
  12. data/bundler/lib/bundler/cli/common.rb +20 -3
  13. data/bundler/lib/bundler/cli/config.rb +1 -2
  14. data/bundler/lib/bundler/cli/console.rb +5 -0
  15. data/bundler/lib/bundler/cli/exec.rb +29 -4
  16. data/bundler/lib/bundler/cli/gem.rb +19 -33
  17. data/bundler/lib/bundler/cli/install.rb +7 -82
  18. data/bundler/lib/bundler/cli/issue.rb +2 -2
  19. data/bundler/lib/bundler/cli/list.rb +33 -2
  20. data/bundler/lib/bundler/cli/plugin.rb +5 -1
  21. data/bundler/lib/bundler/cli/show.rb +1 -1
  22. data/bundler/lib/bundler/cli/update.rb +3 -3
  23. data/bundler/lib/bundler/cli.rb +75 -83
  24. data/bundler/lib/bundler/compact_index_client.rb +0 -1
  25. data/bundler/lib/bundler/current_ruby.rb +3 -15
  26. data/bundler/lib/bundler/definition.rb +45 -35
  27. data/bundler/lib/bundler/deployment.rb +1 -64
  28. data/bundler/lib/bundler/digest.rb +1 -1
  29. data/bundler/lib/bundler/dsl.rb +13 -35
  30. data/bundler/lib/bundler/endpoint_specification.rb +0 -22
  31. data/bundler/lib/bundler/errors.rb +1 -5
  32. data/bundler/lib/bundler/feature_flag.rb +0 -33
  33. data/bundler/lib/bundler/fetcher/compact_index.rb +1 -1
  34. data/bundler/lib/bundler/friendly_errors.rb +2 -2
  35. data/bundler/lib/bundler/index.rb +0 -7
  36. data/bundler/lib/bundler/inline.rb +1 -1
  37. data/bundler/lib/bundler/installer/gem_installer.rb +0 -11
  38. data/bundler/lib/bundler/installer.rb +0 -6
  39. data/bundler/lib/bundler/lockfile_generator.rb +1 -1
  40. data/bundler/lib/bundler/lockfile_parser.rb +2 -12
  41. data/bundler/lib/bundler/man/bundle-add.1 +1 -1
  42. data/bundler/lib/bundler/man/bundle-binstubs.1 +3 -6
  43. data/bundler/lib/bundler/man/bundle-binstubs.1.ronn +4 -6
  44. data/bundler/lib/bundler/man/bundle-cache.1 +2 -14
  45. data/bundler/lib/bundler/man/bundle-cache.1.ronn +1 -14
  46. data/bundler/lib/bundler/man/bundle-check.1 +2 -5
  47. data/bundler/lib/bundler/man/bundle-check.1.ronn +0 -5
  48. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  49. data/bundler/lib/bundler/man/bundle-config.1 +6 -33
  50. data/bundler/lib/bundler/man/bundle-config.1.ronn +20 -55
  51. data/bundler/lib/bundler/man/bundle-console.1 +1 -1
  52. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  53. data/bundler/lib/bundler/man/bundle-env.1 +1 -1
  54. data/bundler/lib/bundler/man/bundle-exec.1 +2 -5
  55. data/bundler/lib/bundler/man/bundle-exec.1.ronn +1 -5
  56. data/bundler/lib/bundler/man/bundle-fund.1 +1 -1
  57. data/bundler/lib/bundler/man/bundle-gem.1 +3 -6
  58. data/bundler/lib/bundler/man/bundle-gem.1.ronn +2 -5
  59. data/bundler/lib/bundler/man/bundle-help.1 +1 -1
  60. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  61. data/bundler/lib/bundler/man/bundle-init.1 +1 -1
  62. data/bundler/lib/bundler/man/bundle-install.1 +8 -59
  63. data/bundler/lib/bundler/man/bundle-install.1.ronn +12 -107
  64. data/bundler/lib/bundler/man/bundle-issue.1 +1 -1
  65. data/bundler/lib/bundler/man/bundle-licenses.1 +1 -1
  66. data/bundler/lib/bundler/man/bundle-list.1 +6 -1
  67. data/bundler/lib/bundler/man/bundle-list.1.ronn +5 -0
  68. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  69. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  70. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  71. data/bundler/lib/bundler/man/bundle-platform.1 +1 -1
  72. data/bundler/lib/bundler/man/bundle-plugin.1 +2 -9
  73. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +0 -8
  74. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  75. data/bundler/lib/bundler/man/bundle-remove.1 +2 -8
  76. data/bundler/lib/bundler/man/bundle-remove.1.ronn +1 -8
  77. data/bundler/lib/bundler/man/bundle-show.1 +2 -5
  78. data/bundler/lib/bundler/man/bundle-show.1.ronn +0 -4
  79. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  80. data/bundler/lib/bundler/man/bundle-version.1 +1 -1
  81. data/bundler/lib/bundler/man/bundle.1 +1 -10
  82. data/bundler/lib/bundler/man/bundle.1.ronn +0 -9
  83. data/bundler/lib/bundler/man/gemfile.5 +1 -1
  84. data/bundler/lib/bundler/man/index.txt +0 -2
  85. data/bundler/lib/bundler/materialization.rb +1 -1
  86. data/bundler/lib/bundler/plugin/installer.rb +0 -10
  87. data/bundler/lib/bundler/plugin/source_list.rb +1 -1
  88. data/bundler/lib/bundler/plugin.rb +1 -1
  89. data/bundler/lib/bundler/resolver.rb +1 -1
  90. data/bundler/lib/bundler/ruby_dsl.rb +2 -0
  91. data/bundler/lib/bundler/ruby_version.rb +1 -3
  92. data/bundler/lib/bundler/rubygems_ext.rb +1 -1
  93. data/bundler/lib/bundler/rubygems_gem_installer.rb +1 -1
  94. data/bundler/lib/bundler/rubygems_integration.rb +1 -5
  95. data/bundler/lib/bundler/self_manager.rb +1 -1
  96. data/bundler/lib/bundler/settings.rb +7 -26
  97. data/bundler/lib/bundler/shared_helpers.rb +8 -20
  98. data/bundler/lib/bundler/source/git/git_proxy.rb +3 -11
  99. data/bundler/lib/bundler/source/git.rb +2 -3
  100. data/bundler/lib/bundler/source/path.rb +3 -7
  101. data/bundler/lib/bundler/source/rubygems.rb +11 -17
  102. data/bundler/lib/bundler/source.rb +1 -1
  103. data/bundler/lib/bundler/source_list.rb +4 -45
  104. data/bundler/lib/bundler/source_map.rb +2 -5
  105. data/bundler/lib/bundler/spec_set.rb +6 -15
  106. data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +7 -129
  107. data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +12 -0
  108. data/bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +1 -1
  109. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf-go.rb.tt +11 -0
  110. data/bundler/lib/bundler/templates/newgem/ext/newgem/go.mod.tt +5 -0
  111. data/bundler/lib/bundler/templates/newgem/ext/newgem/newgem-go.c.tt +2 -0
  112. data/bundler/lib/bundler/templates/newgem/ext/newgem/newgem.go.tt +31 -0
  113. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +6 -0
  114. data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
  115. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +4 -1
  116. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +26 -23
  117. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
  118. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +50 -6
  119. data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +57 -52
  120. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +5 -2
  121. data/bundler/lib/bundler/vendor/thor/lib/thor/runner.rb +1 -1
  122. data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +57 -15
  123. data/bundler/lib/bundler/vendor/uri/lib/uri/file.rb +1 -1
  124. data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +34 -21
  125. data/bundler/lib/bundler/vendor/uri/lib/uri/http.rb +12 -0
  126. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +9 -8
  127. data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +2 -2
  128. data/bundler/lib/bundler/version.rb +1 -1
  129. data/bundler/lib/bundler/vlad.rb +1 -14
  130. data/bundler/lib/bundler.rb +6 -28
  131. data/doc/MAINTAINERS.txt +0 -7
  132. data/doc/bundler/UPGRADING.md +11 -5
  133. data/doc/rubygems/CONTRIBUTING.md +1 -1
  134. data/lib/rubygems/basic_specification.rb +3 -9
  135. data/lib/rubygems/bundler_version_finder.rb +1 -0
  136. data/lib/rubygems/command.rb +1 -1
  137. data/lib/rubygems/command_manager.rb +3 -4
  138. data/lib/rubygems/commands/build_command.rb +0 -7
  139. data/lib/rubygems/commands/cert_command.rb +1 -1
  140. data/lib/rubygems/commands/install_command.rb +1 -5
  141. data/lib/rubygems/commands/setup_command.rb +5 -3
  142. data/lib/rubygems/config_file.rb +1 -1
  143. data/lib/rubygems/dependency.rb +1 -1
  144. data/lib/rubygems/dependency_installer.rb +0 -77
  145. data/lib/rubygems/dependency_list.rb +1 -2
  146. data/lib/rubygems/deprecate.rb +74 -72
  147. data/lib/rubygems/doctor.rb +1 -1
  148. data/lib/rubygems/errors.rb +1 -1
  149. data/lib/rubygems/exceptions.rb +2 -3
  150. data/lib/rubygems/ext/builder.rb +6 -2
  151. data/lib/rubygems/ext/cargo_builder.rb +2 -2
  152. data/lib/rubygems/ext/cmake_builder.rb +97 -8
  153. data/lib/rubygems/ext/configure_builder.rb +2 -2
  154. data/lib/rubygems/ext/ext_conf_builder.rb +6 -2
  155. data/lib/rubygems/ext/rake_builder.rb +2 -2
  156. data/lib/rubygems/gem_runner.rb +0 -1
  157. data/lib/rubygems/install_update_options.rb +1 -2
  158. data/lib/rubygems/installer.rb +16 -54
  159. data/lib/rubygems/name_tuple.rb +7 -1
  160. data/lib/rubygems/package/tar_header.rb +4 -4
  161. data/lib/rubygems/package/tar_reader.rb +2 -0
  162. data/lib/rubygems/package/tar_writer.rb +1 -1
  163. data/lib/rubygems/package.rb +21 -12
  164. data/lib/rubygems/platform.rb +31 -11
  165. data/lib/rubygems/remote_fetcher.rb +8 -5
  166. data/lib/rubygems/resolver/conflict.rb +1 -1
  167. data/lib/rubygems/resolver.rb +1 -1
  168. data/lib/rubygems/security/signer.rb +1 -1
  169. data/lib/rubygems/source.rb +2 -2
  170. data/lib/rubygems/spec_fetcher.rb +4 -4
  171. data/lib/rubygems/specification.rb +5 -96
  172. data/lib/rubygems/specification_policy.rb +0 -36
  173. data/lib/rubygems/specification_record.rb +1 -1
  174. data/lib/rubygems/text.rb +1 -1
  175. data/lib/rubygems/uninstaller.rb +17 -6
  176. data/lib/rubygems/user_interaction.rb +6 -9
  177. data/lib/rubygems/util.rb +0 -22
  178. data/lib/rubygems/validator.rb +1 -1
  179. data/lib/rubygems/vendor/net-http/lib/net/http/generic_request.rb +25 -9
  180. data/lib/rubygems/vendor/net-http/lib/net/http/responses.rb +2 -2
  181. data/lib/rubygems/vendor/net-http/lib/net/http.rb +14 -14
  182. data/lib/rubygems/vendor/optparse/lib/optparse.rb +82 -41
  183. data/lib/rubygems/vendor/resolv/lib/resolv.rb +1 -1
  184. data/lib/rubygems/vendor/timeout/lib/timeout.rb +4 -1
  185. data/lib/rubygems/vendor/uri/lib/uri/common.rb +57 -15
  186. data/lib/rubygems/vendor/uri/lib/uri/file.rb +1 -1
  187. data/lib/rubygems/vendor/uri/lib/uri/generic.rb +34 -21
  188. data/lib/rubygems/vendor/uri/lib/uri/http.rb +12 -0
  189. data/lib/rubygems/vendor/uri/lib/uri/rfc2396_parser.rb +9 -8
  190. data/lib/rubygems/vendor/uri/lib/uri/version.rb +2 -2
  191. data/lib/rubygems/version.rb +2 -17
  192. data/lib/rubygems/win_platform.rb +31 -0
  193. data/lib/rubygems.rb +10 -38
  194. data/rubygems-update.gemspec +4 -4
  195. metadata +10 -18
  196. data/bundler/lib/bundler/cli/inject.rb +0 -60
  197. data/bundler/lib/bundler/cli/viz.rb +0 -31
  198. data/bundler/lib/bundler/graph.rb +0 -152
  199. data/bundler/lib/bundler/man/bundle-inject.1 +0 -31
  200. data/bundler/lib/bundler/man/bundle-inject.1.ronn +0 -32
  201. data/bundler/lib/bundler/man/bundle-viz.1 +0 -30
  202. data/bundler/lib/bundler/man/bundle-viz.1.ronn +0 -36
  203. data/bundler/lib/bundler/similarity_detector.rb +0 -63
  204. data/lib/rubygems/commands/query_command.rb +0 -43
  205. data/lib/rubygems/compatibility.rb +0 -41
  206. data/lib/rubygems/install_default_message.rb +0 -13
@@ -73,7 +73,7 @@ module Gem::URI
73
73
  #
74
74
  # At first, tries to create a new Gem::URI::Generic instance using
75
75
  # Gem::URI::Generic::build. But, if exception Gem::URI::InvalidComponentError is raised,
76
- # then it does Gem::URI::Escape.escape all Gem::URI components and tries again.
76
+ # then it does Gem::URI::RFC2396_PARSER.escape all Gem::URI components and tries again.
77
77
  #
78
78
  def self.build2(args)
79
79
  begin
@@ -126,9 +126,9 @@ module Gem::URI
126
126
  end
127
127
  end
128
128
  else
129
- component = self.class.component rescue ::Gem::URI::Generic::COMPONENT
129
+ component = self.component rescue ::Gem::URI::Generic::COMPONENT
130
130
  raise ArgumentError,
131
- "expected Array of or Hash of components of #{self.class} (#{component.join(', ')})"
131
+ "expected Array of or Hash of components of #{self} (#{component.join(', ')})"
132
132
  end
133
133
 
134
134
  tmp << nil
@@ -186,18 +186,18 @@ module Gem::URI
186
186
 
187
187
  if arg_check
188
188
  self.scheme = scheme
189
- self.userinfo = userinfo
190
189
  self.hostname = host
191
190
  self.port = port
191
+ self.userinfo = userinfo
192
192
  self.path = path
193
193
  self.query = query
194
194
  self.opaque = opaque
195
195
  self.fragment = fragment
196
196
  else
197
197
  self.set_scheme(scheme)
198
- self.set_userinfo(userinfo)
199
198
  self.set_host(host)
200
199
  self.set_port(port)
200
+ self.set_userinfo(userinfo)
201
201
  self.set_path(path)
202
202
  self.query = query
203
203
  self.set_opaque(opaque)
@@ -284,7 +284,7 @@ module Gem::URI
284
284
 
285
285
  # Returns the parser to be used.
286
286
  #
287
- # Unless a Gem::URI::Parser is defined, DEFAULT_PARSER is used.
287
+ # Unless the +parser+ is defined, DEFAULT_PARSER is used.
288
288
  #
289
289
  def parser
290
290
  if !defined?(@parser) || !@parser
@@ -315,7 +315,7 @@ module Gem::URI
315
315
  end
316
316
 
317
317
  #
318
- # Checks the scheme +v+ component against the Gem::URI::Parser Regexp for :SCHEME.
318
+ # Checks the scheme +v+ component against the +parser+ Regexp for :SCHEME.
319
319
  #
320
320
  def check_scheme(v)
321
321
  if v && parser.regexp[:SCHEME] !~ v
@@ -385,7 +385,7 @@ module Gem::URI
385
385
 
386
386
  #
387
387
  # Checks the user +v+ component for RFC2396 compliance
388
- # and against the Gem::URI::Parser Regexp for :USERINFO.
388
+ # and against the +parser+ Regexp for :USERINFO.
389
389
  #
390
390
  # Can not have a registry or opaque component defined,
391
391
  # with a user component defined.
@@ -409,7 +409,7 @@ module Gem::URI
409
409
 
410
410
  #
411
411
  # Checks the password +v+ component for RFC2396 compliance
412
- # and against the Gem::URI::Parser Regexp for :USERINFO.
412
+ # and against the +parser+ Regexp for :USERINFO.
413
413
  #
414
414
  # Can not have a registry or opaque component defined,
415
415
  # with a user component defined.
@@ -511,7 +511,7 @@ module Gem::URI
511
511
  user, password = split_userinfo(user)
512
512
  end
513
513
  @user = user
514
- @password = password if password
514
+ @password = password
515
515
 
516
516
  [@user, @password]
517
517
  end
@@ -522,7 +522,7 @@ module Gem::URI
522
522
  # See also Gem::URI::Generic.user=.
523
523
  #
524
524
  def set_user(v)
525
- set_userinfo(v, @password)
525
+ set_userinfo(v, nil)
526
526
  v
527
527
  end
528
528
  protected :set_user
@@ -574,6 +574,12 @@ module Gem::URI
574
574
  @password
575
575
  end
576
576
 
577
+ # Returns the authority info (array of user, password, host and
578
+ # port), if any is set. Or returns +nil+.
579
+ def authority
580
+ return @user, @password, @host, @port if @user || @password || @host || @port
581
+ end
582
+
577
583
  # Returns the user component after Gem::URI decoding.
578
584
  def decoded_user
579
585
  Gem::URI.decode_uri_component(@user) if @user
@@ -586,7 +592,7 @@ module Gem::URI
586
592
 
587
593
  #
588
594
  # Checks the host +v+ component for RFC2396 compliance
589
- # and against the Gem::URI::Parser Regexp for :HOST.
595
+ # and against the +parser+ Regexp for :HOST.
590
596
  #
591
597
  # Can not have a registry or opaque component defined,
592
598
  # with a host component defined.
@@ -615,6 +621,13 @@ module Gem::URI
615
621
  end
616
622
  protected :set_host
617
623
 
624
+ # Protected setter for the authority info (+user+, +password+, +host+
625
+ # and +port+). If +port+ is +nil+, +default_port+ will be set.
626
+ #
627
+ protected def set_authority(user, password, host, port = nil)
628
+ @user, @password, @host, @port = user, password, host, port || self.default_port
629
+ end
630
+
618
631
  #
619
632
  # == Args
620
633
  #
@@ -639,6 +652,7 @@ module Gem::URI
639
652
  def host=(v)
640
653
  check_host(v)
641
654
  set_host(v)
655
+ set_userinfo(nil)
642
656
  v
643
657
  end
644
658
 
@@ -675,7 +689,7 @@ module Gem::URI
675
689
 
676
690
  #
677
691
  # Checks the port +v+ component for RFC2396 compliance
678
- # and against the Gem::URI::Parser Regexp for :PORT.
692
+ # and against the +parser+ Regexp for :PORT.
679
693
  #
680
694
  # Can not have a registry or opaque component defined,
681
695
  # with a port component defined.
@@ -729,6 +743,7 @@ module Gem::URI
729
743
  def port=(v)
730
744
  check_port(v)
731
745
  set_port(v)
746
+ set_userinfo(nil)
732
747
  port
733
748
  end
734
749
 
@@ -748,7 +763,7 @@ module Gem::URI
748
763
 
749
764
  #
750
765
  # Checks the path +v+ component for RFC2396 compliance
751
- # and against the Gem::URI::Parser Regexp
766
+ # and against the +parser+ Regexp
752
767
  # for :ABS_PATH and :REL_PATH.
753
768
  #
754
769
  # Can not have a opaque component defined,
@@ -853,7 +868,7 @@ module Gem::URI
853
868
 
854
869
  #
855
870
  # Checks the opaque +v+ component for RFC2396 compliance and
856
- # against the Gem::URI::Parser Regexp for :OPAQUE.
871
+ # against the +parser+ Regexp for :OPAQUE.
857
872
  #
858
873
  # Can not have a host, port, user, or path component defined,
859
874
  # with an opaque component defined.
@@ -905,7 +920,7 @@ module Gem::URI
905
920
  end
906
921
 
907
922
  #
908
- # Checks the fragment +v+ component against the Gem::URI::Parser Regexp for :FRAGMENT.
923
+ # Checks the fragment +v+ component against the +parser+ Regexp for :FRAGMENT.
909
924
  #
910
925
  #
911
926
  # == Args
@@ -1121,7 +1136,7 @@ module Gem::URI
1121
1136
 
1122
1137
  base = self.dup
1123
1138
 
1124
- authority = rel.userinfo || rel.host || rel.port
1139
+ authority = rel.authority
1125
1140
 
1126
1141
  # RFC2396, Section 5.2, 2)
1127
1142
  if (rel.path.nil? || rel.path.empty?) && !authority && !rel.query
@@ -1134,9 +1149,7 @@ module Gem::URI
1134
1149
 
1135
1150
  # RFC2396, Section 5.2, 4)
1136
1151
  if authority
1137
- base.set_userinfo(rel.userinfo)
1138
- base.set_host(rel.host)
1139
- base.set_port(rel.port || base.default_port)
1152
+ base.set_authority(*authority)
1140
1153
  base.set_path(rel.path)
1141
1154
  elsif base.path && rel.path
1142
1155
  base.set_path(merge_path(base.path, rel.path))
@@ -1527,7 +1540,7 @@ module Gem::URI
1527
1540
  else
1528
1541
  unless proxy_uri = env[name]
1529
1542
  if proxy_uri = env[name.upcase]
1530
- warn 'The environment variable HTTP_PROXY is discouraged. Use http_proxy.', uplevel: 1
1543
+ warn 'The environment variable HTTP_PROXY is discouraged. Please use http_proxy instead.', uplevel: 1
1531
1544
  end
1532
1545
  end
1533
1546
  end
@@ -61,6 +61,18 @@ module Gem::URI
61
61
  super(tmp)
62
62
  end
63
63
 
64
+ # Do not allow empty host names, as they are not allowed by RFC 3986.
65
+ def check_host(v)
66
+ ret = super
67
+
68
+ if ret && v.empty?
69
+ raise InvalidComponentError,
70
+ "bad component(expected host component): #{v}"
71
+ end
72
+
73
+ ret
74
+ end
75
+
64
76
  #
65
77
  # == Description
66
78
  #
@@ -67,7 +67,7 @@ module Gem::URI
67
67
  #
68
68
  # == Synopsis
69
69
  #
70
- # Gem::URI::Parser.new([opts])
70
+ # Gem::URI::RFC2396_Parser.new([opts])
71
71
  #
72
72
  # == Args
73
73
  #
@@ -86,7 +86,7 @@ module Gem::URI
86
86
  #
87
87
  # == Examples
88
88
  #
89
- # p = Gem::URI::Parser.new(:ESCAPED => "(?:%[a-fA-F0-9]{2}|%u[a-fA-F0-9]{4})")
89
+ # p = Gem::URI::RFC2396_Parser.new(:ESCAPED => "(?:%[a-fA-F0-9]{2}|%u[a-fA-F0-9]{4})")
90
90
  # u = p.parse("http://example.jp/%uABCD") #=> #<Gem::URI::HTTP http://example.jp/%uABCD>
91
91
  # Gem::URI.parse(u.to_s) #=> raises Gem::URI::InvalidURIError
92
92
  #
@@ -108,12 +108,12 @@ module Gem::URI
108
108
 
109
109
  # The Hash of patterns.
110
110
  #
111
- # See also Gem::URI::Parser.initialize_pattern.
111
+ # See also #initialize_pattern.
112
112
  attr_reader :pattern
113
113
 
114
114
  # The Hash of Regexp.
115
115
  #
116
- # See also Gem::URI::Parser.initialize_regexp.
116
+ # See also #initialize_regexp.
117
117
  attr_reader :regexp
118
118
 
119
119
  # Returns a split Gem::URI against +regexp[:ABS_URI]+.
@@ -202,8 +202,7 @@ module Gem::URI
202
202
  #
203
203
  # == Usage
204
204
  #
205
- # p = Gem::URI::Parser.new
206
- # p.parse("ldap://ldap.example.com/dc=example?user=john")
205
+ # Gem::URI::RFC2396_PARSER.parse("ldap://ldap.example.com/dc=example?user=john")
207
206
  # #=> #<Gem::URI::LDAP ldap://ldap.example.com/dc=example?user=john>
208
207
  #
209
208
  def parse(uri)
@@ -244,7 +243,7 @@ module Gem::URI
244
243
  # If no +block+ given, then returns the result,
245
244
  # else it calls +block+ for each element in result.
246
245
  #
247
- # See also Gem::URI::Parser.make_regexp.
246
+ # See also #make_regexp.
248
247
  #
249
248
  def extract(str, schemes = nil)
250
249
  if block_given?
@@ -263,7 +262,7 @@ module Gem::URI
263
262
  unless schemes
264
263
  @regexp[:ABS_URI_REF]
265
264
  else
266
- /(?=#{Regexp.union(*schemes)}:)#{@pattern[:X_ABS_URI]}/x
265
+ /(?=(?i:#{Regexp.union(*schemes).source}):)#{@pattern[:X_ABS_URI]}/x
267
266
  end
268
267
  end
269
268
 
@@ -524,6 +523,8 @@ module Gem::URI
524
523
  ret
525
524
  end
526
525
 
526
+ # Returns +uri+ as-is if it is Gem::URI, or convert it to Gem::URI if it is
527
+ # a String.
527
528
  def convert_to_uri(uri)
528
529
  if uri.is_a?(Gem::URI::Generic)
529
530
  uri
@@ -1,6 +1,6 @@
1
1
  module Gem::URI
2
2
  # :stopdoc:
3
- VERSION_CODE = '010003'.freeze
4
- VERSION = VERSION_CODE.scan(/../).collect{|n| n.to_i}.join('.').freeze
3
+ VERSION = '1.1.1'.freeze
4
+ VERSION_CODE = VERSION.split('.').map{|s| s.rjust(2, '0')}.join.freeze
5
5
  # :startdoc:
6
6
  end
@@ -171,9 +171,7 @@ class Gem::Version
171
171
  # True if the +version+ string matches RubyGems' requirements.
172
172
 
173
173
  def self.correct?(version)
174
- nil_versions_are_discouraged! if version.nil?
175
-
176
- ANCHORED_VERSION_PATTERN.match?(version.to_s)
174
+ version.nil? || ANCHORED_VERSION_PATTERN.match?(version.to_s)
177
175
  end
178
176
 
179
177
  ##
@@ -182,15 +180,10 @@ class Gem::Version
182
180
  #
183
181
  # ver1 = Version.create('1.3.17') # -> (Version object)
184
182
  # ver2 = Version.create(ver1) # -> (ver1)
185
- # ver3 = Version.create(nil) # -> nil
186
183
 
187
184
  def self.create(input)
188
185
  if self === input # check yourself before you wreck yourself
189
186
  input
190
- elsif input.nil?
191
- nil_versions_are_discouraged!
192
-
193
- nil
194
187
  else
195
188
  new input
196
189
  end
@@ -206,14 +199,6 @@ class Gem::Version
206
199
  @@all[version] ||= super
207
200
  end
208
201
 
209
- def self.nil_versions_are_discouraged!
210
- unless Gem::Deprecate.skip
211
- warn "nil versions are discouraged and will be deprecated in Rubygems 4"
212
- end
213
- end
214
-
215
- private_class_method :nil_versions_are_discouraged!
216
-
217
202
  ##
218
203
  # Constructs a Version from the +version+ string. A version string is a
219
204
  # series of digits or ASCII letters separated by dots.
@@ -224,7 +209,7 @@ class Gem::Version
224
209
  end
225
210
 
226
211
  # If version is an empty string convert it to 0
227
- version = 0 if version.is_a?(String) && /\A\s*\Z/.match?(version)
212
+ version = 0 if version.nil? || (version.is_a?(String) && /\A\s*\Z/.match?(version))
228
213
 
229
214
  @version = version.to_s
230
215
 
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rbconfig"
4
+
5
+ module Gem
6
+ ##
7
+ # An Array of Regexps that match windows Ruby platforms.
8
+
9
+ WIN_PATTERNS = [
10
+ /bccwin/i,
11
+ /cygwin/i,
12
+ /djgpp/i,
13
+ /mingw/i,
14
+ /mswin/i,
15
+ /wince/i,
16
+ ].freeze
17
+
18
+ @@win_platform = nil
19
+
20
+ ##
21
+ # Is this a windows platform?
22
+
23
+ def self.win_platform?
24
+ if @@win_platform.nil?
25
+ ruby_platform = RbConfig::CONFIG["host_os"]
26
+ @@win_platform = !WIN_PATTERNS.find {|r| ruby_platform =~ r }.nil?
27
+ end
28
+
29
+ @@win_platform
30
+ end
31
+ end
data/lib/rubygems.rb CHANGED
@@ -9,16 +9,14 @@
9
9
  require "rbconfig"
10
10
 
11
11
  module Gem
12
- VERSION = "3.7.2"
12
+ VERSION = "4.0.0.beta1"
13
13
  end
14
14
 
15
- # Must be first since it unloads the prelude from 1.9.2
16
- require_relative "rubygems/compatibility"
17
-
18
15
  require_relative "rubygems/defaults"
19
16
  require_relative "rubygems/deprecate"
20
17
  require_relative "rubygems/errors"
21
18
  require_relative "rubygems/target_rbconfig"
19
+ require_relative "rubygems/win_platform"
22
20
 
23
21
  ##
24
22
  # RubyGems is the Ruby standard for publishing and managing third party
@@ -39,7 +37,7 @@ require_relative "rubygems/target_rbconfig"
39
37
  # Further RubyGems documentation can be found at:
40
38
  #
41
39
  # * {RubyGems Guides}[https://guides.rubygems.org]
42
- # * {RubyGems API}[https://www.rubydoc.info/github/rubygems/rubygems] (also available from
40
+ # * {RubyGems API}[https://www.rubydoc.info/github/ruby/rubygems] (also available from
43
41
  # <tt>gem server</tt>)
44
42
  #
45
43
  # == RubyGems Plugins
@@ -71,7 +69,7 @@ require_relative "rubygems/target_rbconfig"
71
69
  # == Bugs
72
70
  #
73
71
  # You can submit bugs to the
74
- # {RubyGems bug tracker}[https://github.com/rubygems/rubygems/issues]
72
+ # {RubyGems bug tracker}[https://github.com/ruby/rubygems/issues]
75
73
  # on GitHub
76
74
  #
77
75
  # == Credits
@@ -107,7 +105,7 @@ require_relative "rubygems/target_rbconfig"
107
105
  #
108
106
  # == License
109
107
  #
110
- # See {LICENSE.txt}[https://github.com/rubygems/rubygems/blob/master/LICENSE.txt] for permissions.
108
+ # See {LICENSE.txt}[https://github.com/ruby/rubygems/blob/master/LICENSE.txt] for permissions.
111
109
  #
112
110
  # Thanks!
113
111
  #
@@ -116,18 +114,6 @@ require_relative "rubygems/target_rbconfig"
116
114
  module Gem
117
115
  RUBYGEMS_DIR = __dir__
118
116
 
119
- ##
120
- # An Array of Regexps that match windows Ruby platforms.
121
-
122
- WIN_PATTERNS = [
123
- /bccwin/i,
124
- /cygwin/i,
125
- /djgpp/i,
126
- /mingw/i,
127
- /mswin/i,
128
- /wince/i,
129
- ].freeze
130
-
131
117
  GEM_DEP_FILES = %w[
132
118
  gem.deps.rb
133
119
  gems.rb
@@ -163,8 +149,6 @@ module Gem
163
149
 
164
150
  DEFAULT_SOURCE_DATE_EPOCH = 315_619_200
165
151
 
166
- @@win_platform = nil
167
-
168
152
  @configuration = nil
169
153
  @gemdeps = nil
170
154
  @loaded_specs = {}
@@ -227,7 +211,7 @@ module Gem
227
211
  finish_resolve rs
228
212
  end
229
213
 
230
- def self.finish_resolve(request_set=Gem::RequestSet.new)
214
+ def self.finish_resolve(request_set = Gem::RequestSet.new)
231
215
  request_set.import Gem::Specification.unresolved_deps.values
232
216
  request_set.import Gem.loaded_specs.values.map {|s| Gem::Dependency.new(s.name, s.version) }
233
217
 
@@ -344,7 +328,7 @@ module Gem
344
328
  ##
345
329
  # The path where gem executables are to be installed.
346
330
 
347
- def self.bindir(install_dir=Gem.dir)
331
+ def self.bindir(install_dir = Gem.dir)
348
332
  return File.join install_dir, "bin" unless
349
333
  install_dir.to_s == Gem.default_dir.to_s
350
334
  Gem.default_bindir
@@ -353,7 +337,7 @@ module Gem
353
337
  ##
354
338
  # The path were rubygems plugins are to be installed.
355
339
 
356
- def self.plugindir(install_dir=Gem.dir)
340
+ def self.plugindir(install_dir = Gem.dir)
357
341
  File.join install_dir, "plugins"
358
342
  end
359
343
 
@@ -537,7 +521,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
537
521
  # Note that find_files will return all files even if they are from different
538
522
  # versions of the same gem. See also find_latest_files
539
523
 
540
- def self.find_files(glob, check_load_path=true)
524
+ def self.find_files(glob, check_load_path = true)
541
525
  files = []
542
526
 
543
527
  files = find_files_from_load_path glob if check_load_path
@@ -574,7 +558,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
574
558
  # Unlike find_files, find_latest_files will return only files from the
575
559
  # latest version of a gem.
576
560
 
577
- def self.find_latest_files(glob, check_load_path=true)
561
+ def self.find_latest_files(glob, check_load_path = true)
578
562
  files = []
579
563
 
580
564
  files = find_files_from_load_path glob if check_load_path
@@ -1094,18 +1078,6 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
1094
1078
  self.paths = hash
1095
1079
  end
1096
1080
 
1097
- ##
1098
- # Is this a windows platform?
1099
-
1100
- def self.win_platform?
1101
- if @@win_platform.nil?
1102
- ruby_platform = RbConfig::CONFIG["host_os"]
1103
- @@win_platform = !WIN_PATTERNS.find {|r| ruby_platform =~ r }.nil?
1104
- end
1105
-
1106
- @@win_platform
1107
- end
1108
-
1109
1081
  ##
1110
1082
  # Is this a java platform?
1111
1083
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "rubygems-update"
5
- s.version = "3.7.2"
5
+ s.version = "4.0.0.beta1"
6
6
  s.authors = ["Jim Weirich", "Chad Fowler", "Eric Hodel", "Luis Lavena", "Aaron Patterson", "Samuel Giddins", "André Arko", "Evan Phoenix", "Hiroshi SHIBATA"]
7
7
  s.email = ["", "", "drbrain@segment7.net", "luislavena@gmail.com", "aaron@tenderlovemaking.com", "segiddins@segiddins.me", "andre@arko.net", "evan@phx.io", "hsbt@ruby-lang.org"]
8
8
 
@@ -15,9 +15,9 @@ Gem::Specification.new do |s|
15
15
  developers. See our guide on publishing a Gem at guides.rubygems.org"
16
16
  s.homepage = "https://guides.rubygems.org"
17
17
  s.metadata = {
18
- "source_code_uri" => "https://github.com/rubygems/rubygems",
19
- "bug_tracker_uri" => "https://github.com/rubygems/rubygems/issues",
20
- "changelog_uri" => "https://github.com/rubygems/rubygems/blob/master/CHANGELOG.md",
18
+ "source_code_uri" => "https://github.com/ruby/rubygems",
19
+ "bug_tracker_uri" => "https://github.com/ruby/rubygems/issues",
20
+ "changelog_uri" => "https://github.com/ruby/rubygems/blob/master/CHANGELOG.md",
21
21
  "funding_uri" => "https://rubycentral.org/#/portal/signup",
22
22
  }
23
23
  s.licenses = ["Ruby", "MIT"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubygems-update
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.2
4
+ version: 4.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -60,7 +60,6 @@ extra_rdoc_files:
60
60
  - bundler/lib/bundler/man/bundle-help.1
61
61
  - bundler/lib/bundler/man/bundle-info.1
62
62
  - bundler/lib/bundler/man/bundle-init.1
63
- - bundler/lib/bundler/man/bundle-inject.1
64
63
  - bundler/lib/bundler/man/bundle-install.1
65
64
  - bundler/lib/bundler/man/bundle-issue.1
66
65
  - bundler/lib/bundler/man/bundle-licenses.1
@@ -75,7 +74,6 @@ extra_rdoc_files:
75
74
  - bundler/lib/bundler/man/bundle-show.1
76
75
  - bundler/lib/bundler/man/bundle-update.1
77
76
  - bundler/lib/bundler/man/bundle-version.1
78
- - bundler/lib/bundler/man/bundle-viz.1
79
77
  - bundler/lib/bundler/man/bundle.1
80
78
  - doc/MAINTAINERS.txt
81
79
  - doc/rubygems/CONTRIBUTING.md
@@ -120,7 +118,6 @@ files:
120
118
  - bundler/lib/bundler/cli/gem.rb
121
119
  - bundler/lib/bundler/cli/info.rb
122
120
  - bundler/lib/bundler/cli/init.rb
123
- - bundler/lib/bundler/cli/inject.rb
124
121
  - bundler/lib/bundler/cli/install.rb
125
122
  - bundler/lib/bundler/cli/issue.rb
126
123
  - bundler/lib/bundler/cli/list.rb
@@ -133,7 +130,6 @@ files:
133
130
  - bundler/lib/bundler/cli/remove.rb
134
131
  - bundler/lib/bundler/cli/show.rb
135
132
  - bundler/lib/bundler/cli/update.rb
136
- - bundler/lib/bundler/cli/viz.rb
137
133
  - bundler/lib/bundler/compact_index_client.rb
138
134
  - bundler/lib/bundler/compact_index_client/cache.rb
139
135
  - bundler/lib/bundler/compact_index_client/cache_file.rb
@@ -164,7 +160,6 @@ files:
164
160
  - bundler/lib/bundler/gem_helper.rb
165
161
  - bundler/lib/bundler/gem_tasks.rb
166
162
  - bundler/lib/bundler/gem_version_promoter.rb
167
- - bundler/lib/bundler/graph.rb
168
163
  - bundler/lib/bundler/index.rb
169
164
  - bundler/lib/bundler/injector.rb
170
165
  - bundler/lib/bundler/inline.rb
@@ -206,8 +201,6 @@ files:
206
201
  - bundler/lib/bundler/man/bundle-info.1.ronn
207
202
  - bundler/lib/bundler/man/bundle-init.1
208
203
  - bundler/lib/bundler/man/bundle-init.1.ronn
209
- - bundler/lib/bundler/man/bundle-inject.1
210
- - bundler/lib/bundler/man/bundle-inject.1.ronn
211
204
  - bundler/lib/bundler/man/bundle-install.1
212
205
  - bundler/lib/bundler/man/bundle-install.1.ronn
213
206
  - bundler/lib/bundler/man/bundle-issue.1
@@ -236,8 +229,6 @@ files:
236
229
  - bundler/lib/bundler/man/bundle-update.1.ronn
237
230
  - bundler/lib/bundler/man/bundle-version.1
238
231
  - bundler/lib/bundler/man/bundle-version.1.ronn
239
- - bundler/lib/bundler/man/bundle-viz.1
240
- - bundler/lib/bundler/man/bundle-viz.1.ronn
241
232
  - bundler/lib/bundler/man/bundle.1
242
233
  - bundler/lib/bundler/man/bundle.1.ronn
243
234
  - bundler/lib/bundler/man/gemfile.5
@@ -282,7 +273,6 @@ files:
282
273
  - bundler/lib/bundler/settings/validator.rb
283
274
  - bundler/lib/bundler/setup.rb
284
275
  - bundler/lib/bundler/shared_helpers.rb
285
- - bundler/lib/bundler/similarity_detector.rb
286
276
  - bundler/lib/bundler/source.rb
287
277
  - bundler/lib/bundler/source/gemspec.rb
288
278
  - bundler/lib/bundler/source/git.rb
@@ -314,8 +304,12 @@ files:
314
304
  - bundler/lib/bundler/templates/newgem/exe/newgem.tt
315
305
  - bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt
316
306
  - bundler/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt
307
+ - bundler/lib/bundler/templates/newgem/ext/newgem/extconf-go.rb.tt
317
308
  - bundler/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt
309
+ - bundler/lib/bundler/templates/newgem/ext/newgem/go.mod.tt
310
+ - bundler/lib/bundler/templates/newgem/ext/newgem/newgem-go.c.tt
318
311
  - bundler/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt
312
+ - bundler/lib/bundler/templates/newgem/ext/newgem/newgem.go.tt
319
313
  - bundler/lib/bundler/templates/newgem/ext/newgem/newgem.h.tt
320
314
  - bundler/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt
321
315
  - bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt
@@ -476,7 +470,6 @@ files:
476
470
  - lib/rubygems/commands/owner_command.rb
477
471
  - lib/rubygems/commands/pristine_command.rb
478
472
  - lib/rubygems/commands/push_command.rb
479
- - lib/rubygems/commands/query_command.rb
480
473
  - lib/rubygems/commands/rdoc_command.rb
481
474
  - lib/rubygems/commands/rebuild_command.rb
482
475
  - lib/rubygems/commands/search_command.rb
@@ -492,7 +485,6 @@ files:
492
485
  - lib/rubygems/commands/update_command.rb
493
486
  - lib/rubygems/commands/which_command.rb
494
487
  - lib/rubygems/commands/yank_command.rb
495
- - lib/rubygems/compatibility.rb
496
488
  - lib/rubygems/config_file.rb
497
489
  - lib/rubygems/core_ext/kernel_gem.rb
498
490
  - lib/rubygems/core_ext/kernel_require.rb
@@ -521,7 +513,6 @@ files:
521
513
  - lib/rubygems/gemcutter_utilities/webauthn_listener/response.rb
522
514
  - lib/rubygems/gemcutter_utilities/webauthn_poller.rb
523
515
  - lib/rubygems/gemspec_helpers.rb
524
- - lib/rubygems/install_default_message.rb
525
516
  - lib/rubygems/install_message.rb
526
517
  - lib/rubygems/install_update_options.rb
527
518
  - lib/rubygems/installer.rb
@@ -702,6 +693,7 @@ files:
702
693
  - lib/rubygems/vendored_tsort.rb
703
694
  - lib/rubygems/version.rb
704
695
  - lib/rubygems/version_option.rb
696
+ - lib/rubygems/win_platform.rb
705
697
  - lib/rubygems/yaml_serializer.rb
706
698
  - rubygems-update.gemspec
707
699
  - setup.rb
@@ -710,9 +702,9 @@ licenses:
710
702
  - Ruby
711
703
  - MIT
712
704
  metadata:
713
- source_code_uri: https://github.com/rubygems/rubygems
714
- bug_tracker_uri: https://github.com/rubygems/rubygems/issues
715
- changelog_uri: https://github.com/rubygems/rubygems/blob/master/CHANGELOG.md
705
+ source_code_uri: https://github.com/ruby/rubygems
706
+ bug_tracker_uri: https://github.com/ruby/rubygems/issues
707
+ changelog_uri: https://github.com/ruby/rubygems/blob/master/CHANGELOG.md
716
708
  funding_uri: https://rubycentral.org/#/portal/signup
717
709
  rdoc_options:
718
710
  - "--main"
@@ -731,7 +723,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
731
723
  - !ruby/object:Gem::Version
732
724
  version: '0'
733
725
  requirements: []
734
- rubygems_version: 3.7.2
726
+ rubygems_version: 3.6.9
735
727
  specification_version: 4
736
728
  summary: RubyGems is a package management framework for Ruby. This gem is downloaded
737
729
  and installed by `gem update --system`, so that the `gem` CLI can update itself.