summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/bundler/definition.rb15
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb
index 523e6ff448..1308b41563 100644
--- a/lib/bundler/definition.rb
+++ b/lib/bundler/definition.rb
@@ -635,7 +635,20 @@ module Bundler
end
def expanded_dependencies
- dependencies_with_bundler + metadata_dependencies
+ apply_overrides_to(dependencies_with_bundler) + metadata_dependencies
+ end
+
+ def apply_overrides_to(deps)
+ return deps if @overrides.empty?
+ deps.map {|dep| apply_override_to(dep) }
+ end
+
+ def apply_override_to(dep)
+ override = @overrides.find {|o| o.target == dep.name && o.field == :version }
+ return dep unless override
+ new_dep = dep.dup
+ new_dep.instance_variable_set(:@requirement, override.apply_to(dep.requirement))
+ new_dep
end
def dependencies_with_bundler