diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2017-06-19 11:59:34 -0500 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2017-06-22 17:50:08 -0500 |
commit | 589eab292abd4952fb02815597d2ecf4e1d41fde (patch) | |
tree | 0ac3439554cb4617fb79666eb9e6d4e28d1c60ac /lib/bundler/resolver.rb | |
parent | 67ff76af19e6d033d26e63ff2f064754316fee38 (diff) | |
download | bundler-589eab292abd4952fb02815597d2ecf4e1d41fde.tar.gz |
Allow conflicts between bundler dependencies and the current bundler version
Diffstat (limited to 'lib/bundler/resolver.rb')
-rw-r--r-- | lib/bundler/resolver.rb | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/bundler/resolver.rb b/lib/bundler/resolver.rb index db2ae496a4..761dcc42d3 100644 --- a/lib/bundler/resolver.rb +++ b/lib/bundler/resolver.rb @@ -79,6 +79,7 @@ module Bundler include GemHelpers attr_reader :activated + attr_accessor :ignores_bundler_dependencies def initialize(a) super @@ -88,6 +89,7 @@ module Bundler @specs = Hash.new do |specs, platform| specs[platform] = select_best_platform_match(self, platform) end + @ignores_bundler_dependencies = true end def initialize_copy(o) @@ -151,6 +153,7 @@ module Bundler if spec = @specs[platform] spec.dependencies.each do |dep| next if dep.type == :development + next if @ignores_bundler_dependencies && dep.name == "bundler".freeze dependencies[platform] << DepProxy.new(dep, platform) end end @@ -206,6 +209,7 @@ module Bundler additional_base_requirements.each {|d| @base_dg.add_vertex(d.name, d) } @platforms = platforms @gem_version_promoter = gem_version_promoter + @allow_bundler_dependency_conflicts = Bundler.feature_flag.allow_bundler_dependency_conflicts? end def start(requirements) @@ -281,7 +285,9 @@ module Bundler end nested.reduce([]) do |groups, (version, specs)| next groups if locked_requirement && !locked_requirement.satisfied_by?(version) - groups << SpecGroup.new(specs) + spec_group = SpecGroup.new(specs) + spec_group.ignores_bundler_dependencies = @allow_bundler_dependency_conflicts + groups << spec_group end else [] |