summaryrefslogtreecommitdiff
path: root/lib/bundler/resolver.rb
diff options
context:
space:
mode:
authorSamuel Giddins <segiddins@segiddins.me>2017-06-19 11:59:34 -0500
committerSamuel Giddins <segiddins@segiddins.me>2017-06-22 17:50:08 -0500
commit589eab292abd4952fb02815597d2ecf4e1d41fde (patch)
tree0ac3439554cb4617fb79666eb9e6d4e28d1c60ac /lib/bundler/resolver.rb
parent67ff76af19e6d033d26e63ff2f064754316fee38 (diff)
downloadbundler-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.rb8
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
[]