rubygems-update 3.7.1 → 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 (219) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1434 -1317
  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 +1001 -902
  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/checksum.rb +6 -0
  12. data/bundler/lib/bundler/cli/cache.rb +1 -12
  13. data/bundler/lib/bundler/cli/common.rb +21 -4
  14. data/bundler/lib/bundler/cli/config.rb +1 -2
  15. data/bundler/lib/bundler/cli/console.rb +5 -0
  16. data/bundler/lib/bundler/cli/exec.rb +29 -4
  17. data/bundler/lib/bundler/cli/gem.rb +19 -33
  18. data/bundler/lib/bundler/cli/install.rb +7 -84
  19. data/bundler/lib/bundler/cli/issue.rb +2 -2
  20. data/bundler/lib/bundler/cli/list.rb +33 -2
  21. data/bundler/lib/bundler/cli/lock.rb +5 -5
  22. data/bundler/lib/bundler/cli/plugin.rb +5 -1
  23. data/bundler/lib/bundler/cli/show.rb +3 -7
  24. data/bundler/lib/bundler/cli/update.rb +3 -3
  25. data/bundler/lib/bundler/cli.rb +97 -95
  26. data/bundler/lib/bundler/compact_index_client.rb +0 -1
  27. data/bundler/lib/bundler/current_ruby.rb +3 -15
  28. data/bundler/lib/bundler/definition.rb +122 -95
  29. data/bundler/lib/bundler/deployment.rb +1 -64
  30. data/bundler/lib/bundler/digest.rb +1 -1
  31. data/bundler/lib/bundler/dsl.rb +14 -36
  32. data/bundler/lib/bundler/endpoint_specification.rb +0 -22
  33. data/bundler/lib/bundler/errors.rb +1 -5
  34. data/bundler/lib/bundler/feature_flag.rb +0 -33
  35. data/bundler/lib/bundler/fetcher/compact_index.rb +1 -1
  36. data/bundler/lib/bundler/friendly_errors.rb +2 -2
  37. data/bundler/lib/bundler/index.rb +0 -7
  38. data/bundler/lib/bundler/inline.rb +1 -1
  39. data/bundler/lib/bundler/installer/gem_installer.rb +0 -11
  40. data/bundler/lib/bundler/installer.rb +0 -6
  41. data/bundler/lib/bundler/lockfile_generator.rb +1 -1
  42. data/bundler/lib/bundler/lockfile_parser.rb +2 -12
  43. data/bundler/lib/bundler/man/bundle-add.1 +1 -1
  44. data/bundler/lib/bundler/man/bundle-binstubs.1 +3 -6
  45. data/bundler/lib/bundler/man/bundle-binstubs.1.ronn +4 -6
  46. data/bundler/lib/bundler/man/bundle-cache.1 +2 -14
  47. data/bundler/lib/bundler/man/bundle-cache.1.ronn +1 -14
  48. data/bundler/lib/bundler/man/bundle-check.1 +2 -5
  49. data/bundler/lib/bundler/man/bundle-check.1.ronn +0 -5
  50. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  51. data/bundler/lib/bundler/man/bundle-config.1 +36 -46
  52. data/bundler/lib/bundler/man/bundle-config.1.ronn +69 -75
  53. data/bundler/lib/bundler/man/bundle-console.1 +1 -1
  54. data/bundler/lib/bundler/man/bundle-doctor.1 +4 -4
  55. data/bundler/lib/bundler/man/bundle-doctor.1.ronn +4 -4
  56. data/bundler/lib/bundler/man/bundle-env.1 +1 -1
  57. data/bundler/lib/bundler/man/bundle-exec.1 +2 -5
  58. data/bundler/lib/bundler/man/bundle-exec.1.ronn +1 -5
  59. data/bundler/lib/bundler/man/bundle-fund.1 +1 -1
  60. data/bundler/lib/bundler/man/bundle-gem.1 +3 -6
  61. data/bundler/lib/bundler/man/bundle-gem.1.ronn +2 -5
  62. data/bundler/lib/bundler/man/bundle-help.1 +1 -1
  63. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  64. data/bundler/lib/bundler/man/bundle-init.1 +1 -1
  65. data/bundler/lib/bundler/man/bundle-install.1 +8 -59
  66. data/bundler/lib/bundler/man/bundle-install.1.ronn +12 -107
  67. data/bundler/lib/bundler/man/bundle-issue.1 +1 -1
  68. data/bundler/lib/bundler/man/bundle-licenses.1 +1 -1
  69. data/bundler/lib/bundler/man/bundle-list.1 +6 -1
  70. data/bundler/lib/bundler/man/bundle-list.1.ronn +5 -0
  71. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  72. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  73. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  74. data/bundler/lib/bundler/man/bundle-platform.1 +1 -1
  75. data/bundler/lib/bundler/man/bundle-plugin.1 +33 -15
  76. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +36 -15
  77. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  78. data/bundler/lib/bundler/man/bundle-remove.1 +2 -8
  79. data/bundler/lib/bundler/man/bundle-remove.1.ronn +1 -8
  80. data/bundler/lib/bundler/man/bundle-show.1 +2 -5
  81. data/bundler/lib/bundler/man/bundle-show.1.ronn +0 -4
  82. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  83. data/bundler/lib/bundler/man/bundle-version.1 +1 -1
  84. data/bundler/lib/bundler/man/bundle.1 +1 -10
  85. data/bundler/lib/bundler/man/bundle.1.ronn +0 -9
  86. data/bundler/lib/bundler/man/gemfile.5 +1 -1
  87. data/bundler/lib/bundler/man/index.txt +0 -2
  88. data/bundler/lib/bundler/materialization.rb +1 -1
  89. data/bundler/lib/bundler/plugin/installer.rb +0 -10
  90. data/bundler/lib/bundler/plugin/source_list.rb +1 -1
  91. data/bundler/lib/bundler/plugin.rb +1 -1
  92. data/bundler/lib/bundler/resolver/package.rb +1 -0
  93. data/bundler/lib/bundler/resolver.rb +1 -1
  94. data/bundler/lib/bundler/ruby_dsl.rb +2 -0
  95. data/bundler/lib/bundler/ruby_version.rb +1 -3
  96. data/bundler/lib/bundler/rubygems_ext.rb +1 -1
  97. data/bundler/lib/bundler/rubygems_gem_installer.rb +1 -1
  98. data/bundler/lib/bundler/rubygems_integration.rb +1 -5
  99. data/bundler/lib/bundler/self_manager.rb +1 -1
  100. data/bundler/lib/bundler/settings.rb +8 -27
  101. data/bundler/lib/bundler/shared_helpers.rb +8 -20
  102. data/bundler/lib/bundler/source/gemspec.rb +4 -0
  103. data/bundler/lib/bundler/source/git/git_proxy.rb +3 -11
  104. data/bundler/lib/bundler/source/git.rb +2 -3
  105. data/bundler/lib/bundler/source/path.rb +5 -7
  106. data/bundler/lib/bundler/source/rubygems.rb +11 -17
  107. data/bundler/lib/bundler/source.rb +1 -1
  108. data/bundler/lib/bundler/source_list.rb +4 -45
  109. data/bundler/lib/bundler/source_map.rb +2 -5
  110. data/bundler/lib/bundler/spec_set.rb +6 -15
  111. data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +7 -129
  112. data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +12 -0
  113. data/bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +1 -1
  114. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf-go.rb.tt +11 -0
  115. data/bundler/lib/bundler/templates/newgem/ext/newgem/go.mod.tt +5 -0
  116. data/bundler/lib/bundler/templates/newgem/ext/newgem/newgem-go.c.tt +2 -0
  117. data/bundler/lib/bundler/templates/newgem/ext/newgem/newgem.go.tt +31 -0
  118. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +6 -0
  119. data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
  120. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +7 -4
  121. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +26 -23
  122. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
  123. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +50 -6
  124. data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +57 -52
  125. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +5 -2
  126. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +42 -6
  127. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/options.rb +1 -1
  128. data/bundler/lib/bundler/vendor/thor/lib/thor/runner.rb +2 -2
  129. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +3 -7
  130. data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  131. data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +57 -15
  132. data/bundler/lib/bundler/vendor/uri/lib/uri/file.rb +1 -1
  133. data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +34 -21
  134. data/bundler/lib/bundler/vendor/uri/lib/uri/http.rb +12 -0
  135. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +9 -8
  136. data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +2 -2
  137. data/bundler/lib/bundler/version.rb +1 -1
  138. data/bundler/lib/bundler/vlad.rb +1 -14
  139. data/bundler/lib/bundler.rb +6 -28
  140. data/doc/MAINTAINERS.txt +0 -7
  141. data/doc/bundler/UPGRADING.md +11 -27
  142. data/doc/rubygems/CONTRIBUTING.md +1 -1
  143. data/lib/rubygems/basic_specification.rb +3 -9
  144. data/lib/rubygems/bundler_version_finder.rb +1 -0
  145. data/lib/rubygems/command.rb +1 -1
  146. data/lib/rubygems/command_manager.rb +3 -4
  147. data/lib/rubygems/commands/build_command.rb +0 -7
  148. data/lib/rubygems/commands/cert_command.rb +1 -1
  149. data/lib/rubygems/commands/install_command.rb +1 -5
  150. data/lib/rubygems/commands/setup_command.rb +5 -3
  151. data/lib/rubygems/commands/sources_command.rb +122 -18
  152. data/lib/rubygems/config_file.rb +1 -1
  153. data/lib/rubygems/defaults.rb +1 -1
  154. data/lib/rubygems/dependency.rb +1 -1
  155. data/lib/rubygems/dependency_installer.rb +0 -77
  156. data/lib/rubygems/dependency_list.rb +1 -2
  157. data/lib/rubygems/deprecate.rb +74 -72
  158. data/lib/rubygems/doctor.rb +1 -1
  159. data/lib/rubygems/errors.rb +1 -1
  160. data/lib/rubygems/exceptions.rb +5 -15
  161. data/lib/rubygems/ext/builder.rb +6 -2
  162. data/lib/rubygems/ext/cargo_builder.rb +2 -2
  163. data/lib/rubygems/ext/cmake_builder.rb +97 -8
  164. data/lib/rubygems/ext/configure_builder.rb +2 -2
  165. data/lib/rubygems/ext/ext_conf_builder.rb +6 -2
  166. data/lib/rubygems/ext/rake_builder.rb +2 -2
  167. data/lib/rubygems/gem_runner.rb +0 -1
  168. data/lib/rubygems/install_update_options.rb +1 -2
  169. data/lib/rubygems/installer.rb +16 -54
  170. data/lib/rubygems/name_tuple.rb +7 -1
  171. data/lib/rubygems/package/tar_header.rb +4 -4
  172. data/lib/rubygems/package/tar_reader.rb +2 -0
  173. data/lib/rubygems/package/tar_writer.rb +1 -1
  174. data/lib/rubygems/package.rb +21 -12
  175. data/lib/rubygems/platform.rb +31 -11
  176. data/lib/rubygems/remote_fetcher.rb +8 -5
  177. data/lib/rubygems/resolver/conflict.rb +1 -1
  178. data/lib/rubygems/resolver.rb +1 -1
  179. data/lib/rubygems/s3_uri_signer.rb +54 -7
  180. data/lib/rubygems/security/signer.rb +1 -1
  181. data/lib/rubygems/source.rb +2 -2
  182. data/lib/rubygems/source_list.rb +36 -0
  183. data/lib/rubygems/spec_fetcher.rb +4 -4
  184. data/lib/rubygems/specification.rb +5 -96
  185. data/lib/rubygems/specification_policy.rb +0 -36
  186. data/lib/rubygems/specification_record.rb +1 -1
  187. data/lib/rubygems/text.rb +1 -1
  188. data/lib/rubygems/uninstaller.rb +17 -6
  189. data/lib/rubygems/user_interaction.rb +6 -9
  190. data/lib/rubygems/util.rb +0 -22
  191. data/lib/rubygems/validator.rb +1 -1
  192. data/lib/rubygems/vendor/net-http/lib/net/http/generic_request.rb +25 -9
  193. data/lib/rubygems/vendor/net-http/lib/net/http/responses.rb +2 -2
  194. data/lib/rubygems/vendor/net-http/lib/net/http.rb +14 -14
  195. data/lib/rubygems/vendor/optparse/lib/optparse.rb +82 -41
  196. data/lib/rubygems/vendor/resolv/lib/resolv.rb +1 -1
  197. data/lib/rubygems/vendor/timeout/lib/timeout.rb +4 -1
  198. data/lib/rubygems/vendor/uri/lib/uri/common.rb +57 -15
  199. data/lib/rubygems/vendor/uri/lib/uri/file.rb +1 -1
  200. data/lib/rubygems/vendor/uri/lib/uri/generic.rb +34 -21
  201. data/lib/rubygems/vendor/uri/lib/uri/http.rb +12 -0
  202. data/lib/rubygems/vendor/uri/lib/uri/rfc2396_parser.rb +9 -8
  203. data/lib/rubygems/vendor/uri/lib/uri/version.rb +2 -2
  204. data/lib/rubygems/version.rb +2 -17
  205. data/lib/rubygems/win_platform.rb +31 -0
  206. data/lib/rubygems.rb +10 -38
  207. data/rubygems-update.gemspec +4 -4
  208. metadata +10 -18
  209. data/bundler/lib/bundler/cli/inject.rb +0 -60
  210. data/bundler/lib/bundler/cli/viz.rb +0 -31
  211. data/bundler/lib/bundler/graph.rb +0 -152
  212. data/bundler/lib/bundler/man/bundle-inject.1 +0 -31
  213. data/bundler/lib/bundler/man/bundle-inject.1.ronn +0 -32
  214. data/bundler/lib/bundler/man/bundle-viz.1 +0 -30
  215. data/bundler/lib/bundler/man/bundle-viz.1.ronn +0 -36
  216. data/bundler/lib/bundler/similarity_detector.rb +0 -63
  217. data/lib/rubygems/commands/query_command.rb +0 -43
  218. data/lib/rubygems/compatibility.rb +0 -41
  219. data/lib/rubygems/install_default_message.rb +0 -13
@@ -1,63 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Bundler
4
- class SimilarityDetector
5
- SimilarityScore = Struct.new(:string, :distance)
6
-
7
- # initialize with an array of words to be matched against
8
- def initialize(corpus)
9
- @corpus = corpus
10
- end
11
-
12
- # return an array of words similar to 'word' from the corpus
13
- def similar_words(word, limit = 3)
14
- words_by_similarity = @corpus.map {|w| SimilarityScore.new(w, levenshtein_distance(word, w)) }
15
- words_by_similarity.select {|s| s.distance <= limit }.sort_by(&:distance).map(&:string)
16
- end
17
-
18
- # return the result of 'similar_words', concatenated into a list
19
- # (eg "a, b, or c")
20
- def similar_word_list(word, limit = 3)
21
- words = similar_words(word, limit)
22
- if words.length == 1
23
- words[0]
24
- elsif words.length > 1
25
- [words[0..-2].join(", "), words[-1]].join(" or ")
26
- end
27
- end
28
-
29
- protected
30
-
31
- # https://www.informit.com/articles/article.aspx?p=683059&seqNum=36
32
- def levenshtein_distance(this, that, ins = 2, del = 2, sub = 1)
33
- # ins, del, sub are weighted costs
34
- return nil if this.nil?
35
- return nil if that.nil?
36
- dm = [] # distance matrix
37
-
38
- # Initialize first row values
39
- dm[0] = (0..this.length).collect {|i| i * ins }
40
- fill = [0] * (this.length - 1)
41
-
42
- # Initialize first column values
43
- (1..that.length).each do |i|
44
- dm[i] = [i * del, fill.flatten]
45
- end
46
-
47
- # populate matrix
48
- (1..that.length).each do |i|
49
- (1..this.length).each do |j|
50
- # critical comparison
51
- dm[i][j] = [
52
- dm[i - 1][j - 1] + (this[j - 1] == that[i - 1] ? 0 : sub),
53
- dm[i][j - 1] + ins,
54
- dm[i - 1][j] + del,
55
- ].min
56
- end
57
- end
58
-
59
- # The last value in matrix is the Levenshtein distance between the strings
60
- dm[that.length][this.length]
61
- end
62
- end
63
- end
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../command"
4
- require_relative "../query_utils"
5
- require_relative "../deprecate"
6
-
7
- class Gem::Commands::QueryCommand < Gem::Command
8
- extend Gem::Deprecate
9
- rubygems_deprecate_command
10
-
11
- include Gem::QueryUtils
12
-
13
- alias_method :warning_without_suggested_alternatives, :deprecation_warning
14
- def deprecation_warning
15
- warning_without_suggested_alternatives
16
-
17
- message = "It is recommended that you use `gem search` or `gem list` instead.\n"
18
- alert_warning message unless Gem::Deprecate.skip
19
- end
20
-
21
- def initialize(name = "query", summary = "Query gem information in local or remote repositories")
22
- super name, summary,
23
- domain: :local, details: false, versions: true,
24
- installed: nil, version: Gem::Requirement.default
25
-
26
- add_option("-n", "--name-matches REGEXP",
27
- "Name of gem(s) to query on matches the",
28
- "provided REGEXP") do |value, options|
29
- options[:name] = /#{value}/i
30
- end
31
-
32
- add_query_options
33
- end
34
-
35
- def description # :nodoc:
36
- <<-EOF
37
- The query command is the basis for the list and search commands.
38
-
39
- You should really use the list and search commands instead. This command
40
- is too hard to use.
41
- EOF
42
- end
43
- end
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- #--
4
- # This file contains all sorts of little compatibility hacks that we've
5
- # had to introduce over the years. Quarantining them into one file helps
6
- # us know when we can get rid of them.
7
- #
8
- # Ruby 1.9.x has introduced some things that are awkward, and we need to
9
- # support them, so we define some constants to use later.
10
- #
11
- # TODO remove at RubyGems 4
12
- #++
13
-
14
- module Gem
15
- # :stopdoc:
16
-
17
- RubyGemsVersion = VERSION
18
- deprecate_constant(:RubyGemsVersion)
19
-
20
- RbConfigPriorities = %w[
21
- MAJOR
22
- MINOR
23
- TEENY
24
- EXEEXT RUBY_SO_NAME arch bindir datadir libdir ruby_install_name
25
- ruby_version rubylibprefix sitedir sitelibdir vendordir vendorlibdir
26
- rubylibdir
27
- ].freeze
28
-
29
- if defined?(ConfigMap)
30
- RbConfigPriorities.each do |key|
31
- ConfigMap[key.to_sym] = RbConfig::CONFIG[key]
32
- end
33
- else
34
- ##
35
- # Configuration settings from ::RbConfig
36
- ConfigMap = Hash.new do |cm, key|
37
- cm[key] = RbConfig::CONFIG[key.to_s]
38
- end
39
- deprecate_constant(:ConfigMap)
40
- end
41
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../rubygems"
4
- require_relative "user_interaction"
5
-
6
- ##
7
- # A post-install hook that displays "Successfully installed
8
- # some_gem-1.0 as a default gem"
9
-
10
- Gem.post_install do |installer|
11
- ui = Gem::DefaultUserInteraction.ui
12
- ui.say "Successfully installed #{installer.spec.full_name} as a default gem"
13
- end