File tree Expand file tree Collapse file tree
bundler/lib/bundler/resolver Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ class Resolver
55 class Strategy
66 def initialize ( source )
77 @source = source
8+ @package_priority_cache = { }
89 end
910
1011 def next_package_and_version ( unsatisfied )
@@ -17,10 +18,12 @@ def next_package_and_version(unsatisfied)
1718
1819 def next_term_to_try_from ( unsatisfied )
1920 unsatisfied . min_by do |package , range |
20- matching_versions = @source . versions_for ( package , range )
21- higher_versions = @source . versions_for ( package , range . upper_invert )
21+ @package_priority_cache [ [ package , range ] ] ||= begin
22+ matching_versions = @source . versions_for ( package , range )
23+ higher_versions = @source . versions_for ( package , range . upper_invert )
2224
23- [ matching_versions . count <= 1 ? 0 : 1 , higher_versions . count ]
25+ [ matching_versions . count <= 1 ? 0 : 1 , higher_versions . count ]
26+ end
2427 end
2528 end
2629
You can’t perform that action at this time.
0 commit comments