bundler 2.2.2 → 2.2.7

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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +67 -2
  3. data/bundler.gemspec +1 -1
  4. data/lib/bundler.rb +3 -7
  5. data/lib/bundler/build_metadata.rb +2 -2
  6. data/lib/bundler/cli.rb +2 -5
  7. data/lib/bundler/cli/cache.rb +1 -0
  8. data/lib/bundler/cli/gem.rb +2 -0
  9. data/lib/bundler/cli/update.rb +1 -1
  10. data/lib/bundler/compact_index_client/cache.rb +5 -13
  11. data/lib/bundler/compact_index_client/gem_parser.rb +28 -0
  12. data/lib/bundler/compact_index_client/updater.rb +0 -8
  13. data/lib/bundler/definition.rb +29 -21
  14. data/lib/bundler/dep_proxy.rb +15 -8
  15. data/lib/bundler/feature_flag.rb +0 -1
  16. data/lib/bundler/fetcher.rb +0 -1
  17. data/lib/bundler/gem_helper.rb +9 -7
  18. data/lib/bundler/gem_helpers.rb +30 -24
  19. data/lib/bundler/gem_version_promoter.rb +2 -2
  20. data/lib/bundler/installer.rb +0 -17
  21. data/lib/bundler/installer/standalone.rb +14 -0
  22. data/lib/bundler/lazy_specification.rb +10 -11
  23. data/{man → lib/bundler/man}/bundle-add.1 +1 -1
  24. data/{man → lib/bundler/man}/bundle-binstubs.1 +1 -1
  25. data/{man → lib/bundler/man}/bundle-cache.1 +1 -1
  26. data/{man → lib/bundler/man}/bundle-check.1 +1 -1
  27. data/{man → lib/bundler/man}/bundle-clean.1 +1 -1
  28. data/{man → lib/bundler/man}/bundle-config.1 +4 -4
  29. data/lib/bundler/man/bundle-config.1.ronn +3 -3
  30. data/{man → lib/bundler/man}/bundle-doctor.1 +1 -1
  31. data/{man → lib/bundler/man}/bundle-exec.1 +1 -1
  32. data/{man → lib/bundler/man}/bundle-gem.1 +1 -1
  33. data/{man → lib/bundler/man}/bundle-info.1 +1 -1
  34. data/{man → lib/bundler/man}/bundle-init.1 +1 -1
  35. data/{man → lib/bundler/man}/bundle-inject.1 +1 -1
  36. data/{man → lib/bundler/man}/bundle-install.1 +1 -1
  37. data/{man → lib/bundler/man}/bundle-list.1 +1 -1
  38. data/{man → lib/bundler/man}/bundle-lock.1 +1 -1
  39. data/{man → lib/bundler/man}/bundle-open.1 +1 -1
  40. data/{man → lib/bundler/man}/bundle-outdated.1 +1 -1
  41. data/{man → lib/bundler/man}/bundle-platform.1 +1 -1
  42. data/{man → lib/bundler/man}/bundle-pristine.1 +1 -1
  43. data/{man → lib/bundler/man}/bundle-remove.1 +1 -1
  44. data/{man → lib/bundler/man}/bundle-show.1 +1 -1
  45. data/{man → lib/bundler/man}/bundle-update.1 +1 -1
  46. data/{man → lib/bundler/man}/bundle-viz.1 +1 -1
  47. data/{man → lib/bundler/man}/bundle.1 +1 -1
  48. data/{man → lib/bundler/man}/gemfile.5 +1 -1
  49. data/{man → lib/bundler/man}/index.txt +0 -0
  50. data/lib/bundler/resolver.rb +36 -16
  51. data/lib/bundler/resolver/spec_group.rb +18 -23
  52. data/lib/bundler/rubygems_ext.rb +16 -0
  53. data/lib/bundler/rubygems_integration.rb +0 -5
  54. data/lib/bundler/settings.rb +1 -1
  55. data/lib/bundler/source/git.rb +19 -17
  56. data/lib/bundler/source/git/git_proxy.rb +54 -49
  57. data/lib/bundler/source/path/installer.rb +2 -0
  58. data/lib/bundler/source/rubygems.rb +10 -2
  59. data/lib/bundler/spec_set.rb +6 -9
  60. data/lib/bundler/templates/newgem/Gemfile.tt +1 -1
  61. data/lib/bundler/templates/newgem/newgem.gemspec.tt +1 -1
  62. data/lib/bundler/templates/newgem/rubocop.yml.tt +3 -0
  63. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +7 -0
  64. data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +1 -1
  65. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +11 -0
  66. data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +11 -7
  67. data/lib/bundler/version.rb +1 -1
  68. metadata +30 -29
@@ -27,7 +27,6 @@ module Bundler
27
27
 
28
28
  (1..10).each {|v| define_method("bundler_#{v}_mode?") { major_version >= v } }
29
29
 
30
- settings_flag(:allow_bundler_dependency_conflicts) { bundler_3_mode? }
31
30
  settings_flag(:allow_offline_install) { bundler_3_mode? }
32
31
  settings_flag(:auto_clean_without_path) { bundler_3_mode? }
33
32
  settings_flag(:cache_all) { bundler_3_mode? }
@@ -137,7 +137,6 @@ module Bundler
137
137
  end
138
138
 
139
139
  specs.each do |name, version, platform, dependencies, metadata|
140
- next if name == "bundler"
141
140
  spec = if dependencies
142
141
  EndpointSpecification.new(name, version, platform, dependencies, metadata)
143
142
  else
@@ -116,19 +116,21 @@ module Bundler
116
116
 
117
117
  def git_push(remote = nil)
118
118
  remote ||= default_remote
119
- perform_git_push remote
120
- perform_git_push "#{remote} #{version_tag}"
119
+ perform_git_push "#{remote} refs/heads/#{current_branch}"
120
+ perform_git_push "#{remote} refs/tags/#{version_tag}"
121
121
  Bundler.ui.confirm "Pushed git commits and release tag."
122
122
  end
123
123
 
124
124
  def default_remote
125
- current_branch = sh(%w[git rev-parse --abbrev-ref HEAD]).strip
126
- return "origin" if current_branch.empty?
125
+ remote_for_branch, status = sh_with_status(%W[git config --get branch.#{current_branch}.remote])
126
+ return "origin" unless status.success?
127
127
 
128
- remote_for_branch = sh(%W[git config --get branch.#{current_branch}.remote]).strip
129
- return "origin" if remote_for_branch.empty?
128
+ remote_for_branch.strip
129
+ end
130
130
 
131
- remote_for_branch
131
+ def current_branch
132
+ # We can replace this with `git branch --show-current` once we drop support for git < 2.22.0
133
+ sh(%w[git rev-parse --abbrev-ref HEAD]).gsub(%r{\Aheads/}, "").strip
132
134
  end
133
135
 
134
136
  def allowed_push_host
@@ -35,41 +35,33 @@ module Bundler
35
35
 
36
36
  def platform_specificity_match(spec_platform, user_platform)
37
37
  spec_platform = Gem::Platform.new(spec_platform)
38
- return PlatformMatch::EXACT_MATCH if spec_platform == user_platform
39
- return PlatformMatch::WORST_MATCH if spec_platform.nil? || spec_platform == Gem::Platform::RUBY || user_platform == Gem::Platform::RUBY
40
-
41
- PlatformMatch.new(
42
- PlatformMatch.os_match(spec_platform, user_platform),
43
- PlatformMatch.cpu_match(spec_platform, user_platform),
44
- PlatformMatch.platform_version_match(spec_platform, user_platform)
45
- )
38
+
39
+ PlatformMatch.specificity_score(spec_platform, user_platform)
46
40
  end
47
41
  module_function :platform_specificity_match
48
42
 
49
43
  def select_best_platform_match(specs, platform)
50
- specs.select {|spec| spec.match_platform(platform) }.
51
- min_by {|spec| platform_specificity_match(spec.platform, platform) }
44
+ matching = specs.select {|spec| spec.match_platform(platform) }
45
+ exact = matching.select {|spec| spec.platform == platform }
46
+ return exact if exact.any?
47
+
48
+ sorted_matching = matching.sort_by {|spec| platform_specificity_match(spec.platform, platform) }
49
+ exemplary_spec = sorted_matching.first
50
+
51
+ sorted_matching.take_while{|spec| same_specificity(platform, spec, exemplary_spec) && same_deps(spec, exemplary_spec) }
52
52
  end
53
53
  module_function :select_best_platform_match
54
54
 
55
- PlatformMatch = Struct.new(:os_match, :cpu_match, :platform_version_match)
56
55
  class PlatformMatch
57
- def <=>(other)
58
- return nil unless other.is_a?(PlatformMatch)
56
+ def self.specificity_score(spec_platform, user_platform)
57
+ return -1 if spec_platform == user_platform
58
+ return 1_000_000 if spec_platform.nil? || spec_platform == Gem::Platform::RUBY || user_platform == Gem::Platform::RUBY
59
59
 
60
- m = os_match <=> other.os_match
61
- return m unless m.zero?
62
-
63
- m = cpu_match <=> other.cpu_match
64
- return m unless m.zero?
65
-
66
- m = platform_version_match <=> other.platform_version_match
67
- m
60
+ os_match(spec_platform, user_platform) +
61
+ cpu_match(spec_platform, user_platform) * 10 +
62
+ platform_version_match(spec_platform, user_platform) * 100
68
63
  end
69
64
 
70
- EXACT_MATCH = new(-1, -1, -1).freeze
71
- WORST_MATCH = new(1_000_000, 1_000_000, 1_000_000).freeze
72
-
73
65
  def self.os_match(spec_platform, user_platform)
74
66
  if spec_platform.os == user_platform.os
75
67
  0
@@ -100,5 +92,19 @@ module Bundler
100
92
  end
101
93
  end
102
94
  end
95
+
96
+ def same_specificity(platform, spec, exemplary_spec)
97
+ platform_specificity_match(spec.platform, platform) == platform_specificity_match(exemplary_spec.platform, platform)
98
+ end
99
+ module_function :same_specificity
100
+
101
+ def same_deps(spec, exemplary_spec)
102
+ same_runtime_deps = spec.dependencies.sort == exemplary_spec.dependencies.sort
103
+ return same_runtime_deps unless spec.is_a?(Gem::Specification) && exemplary_spec.is_a?(Gem::Specification)
104
+
105
+ same_metadata_deps = spec.required_ruby_version == exemplary_spec.required_ruby_version && spec.required_rubygems_version == exemplary_spec.required_rubygems_version
106
+ same_runtime_deps && same_metadata_deps
107
+ end
108
+ module_function :same_deps
103
109
  end
104
110
  end
@@ -81,8 +81,8 @@ module Bundler
81
81
  sort_dep_specs(spec_groups, locked_spec)
82
82
  end.tap do |specs|
83
83
  if DEBUG
84
- warn before_result
85
- warn " after sort_versions: #{debug_format_result(dep, specs).inspect}"
84
+ puts before_result
85
+ puts " after sort_versions: #{debug_format_result(dep, specs).inspect}"
86
86
  end
87
87
  end
88
88
  end
@@ -82,7 +82,6 @@ module Bundler
82
82
 
83
83
  if resolve_if_needed(options)
84
84
  ensure_specs_are_compatible!
85
- warn_on_incompatible_bundler_deps
86
85
  load_plugins
87
86
  options.delete(:jobs)
88
87
  else
@@ -265,22 +264,6 @@ module Bundler
265
264
  end
266
265
  end
267
266
 
268
- def warn_on_incompatible_bundler_deps
269
- bundler_version = Gem::Version.create(Bundler::VERSION)
270
- @definition.specs.each do |spec|
271
- spec.dependencies.each do |dep|
272
- next if dep.type == :development
273
- next unless dep.name == "bundler".freeze
274
- next if dep.requirement.satisfied_by?(bundler_version)
275
-
276
- Bundler.ui.warn "#{spec.name} (#{spec.version}) has dependency" \
277
- " #{SharedHelpers.pretty_dependency(dep)}" \
278
- ", which is unsatisfied by the current bundler version #{VERSION}" \
279
- ", so the dependency is being ignored"
280
- end
281
- end
282
- end
283
-
284
267
  def install_in_parallel(size, standalone, force = false)
285
268
  spec_installations = ParallelInstaller.call(self, @definition.specs, size, standalone, force)
286
269
  spec_installations.each do |installation|
@@ -15,6 +15,7 @@ module Bundler
15
15
  file.puts "ruby_engine = RUBY_ENGINE"
16
16
  file.puts "ruby_version = RbConfig::CONFIG[\"ruby_version\"]"
17
17
  file.puts "path = File.expand_path('..', __FILE__)"
18
+ file.puts reverse_rubygems_kernel_mixin
18
19
  paths.each do |path|
19
20
  file.puts %($:.unshift File.expand_path("\#{path}/#{path}"))
20
21
  end
@@ -48,5 +49,18 @@ module Bundler
48
49
  error_message = "#{spec.name} #{spec.version} has an invalid gemspec"
49
50
  raise Gem::InvalidSpecificationException.new(error_message)
50
51
  end
52
+
53
+ def reverse_rubygems_kernel_mixin
54
+ <<~END
55
+ kernel = (class << ::Kernel; self; end)
56
+ [kernel, ::Kernel].each do |k|
57
+ if k.private_method_defined?(:gem_original_require)
58
+ k.send(:remove_method, :require)
59
+ k.send(:define_method, :require, k.instance_method(:gem_original_require))
60
+ k.send(:private, :require)
61
+ end
62
+ end
63
+ END
64
+ end
51
65
  end
52
66
  end
@@ -4,7 +4,7 @@ require_relative "match_platform"
4
4
 
5
5
  module Bundler
6
6
  class LazySpecification
7
- Identifier = Struct.new(:name, :version, :source, :platform, :dependencies)
7
+ Identifier = Struct.new(:name, :version, :platform)
8
8
  class Identifier
9
9
  include Comparable
10
10
  def <=>(other)
@@ -108,7 +108,7 @@ module Bundler
108
108
  end
109
109
 
110
110
  def identifier
111
- @__identifier ||= Identifier.new(name, version, source, platform, dependencies)
111
+ @__identifier ||= Identifier.new(name, version, platform)
112
112
  end
113
113
 
114
114
  def git_version
@@ -131,17 +131,16 @@ module Bundler
131
131
  end
132
132
 
133
133
  #
134
- # Bundler 2.2.0 was the first version that records the full resolution
135
- # including platform specific gems in the lockfile, which means that if a
136
- # gem with RUBY platform is recorded, the RUBY platform version of the gem
137
- # should be installed. Previously bundler would record only generic versions
138
- # in the lockfile and then install the most specific platform variant if
139
- # available.
134
+ # For backwards compatibility with existing lockfiles, if the most specific
135
+ # locked platform is RUBY, we keep the previous behaviour of resolving the
136
+ # best platform variant at materiliazation time. For previous bundler
137
+ # versions (before 2.2.0) this was always the case (except when the lockfile
138
+ # only included non-ruby platforms), but we're also keeping this behaviour
139
+ # on newer bundlers unless users generate the lockfile from scratch or
140
+ # explicitly add a more specific platform.
140
141
  #
141
142
  def ruby_platform_materializes_to_ruby_platform?
142
- locked_bundler_version = Bundler.locked_bundler_version
143
-
144
- locked_bundler_version.nil? || Gem::Version.new(locked_bundler_version) >= Gem::Version.new("2.2.0")
143
+ !Bundler.most_specific_locked_platform?(Gem::Platform::RUBY) || Bundler.settings[:force_ruby_platform]
145
144
  end
146
145
  end
147
146
  end
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-ADD" "1" "November 2020" "" ""
4
+ .TH "BUNDLE\-ADD" "1" "January 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-BINSTUBS" "1" "November 2020" "" ""
4
+ .TH "BUNDLE\-BINSTUBS" "1" "January 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-binstubs\fR \- Install the binstubs of the listed gems
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CACHE" "1" "November 2020" "" ""
4
+ .TH "BUNDLE\-CACHE" "1" "January 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CHECK" "1" "November 2020" "" ""
4
+ .TH "BUNDLE\-CHECK" "1" "January 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CLEAN" "1" "November 2020" "" ""
4
+ .TH "BUNDLE\-CLEAN" "1" "January 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CONFIG" "1" "November 2020" "" ""
4
+ .TH "BUNDLE\-CONFIG" "1" "January 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-config\fR \- Set bundler configuration options
@@ -136,9 +136,6 @@ Any periods in the configuration keys must be replaced with two underscores when
136
136
  The following is a list of all configuration keys and their purpose\. You can learn more about their operation in bundle install(1) \fIbundle\-install\.1\.html\fR\.
137
137
  .
138
138
  .IP "\(bu" 4
139
- \fBallow_bundler_dependency_conflicts\fR (\fBBUNDLE_ALLOW_BUNDLER_DEPENDENCY_CONFLICTS\fR): Allow resolving to specifications that have dependencies on \fBbundler\fR that are incompatible with the running Bundler version\.
140
- .
141
- .IP "\(bu" 4
142
139
  \fBallow_deployment_source_credential_changes\fR (\fBBUNDLE_ALLOW_DEPLOYMENT_SOURCE_CREDENTIAL_CHANGES\fR): When in deployment mode, allow changing the credentials to a gem\'s source\. Ex: \fBhttps://some\.host\.com/gems/path/\fR \-> \fBhttps://user_name:password@some\.host\.com/gems/path\fR
143
140
  .
144
141
  .IP "\(bu" 4
@@ -184,6 +181,9 @@ The following is a list of all configuration keys and their purpose\. You can le
184
181
  \fBdisable_local_branch_check\fR (\fBBUNDLE_DISABLE_LOCAL_BRANCH_CHECK\fR): Allow Bundler to use a local git override without a branch specified in the Gemfile\.
185
182
  .
186
183
  .IP "\(bu" 4
184
+ \fBdisable_local_revision_check\fR (\fBBUNDLE_DISABLE_LOCAL_REVISION_CHECK\fR): Allow Bundler to use a local git override without checking if the revision present in the lockfile is present in the repository\.
185
+ .
186
+ .IP "\(bu" 4
187
187
  \fBdisable_multisource\fR (\fBBUNDLE_DISABLE_MULTISOURCE\fR): When set, Gemfiles containing multiple sources will produce errors instead of warnings\. Use \fBbundle config unset disable_multisource\fR to unset\.
188
188
  .
189
189
  .IP "\(bu" 4
@@ -133,9 +133,6 @@ the environment variable `BUNDLE_LOCAL__RACK`.
133
133
  The following is a list of all configuration keys and their purpose. You can
134
134
  learn more about their operation in [bundle install(1)](bundle-install.1.html).
135
135
 
136
- * `allow_bundler_dependency_conflicts` (`BUNDLE_ALLOW_BUNDLER_DEPENDENCY_CONFLICTS`):
137
- Allow resolving to specifications that have dependencies on `bundler` that
138
- are incompatible with the running Bundler version.
139
136
  * `allow_deployment_source_credential_changes` (`BUNDLE_ALLOW_DEPLOYMENT_SOURCE_CREDENTIAL_CHANGES`):
140
137
  When in deployment mode, allow changing the credentials to a gem's source.
141
138
  Ex: `https://some.host.com/gems/path/` -> `https://user_name:password@some.host.com/gems/path`
@@ -178,6 +175,9 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
178
175
  * `disable_local_branch_check` (`BUNDLE_DISABLE_LOCAL_BRANCH_CHECK`):
179
176
  Allow Bundler to use a local git override without a branch specified in the
180
177
  Gemfile.
178
+ * `disable_local_revision_check` (`BUNDLE_DISABLE_LOCAL_REVISION_CHECK`):
179
+ Allow Bundler to use a local git override without checking if the revision
180
+ present in the lockfile is present in the repository.
181
181
  * `disable_multisource` (`BUNDLE_DISABLE_MULTISOURCE`):
182
182
  When set, Gemfiles containing multiple sources will produce errors
183
183
  instead of warnings.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-DOCTOR" "1" "November 2020" "" ""
4
+ .TH "BUNDLE\-DOCTOR" "1" "January 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-doctor\fR \- Checks the bundle for common problems
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-EXEC" "1" "November 2020" "" ""
4
+ .TH "BUNDLE\-EXEC" "1" "January 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-exec\fR \- Execute a command in the context of the bundle
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-GEM" "1" "November 2020" "" ""
4
+ .TH "BUNDLE\-GEM" "1" "January 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-INFO" "1" "November 2020" "" ""
4
+ .TH "BUNDLE\-INFO" "1" "January 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-info\fR \- Show information for the given gem in your bundle
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-INIT" "1" "November 2020" "" ""
4
+ .TH "BUNDLE\-INIT" "1" "January 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-init\fR \- Generates a Gemfile into the current working directory
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-INJECT" "1" "November 2020" "" ""
4
+ .TH "BUNDLE\-INJECT" "1" "January 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-inject\fR \- Add named gem(s) with version requirements to Gemfile
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-INSTALL" "1" "November 2020" "" ""
4
+ .TH "BUNDLE\-INSTALL" "1" "January 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-install\fR \- Install the dependencies specified in your Gemfile
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-LIST" "1" "November 2020" "" ""
4
+ .TH "BUNDLE\-LIST" "1" "January 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-list\fR \- List all the gems in the bundle
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-LOCK" "1" "November 2020" "" ""
4
+ .TH "BUNDLE\-LOCK" "1" "January 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-lock\fR \- Creates / Updates a lockfile without installing
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-OPEN" "1" "November 2020" "" ""
4
+ .TH "BUNDLE\-OPEN" "1" "January 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-open\fR \- Opens the source directory for a gem in your bundle
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-OUTDATED" "1" "November 2020" "" ""
4
+ .TH "BUNDLE\-OUTDATED" "1" "January 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-outdated\fR \- List installed gems with newer versions available
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-PLATFORM" "1" "November 2020" "" ""
4
+ .TH "BUNDLE\-PLATFORM" "1" "January 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-platform\fR \- Displays platform compatibility information