diff options
| -rw-r--r-- | lib/bundler/definition.rb | 15 |
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 |
