diff options
author | Grey Baker <greysteil@gmail.com> | 2017-10-27 00:32:51 +0100 |
---|---|---|
committer | Grey Baker <greysteil@gmail.com> | 2017-10-27 07:15:18 +0100 |
commit | 79fb3f024670e814cb0fd76022ec32132e76dd5d (patch) | |
tree | 6c240b91763777fb4263269fea5716ecab83af2f /lib/bundler/resolver.rb | |
parent | ebeb787c63e08e15fa8802f8e9752f5b400a404f (diff) | |
download | bundler-79fb3f024670e814cb0fd76022ec32132e76dd5d.tar.gz |
Prioritise explicitly requested gems in dependency resolution sort order
Diffstat (limited to 'lib/bundler/resolver.rb')
-rw-r--r-- | lib/bundler/resolver.rb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/bundler/resolver.rb b/lib/bundler/resolver.rb index 965a1d55ad..f75c669534 100644 --- a/lib/bundler/resolver.rb +++ b/lib/bundler/resolver.rb @@ -205,12 +205,14 @@ module Bundler dependencies.sort_by do |dependency| dependency.all_sources = relevant_sources_for_vertex(activated.vertex_named(dependency.name)) name = name_for(dependency) + vertex = activated.vertex_named(name) [ @base_dg.vertex_named(name) ? 0 : 1, - activated.vertex_named(name).payload ? 0 : 1, + vertex.payload ? 0 : 1, + vertex.root? ? 0 : 1, amount_constrained(dependency), conflicts[name] ? 0 : 1, - activated.vertex_named(name).payload ? 0 : search_for(dependency).count, + vertex.payload ? 0 : search_for(dependency).count, self.class.platform_sort_key(dependency.__platform), ] end |