bundler 2.2.6 → 2.2.11

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bundler might be problematic. Click here for more details.

Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +65 -0
  3. data/lib/bundler.rb +1 -1
  4. data/lib/bundler/build_metadata.rb +2 -2
  5. data/lib/bundler/cli.rb +1 -0
  6. data/lib/bundler/cli/cache.rb +1 -0
  7. data/lib/bundler/cli/gem.rb +12 -0
  8. data/lib/bundler/definition.rb +16 -25
  9. data/lib/bundler/feature_flag.rb +0 -1
  10. data/lib/bundler/fetcher.rb +0 -1
  11. data/lib/bundler/gem_helper.rb +8 -6
  12. data/lib/bundler/index.rb +6 -5
  13. data/lib/bundler/installer.rb +0 -17
  14. data/lib/bundler/installer/standalone.rb +15 -0
  15. data/lib/bundler/lazy_specification.rb +9 -18
  16. data/lib/bundler/man/bundle-add.1 +1 -1
  17. data/lib/bundler/man/bundle-binstubs.1 +1 -1
  18. data/lib/bundler/man/bundle-cache.1 +1 -1
  19. data/lib/bundler/man/bundle-check.1 +1 -1
  20. data/lib/bundler/man/bundle-clean.1 +1 -1
  21. data/lib/bundler/man/bundle-config.1 +8 -8
  22. data/lib/bundler/man/bundle-config.1.ronn +11 -10
  23. data/lib/bundler/man/bundle-doctor.1 +1 -1
  24. data/lib/bundler/man/bundle-exec.1 +1 -1
  25. data/lib/bundler/man/bundle-gem.1 +1 -1
  26. data/lib/bundler/man/bundle-info.1 +1 -1
  27. data/lib/bundler/man/bundle-init.1 +1 -1
  28. data/lib/bundler/man/bundle-inject.1 +1 -1
  29. data/lib/bundler/man/bundle-install.1 +1 -1
  30. data/lib/bundler/man/bundle-list.1 +1 -1
  31. data/lib/bundler/man/bundle-lock.1 +1 -1
  32. data/lib/bundler/man/bundle-open.1 +1 -1
  33. data/lib/bundler/man/bundle-outdated.1 +1 -1
  34. data/lib/bundler/man/bundle-platform.1 +1 -1
  35. data/lib/bundler/man/bundle-pristine.1 +1 -1
  36. data/lib/bundler/man/bundle-remove.1 +1 -1
  37. data/lib/bundler/man/bundle-show.1 +1 -1
  38. data/lib/bundler/man/bundle-update.1 +1 -1
  39. data/lib/bundler/man/bundle-viz.1 +1 -1
  40. data/lib/bundler/man/bundle.1 +1 -1
  41. data/lib/bundler/man/gemfile.5 +1 -1
  42. data/lib/bundler/resolver.rb +79 -45
  43. data/lib/bundler/resolver/spec_group.rb +54 -42
  44. data/lib/bundler/settings.rb +1 -1
  45. data/lib/bundler/shared_helpers.rb +2 -2
  46. data/lib/bundler/source/git.rb +1 -1
  47. data/lib/bundler/source/rubygems.rb +0 -1
  48. data/lib/bundler/source_list.rb +2 -4
  49. data/lib/bundler/spec_set.rb +4 -3
  50. data/lib/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
  51. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +7 -0
  52. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -1
  53. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +11 -5
  54. data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +2 -2
  55. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +11 -0
  56. data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +1 -1
  57. data/lib/bundler/vendor/thor/lib/thor.rb +5 -6
  58. data/lib/bundler/vendor/thor/lib/thor/actions.rb +1 -1
  59. data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +4 -2
  60. data/lib/bundler/vendor/thor/lib/thor/error.rb +1 -1
  61. data/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +5 -1
  62. data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +9 -8
  63. data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +5 -2
  64. data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +5 -1
  65. data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  66. data/lib/bundler/version.rb +1 -1
  67. metadata +4 -3
@@ -1,5 +1,5 @@
1
1
  class Bundler::Thor
2
- Correctable = if defined?(DidYouMean::SpellChecker) && defined?(DidYouMean::Correctable)
2
+ Correctable = if defined?(DidYouMean::SpellChecker) && defined?(DidYouMean::Correctable) # rubocop:disable Naming/ConstantName
3
3
  # In order to support versions of Ruby that don't have keyword
4
4
  # arguments, we need our own spell checker class that doesn't take key
5
5
  # words. Even though this code wouldn't be hit because of the check
@@ -30,7 +30,11 @@ class Bundler::Thor
30
30
 
31
31
  arguments.each do |argument|
32
32
  if !argument.default.nil?
33
- @assigns[argument.human_name] = argument.default
33
+ begin
34
+ @assigns[argument.human_name] = argument.default.dup
35
+ rescue TypeError # Compatibility shim for un-dup-able Fixnum in Ruby < 2.4
36
+ @assigns[argument.human_name] = argument.default
37
+ end
34
38
  elsif argument.required?
35
39
  @non_assigned_required << argument
36
40
  end
@@ -133,15 +133,16 @@ class Bundler::Thor
133
133
 
134
134
  protected
135
135
 
136
- def assign_result!(option, result)
137
- if option.repeatable && option.type == :hash
138
- (@assigns[option.human_name] ||= {}).merge!(result)
139
- elsif option.repeatable
140
- (@assigns[option.human_name] ||= []) << result
141
- else
142
- @assigns[option.human_name] = result
136
+ def assign_result!(option, result)
137
+ if option.repeatable && option.type == :hash
138
+ (@assigns[option.human_name] ||= {}).merge!(result)
139
+ elsif option.repeatable
140
+ (@assigns[option.human_name] ||= []) << result
141
+ else
142
+ @assigns[option.human_name] = result
143
+ end
143
144
  end
144
- end
145
+
145
146
  # Check if the current value in peek is a registered switch.
146
147
  #
147
148
  # Two booleans are returned. The first is true if the current value
@@ -94,6 +94,8 @@ class Bundler::Thor
94
94
  # say("I know you knew that.")
95
95
  #
96
96
  def say(message = "", color = nil, force_new_line = (message.to_s !~ /( |\t)\Z/))
97
+ return if quiet?
98
+
97
99
  buffer = prepare_message(message, *color)
98
100
  buffer << "\n" if force_new_line && !message.to_s.end_with?("\n")
99
101
 
@@ -230,8 +232,9 @@ class Bundler::Thor
230
232
  paras = message.split("\n\n")
231
233
 
232
234
  paras.map! do |unwrapped|
233
- counter = 0
234
- unwrapped.split(" ").inject do |memo, word|
235
+ words = unwrapped.split(" ")
236
+ counter = words.first.length
237
+ words.inject do |memo, word|
235
238
  word = word.gsub(/\n\005/, "\n").gsub(/\005/, "\n")
236
239
  counter = 0 if word.include? "\n"
237
240
  if (counter + word.length + 1) < width
@@ -97,7 +97,11 @@ class Bundler::Thor
97
97
  protected
98
98
 
99
99
  def can_display_colors?
100
- stdout.tty? && !are_colors_disabled?
100
+ are_colors_supported? && !are_colors_disabled?
101
+ end
102
+
103
+ def are_colors_supported?
104
+ stdout.tty? && ENV["TERM"] != "dumb"
101
105
  end
102
106
 
103
107
  def are_colors_disabled?
@@ -1,3 +1,3 @@
1
1
  class Bundler::Thor
2
- VERSION = "1.0.1"
2
+ VERSION = "1.1.0"
3
3
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Bundler
4
- VERSION = "2.2.6".freeze
4
+ VERSION = "2.2.11".freeze
5
5
 
6
6
  def self.bundler_major_version
7
7
  @bundler_major_version ||= VERSION.split(".").first.to_i
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bundler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.6
4
+ version: 2.2.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - André Arko
@@ -22,7 +22,7 @@ authors:
22
22
  autorequire:
23
23
  bindir: exe
24
24
  cert_chain: []
25
- date: 2021-01-19 00:00:00.000000000 Z
25
+ date: 2021-02-17 00:00:00.000000000 Z
26
26
  dependencies: []
27
27
  description: Bundler manages an application's dependencies through its entire life,
28
28
  across many machines, systematically and repeatably
@@ -211,6 +211,7 @@ files:
211
211
  - lib/bundler/templates/Executable.standalone
212
212
  - lib/bundler/templates/Gemfile
213
213
  - lib/bundler/templates/gems.rb
214
+ - lib/bundler/templates/newgem/CHANGELOG.md.tt
214
215
  - lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt
215
216
  - lib/bundler/templates/newgem/Gemfile.tt
216
217
  - lib/bundler/templates/newgem/LICENSE.txt.tt
@@ -351,7 +352,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
351
352
  - !ruby/object:Gem::Version
352
353
  version: 2.5.2
353
354
  requirements: []
354
- rubygems_version: 3.3.0.dev
355
+ rubygems_version: 3.2.11
355
356
  signing_key:
356
357
  specification_version: 4
357
358
  summary: The best way to manage your application's dependencies