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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d650c1a28dea3c6991577a9083a22c1ca1efda7a2eec47d0df598f85830bdadd
4
- data.tar.gz: 39210bbab39a367d483951a86ae63074b13551c477545bb77c61f6a567a99953
3
+ metadata.gz: 4245b41cd1a7664e7160400a34b59eb6776722ce33f3050985e9c6cd1e564636
4
+ data.tar.gz: 61a49ab9b21f1972a196ce7871985413687805f2b006c52e28adc8c8a6e9cce1
5
5
  SHA512:
6
- metadata.gz: 68a691b5c9a1d46782fef62ebccd13a591db6cf8581ccf1dd652cda62a13f5a537ba4bea07623f475067281d1a7f8f0121888c7693b361dfc7c7b03f9c4c124e
7
- data.tar.gz: 7cf159707678831e78eaa3ccda37e2433762d39e154b3b42dd3e23531d8caf234eb48b633595aa2b43fe213899fd30691735b1cbd3942afe88bb4ab2d9d39991
6
+ metadata.gz: 648a86e27fcc3ef70824c2b2c1138ca8e27de426e7ff301be784bdd56da33f0ae7281b3ef0f3243bfea02ba309e6c3dee912816db1d8f8225afe69bb4f8db612
7
+ data.tar.gz: b55fa91faa9d96512836dc3793bd1ca8aa994ed9f14396882c2c2994d4e6d30dc2c49f5431de13092708d1278b87244f4bfa4b622771327a6b96ffcbb43e2a7f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,68 @@
1
+ # 2.2.11 (February 17, 2021)
2
+
3
+ ## Bug fixes:
4
+
5
+ - Revert disable_multisource changes [#4385](https://github.com/rubygems/rubygems/pull/4385)
6
+
7
+ # 2.2.10 (February 15, 2021)
8
+
9
+ ## Security fixes:
10
+
11
+ - Fix source priority for transitive dependencies and split lockfile rubygems source sections [#3655](https://github.com/rubygems/rubygems/pull/3655)
12
+
13
+ ## Bug fixes:
14
+
15
+ - Fix adding platforms to lockfile sometimes conflicting on ruby requirements [#4371](https://github.com/rubygems/rubygems/pull/4371)
16
+ - Fix bundler sometimes choosing ruby variants over java ones [#4367](https://github.com/rubygems/rubygems/pull/4367)
17
+
18
+ ## Documentation:
19
+
20
+ - Update man pages to reflect to new default for bundle install jobs [#4188](https://github.com/rubygems/rubygems/pull/4188)
21
+
22
+ # 2.2.9 (February 8, 2021)
23
+
24
+ ## Enhancements:
25
+
26
+ - Stop removing existing platforms when force_ruby_platform is true [#4336](https://github.com/rubygems/rubygems/pull/4336)
27
+
28
+ ## Bug fixes:
29
+
30
+ - Don't install platform specific gems on truffleruby [#4333](https://github.com/rubygems/rubygems/pull/4333)
31
+
32
+ # 2.2.8 (February 2, 2021)
33
+
34
+ ## Enhancements:
35
+
36
+ - Add a CHANGELOG.md file to gems generated by `bundle gem` [#4093](https://github.com/rubygems/rubygems/pull/4093)
37
+ - Support gemified `set` [#4297](https://github.com/rubygems/rubygems/pull/4297)
38
+
39
+ ## Bug fixes:
40
+
41
+ - Fix standalone Kernel.require visibility [#4337](https://github.com/rubygems/rubygems/pull/4337)
42
+
43
+ ## Performance:
44
+
45
+ - Fix resolver edge cases and speed up bundler [#4277](https://github.com/rubygems/rubygems/pull/4277)
46
+
47
+ # 2.2.7 (January 26, 2021)
48
+
49
+ ## Enhancements:
50
+
51
+ - Improve error messages when dependency on bundler conflicts with running version [#4308](https://github.com/rubygems/rubygems/pull/4308)
52
+ - Avoid showing platforms with requirements in error messages [#4310](https://github.com/rubygems/rubygems/pull/4310)
53
+ - Introduce disable_local_revision_check config [#4237](https://github.com/rubygems/rubygems/pull/4237)
54
+ - Reverse rubygems require mixin with bundler standalone [#4299](https://github.com/rubygems/rubygems/pull/4299)
55
+
56
+ ## Bug fixes:
57
+
58
+ - Fix releasing from a not yet pushed branch [#4309](https://github.com/rubygems/rubygems/pull/4309)
59
+ - Install cache only once if it already exists [#4304](https://github.com/rubygems/rubygems/pull/4304)
60
+ - Fix `force_ruby_platform` no longer being respected [#4302](https://github.com/rubygems/rubygems/pull/4302)
61
+
62
+ ## Performance:
63
+
64
+ - Fix resolver dependency comparison [#4289](https://github.com/rubygems/rubygems/pull/4289)
65
+
1
66
  # 2.2.6 (January 18, 2021)
2
67
 
3
68
  ## Enhancements:
data/lib/bundler.rb CHANGED
@@ -440,7 +440,7 @@ EOF
440
440
  end
441
441
 
442
442
  def local_platform
443
- return Gem::Platform::RUBY if settings[:force_ruby_platform]
443
+ return Gem::Platform::RUBY if settings[:force_ruby_platform] || Gem.platforms == [Gem::Platform::RUBY]
444
444
  Gem::Platform.local
445
445
  end
446
446
 
@@ -4,8 +4,8 @@ module Bundler
4
4
  # Represents metadata from when the Bundler gem was built.
5
5
  module BuildMetadata
6
6
  # begin ivars
7
- @built_at = "2021-01-19".freeze
8
- @git_commit_sha = "e95bea3837".freeze
7
+ @built_at = "2021-02-17".freeze
8
+ @git_commit_sha = "6ca677a0eb".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
data/lib/bundler/cli.rb CHANGED
@@ -586,6 +586,7 @@ module Bundler
586
586
  method_option :git, :type => :boolean, :default => true, :desc => "Initialize a git repo inside your library."
587
587
  method_option :mit, :type => :boolean, :desc => "Generate an MIT license file. Set a default with `bundle config set --global gem.mit true`."
588
588
  method_option :rubocop, :type => :boolean, :desc => "Add rubocop to the generated Rakefile and gemspec. Set a default with `bundle config set --global gem.rubocop true`."
589
+ method_option :changelog, :type => :boolean, :desc => "Generate changelog file. Set a default with `bundle config set --global gem.changelog true`."
589
590
  method_option :test, :type => :string, :lazy_default => Bundler.settings["gem.test"] || "", :aliases => "-t", :banner => "Use the specified test framework for your library",
590
591
  :desc => "Generate a test directory for your library, either rspec, minitest or test-unit. Set a default with `bundle config set --global gem.test (rspec|minitest|test-unit)`."
591
592
  method_option :ci, :type => :string, :lazy_default => Bundler.settings["gem.ci"] || "",
@@ -30,6 +30,7 @@ module Bundler
30
30
  require_relative "install"
31
31
  options = self.options.dup
32
32
  options["local"] = false if Bundler.settings[:cache_all_platforms]
33
+ options["no-cache"] = true
33
34
  Bundler::CLI::Install.new(options).run
34
35
  end
35
36
 
@@ -142,6 +142,18 @@ module Bundler
142
142
  templates.merge!("CODE_OF_CONDUCT.md.tt" => "CODE_OF_CONDUCT.md")
143
143
  end
144
144
 
145
+ if ask_and_set(:changelog, "Do you want to include a changelog?",
146
+ "A changelog is a file which contains a curated, chronologically ordered list of notable " \
147
+ "changes for each version of a project. To make it easier for users and contributors to" \
148
+ " see precisely what notable changes have been made between each release (or version) of" \
149
+ " the project. Whether consumers or developers, the end users of software are" \
150
+ " human beings who care about what's in the software. When the software changes, people " \
151
+ "want to know why and how. see https://keepachangelog.com")
152
+ config[:changelog] = true
153
+ Bundler.ui.info "Changelog enabled in config"
154
+ templates.merge!("CHANGELOG.md.tt" => "CHANGELOG.md")
155
+ end
156
+
145
157
  if ask_and_set(:rubocop, "Do you want to add rubocop as a dependency for gems you generate?",
146
158
  "RuboCop is a static code analyzer that has out-of-the-box rules for many " \
147
159
  "of the guidelines in the community style guide. " \
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "lockfile_parser"
4
- require "set"
5
4
 
6
5
  module Bundler
7
6
  class Definition
@@ -83,11 +82,7 @@ module Bundler
83
82
  @lockfile_contents = Bundler.read_file(lockfile)
84
83
  @locked_gems = LockfileParser.new(@lockfile_contents)
85
84
  @locked_platforms = @locked_gems.platforms
86
- if Bundler.settings[:force_ruby_platform]
87
- @platforms = [Gem::Platform::RUBY]
88
- else
89
- @platforms = @locked_platforms.dup
90
- end
85
+ @platforms = @locked_platforms.dup
91
86
  @locked_bundler_version = @locked_gems.bundler_version
92
87
  @locked_ruby_version = @locked_gems.ruby_version
93
88
 
@@ -259,23 +254,18 @@ module Bundler
259
254
  def resolve
260
255
  @resolve ||= begin
261
256
  last_resolve = converge_locked_specs
262
- resolve =
263
- if Bundler.frozen_bundle?
264
- Bundler.ui.debug "Frozen, using resolution from the lockfile"
265
- last_resolve
266
- elsif !unlocking? && nothing_changed?
267
- Bundler.ui.debug("Found no changes, using resolution from the lockfile")
268
- last_resolve
269
- else
270
- # Run a resolve against the locally available gems
271
- Bundler.ui.debug("Found changes from the lockfile, re-resolving dependencies because #{change_reason}")
272
- expanded_dependencies = expand_dependencies(dependencies + metadata_dependencies, @remote)
273
- last_resolve.merge Resolver.resolve(expanded_dependencies, index, source_requirements, last_resolve, gem_version_promoter, additional_base_requirements_for_resolve, platforms)
274
- end
275
-
276
- # filter out gems that _can_ be installed on multiple platforms, but don't need
277
- # to be
278
- resolve.for(expand_dependencies(dependencies, true), [], false, false, false)
257
+ if Bundler.frozen_bundle?
258
+ Bundler.ui.debug "Frozen, using resolution from the lockfile"
259
+ last_resolve
260
+ elsif !unlocking? && nothing_changed?
261
+ Bundler.ui.debug("Found no changes, using resolution from the lockfile")
262
+ last_resolve
263
+ else
264
+ # Run a resolve against the locally available gems
265
+ Bundler.ui.debug("Found changes from the lockfile, re-resolving dependencies because #{change_reason}")
266
+ expanded_dependencies = expand_dependencies(dependencies + metadata_dependencies, @remote)
267
+ Resolver.resolve(expanded_dependencies, index, source_requirements, last_resolve, gem_version_promoter, additional_base_requirements_for_resolve, platforms)
268
+ end
279
269
  end
280
270
  end
281
271
 
@@ -604,7 +594,7 @@ module Bundler
604
594
  deps_for_source = @dependencies.select {|s| s.source == source }
605
595
  locked_deps_for_source = @locked_deps.values.select {|dep| dep.source == locked_source }
606
596
 
607
- Set.new(deps_for_source) != Set.new(locked_deps_for_source)
597
+ deps_for_source.sort != locked_deps_for_source.sort
608
598
  end
609
599
 
610
600
  def specs_for_source_changed?(source)
@@ -884,7 +874,7 @@ module Bundler
884
874
  dependencies.each do |dep|
885
875
  dep = Dependency.new(dep, ">= 0") unless dep.respond_to?(:name)
886
876
  next unless remote || dep.current_platform?
887
- target_platforms = dep.gem_platforms(remote ? Resolver.sort_platforms(@platforms) : [generic_local_platform])
877
+ target_platforms = dep.gem_platforms(remote ? @platforms : [generic_local_platform])
888
878
  deps += expand_dependency_with_platforms(dep, target_platforms)
889
879
  end
890
880
  deps
@@ -913,6 +903,7 @@ module Bundler
913
903
  metadata_dependencies.each do |dep|
914
904
  source_requirements[dep.name] = sources.metadata_source
915
905
  end
906
+ source_requirements[:default_bundler] = source_requirements["bundler"] || source_requirements[:default]
916
907
  source_requirements["bundler"] = sources.metadata_source # needs to come last to override
917
908
  source_requirements
918
909
  end
@@ -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
119
+ perform_git_push "#{remote} refs/heads/#{current_branch}"
120
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
- # We can replace this with `git branch --show-current` once we drop support for git < 2.22.0
126
- current_branch = sh(%w[git rev-parse --abbrev-ref HEAD]).gsub(%r{\Aheads/}, "").strip
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
data/lib/bundler/index.rb CHANGED
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "set"
4
-
5
3
  module Bundler
6
4
  class Index
7
5
  include Enumerable
@@ -65,11 +63,14 @@ module Bundler
65
63
  def unsorted_search(query, base)
66
64
  results = local_search(query, base)
67
65
 
68
- seen = results.map(&:full_name).to_set unless @sources.empty?
66
+ seen = results.map(&:full_name).uniq unless @sources.empty?
69
67
 
70
68
  @sources.each do |source|
71
69
  source.unsorted_search(query, base).each do |spec|
72
- results << spec if seen.add?(spec.full_name)
70
+ next if seen.include?(spec.full_name)
71
+
72
+ seen << spec.full_name
73
+ results << spec
73
74
  end
74
75
  end
75
76
 
@@ -170,7 +171,7 @@ module Bundler
170
171
  def dependencies_eql?(spec, other_spec)
171
172
  deps = spec.dependencies.select {|d| d.type != :development }
172
173
  other_deps = other_spec.dependencies.select {|d| d.type != :development }
173
- Set.new(deps) == Set.new(other_deps)
174
+ deps.sort == other_deps.sort
174
175
  end
175
176
 
176
177
  def add_source(index)
@@ -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,19 @@ 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
+ private_require = k.private_method_defined?(:require)
59
+ k.send(:remove_method, :require)
60
+ k.send(:define_method, :require, k.instance_method(:gem_original_require))
61
+ k.send(:private, :require) if private_require
62
+ end
63
+ end
64
+ END
65
+ end
51
66
  end
52
67
  end
@@ -4,22 +4,6 @@ require_relative "match_platform"
4
4
 
5
5
  module Bundler
6
6
  class LazySpecification
7
- Identifier = Struct.new(:name, :version, :platform)
8
- class Identifier
9
- include Comparable
10
- def <=>(other)
11
- return unless other.is_a?(Identifier)
12
- [name, version, platform_string] <=> [other.name, other.version, other.platform_string]
13
- end
14
-
15
- protected
16
-
17
- def platform_string
18
- platform_string = platform.to_s
19
- platform_string == Index::RUBY ? Index::NULL : platform_string
20
- end
21
- end
22
-
23
7
  include MatchPlatform
24
8
 
25
9
  attr_reader :name, :version, :dependencies, :platform
@@ -108,7 +92,7 @@ module Bundler
108
92
  end
109
93
 
110
94
  def identifier
111
- @__identifier ||= Identifier.new(name, version, platform)
95
+ @__identifier ||= [name, version, platform_string]
112
96
  end
113
97
 
114
98
  def git_version
@@ -116,6 +100,13 @@ module Bundler
116
100
  " #{source.revision[0..6]}"
117
101
  end
118
102
 
103
+ protected
104
+
105
+ def platform_string
106
+ platform_string = platform.to_s
107
+ platform_string == Index::RUBY ? Index::NULL : platform_string
108
+ end
109
+
119
110
  private
120
111
 
121
112
  def to_ary
@@ -140,7 +131,7 @@ module Bundler
140
131
  # explicitly add a more specific platform.
141
132
  #
142
133
  def ruby_platform_materializes_to_ruby_platform?
143
- !Bundler.most_specific_locked_platform?(Gem::Platform::RUBY)
134
+ !Bundler.most_specific_locked_platform?(Gem::Platform::RUBY) || Bundler.settings[:force_ruby_platform]
144
135
  end
145
136
  end
146
137
  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