aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo.rb (renamed from lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo.rb)0
-rw-r--r--lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/dependency_graph.rb (renamed from lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/dependency_graph.rb)0
-rw-r--r--lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/errors.rb (renamed from lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/errors.rb)0
-rw-r--r--lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/gem_metadata.rb (renamed from lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/gem_metadata.rb)0
-rw-r--r--lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/modules/specification_provider.rb (renamed from lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/modules/specification_provider.rb)0
-rw-r--r--lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/modules/ui.rb (renamed from lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/modules/ui.rb)0
-rw-r--r--lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/resolution.rb (renamed from lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/resolution.rb)16
-rw-r--r--lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/resolver.rb (renamed from lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/resolver.rb)0
-rw-r--r--lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/state.rb (renamed from lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/state.rb)0
-rw-r--r--lib/bundler/vendored_molinillo.rb2
10 files changed, 15 insertions, 3 deletions
diff --git a/lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo.rb b/lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo.rb
index bf740e48..bf740e48 100644
--- a/lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo.rb
+++ b/lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo.rb
diff --git a/lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/dependency_graph.rb b/lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/dependency_graph.rb
index 4ee5708a..4ee5708a 100644
--- a/lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/dependency_graph.rb
+++ b/lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/dependency_graph.rb
diff --git a/lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/errors.rb b/lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/errors.rb
index b828d0c2..b828d0c2 100644
--- a/lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/errors.rb
+++ b/lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/errors.rb
diff --git a/lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/gem_metadata.rb b/lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/gem_metadata.rb
index 880ea9b6..880ea9b6 100644
--- a/lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/gem_metadata.rb
+++ b/lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/gem_metadata.rb
diff --git a/lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/modules/specification_provider.rb b/lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/modules/specification_provider.rb
index 79a85e77..79a85e77 100644
--- a/lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/modules/specification_provider.rb
+++ b/lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/modules/specification_provider.rb
diff --git a/lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/modules/ui.rb b/lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/modules/ui.rb
index 097c0264..097c0264 100644
--- a/lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/modules/ui.rb
+++ b/lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/modules/ui.rb
diff --git a/lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/resolution.rb b/lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/resolution.rb
index 13cb3799..376e4d4e 100644
--- a/lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/resolution.rb
+++ b/lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/resolution.rb
@@ -229,7 +229,7 @@ module Bundler::Molinillo
# `requirement`.
def find_state_for(requirement)
return nil unless requirement
- states.find { |i| requirement == i.requirement }
+ states.reverse_each.find { |i| requirement == i.requirement && i.is_a?(DependencyState) }
end
# @return [Boolean] whether or not the given state has any possibilities
@@ -320,12 +320,24 @@ module Bundler::Molinillo
new_requirements = requirements.dup
push_state_for_requirements(new_requirements)
else
+ return if attempt_to_swap_possibility
create_conflict
debug(depth) { "Unsatisfied by existing spec (#{existing_node.payload})" }
unwind_for_conflict
end
end
+ # Attempts to swp the current {#possibility} with the already-activated
+ # spec with the given name
+ # @return [Boolean] Whether the possibility was swapped into {#activated}
+ def attempt_to_swap_possibility
+ swapped = activated.dup
+ swapped.vertex_named(name).payload = possibility
+ return unless swapped.vertex_named(name).requirements.
+ all? { |r| requirement_satisfied_by?(r, swapped, possibility) }
+ attempt_to_activate_new_spec
+ end
+
# Attempts to activate the current {#possibility} (given that it hasn't
# already been activated)
# @return [void]
@@ -383,7 +395,7 @@ module Bundler::Molinillo
# @param [Array] new_requirements
# @return [void]
def push_state_for_requirements(new_requirements)
- new_requirements = sort_dependencies(new_requirements, activated, conflicts)
+ new_requirements = sort_dependencies(new_requirements.uniq, activated, conflicts)
new_requirement = new_requirements.shift
states.push DependencyState.new(
new_requirement ? name_for(new_requirement) : '',
diff --git a/lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/resolver.rb b/lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/resolver.rb
index 7cfe914d..7cfe914d 100644
--- a/lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/resolver.rb
+++ b/lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/resolver.rb
diff --git a/lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/state.rb b/lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/state.rb
index 8e394f86..8e394f86 100644
--- a/lib/bundler/vendor/Molinillo-0.2.0/lib/molinillo/state.rb
+++ b/lib/bundler/vendor/Molinillo-seg-bundler/lib/molinillo/state.rb
diff --git a/lib/bundler/vendored_molinillo.rb b/lib/bundler/vendored_molinillo.rb
index d05d3450..5e1a4256 100644
--- a/lib/bundler/vendored_molinillo.rb
+++ b/lib/bundler/vendored_molinillo.rb
@@ -1,4 +1,4 @@
-vendor = File.expand_path('../vendor/Molinillo-0.2.0/lib', __FILE__)
+vendor = File.expand_path('../vendor/Molinillo-seg-bundler/lib', __FILE__)
loaded = $:.include?(vendor)
$:.unshift(vendor) unless loaded
require 'molinillo'