diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2017-04-13 00:28:14 -0500 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2017-04-13 20:40:29 -0500 |
commit | d9bcd5df7d8253be3722d1edacab15578dc3ddcf (patch) | |
tree | a7aa7d4fc59b125da3e20ccb0171cd0957f11be7 | |
parent | 2c8f56dccb2b348ff4edda45a52c142259f63fc4 (diff) | |
download | bundler-d9bcd5df7d8253be3722d1edacab15578dc3ddcf.tar.gz |
[SpecSet] Dont allow deps to silently go unsatisfied
-rw-r--r-- | lib/bundler/definition.rb | 2 | ||||
-rw-r--r-- | lib/bundler/spec_set.rb | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb index 5dca425c7e..d974fb8cc5 100644 --- a/lib/bundler/definition.rb +++ b/lib/bundler/definition.rb @@ -775,7 +775,7 @@ module Bundler end resolve = SpecSet.new(converged) - resolve = resolve.for(expand_dependencies(deps, true), @unlock[:gems]) + resolve = resolve.for(expand_dependencies(deps, true), @unlock[:gems], false, false, false) diff = nil # Now, we unlock any sources that do not have anymore gems pinned to it diff --git a/lib/bundler/spec_set.rb b/lib/bundler/spec_set.rb index f3826beaa5..67bbe3060c 100644 --- a/lib/bundler/spec_set.rb +++ b/lib/bundler/spec_set.rb @@ -14,7 +14,7 @@ module Bundler @specs = specs.sort_by(&:name) end - def for(dependencies, skip = [], check = false, match_current_platform = false) + def for(dependencies, skip = [], check = false, match_current_platform = false, raise_on_missing = true) handled = {} deps = dependencies.dup specs = [] @@ -36,6 +36,8 @@ module Bundler end elsif check return false + elsif raise_on_missing + raise "Unable to find a spec satisfying #{dep} in the set. Perhaps the lockfile is corrupted?" end end @@ -75,7 +77,7 @@ module Bundler end def materialize(deps, missing_specs = nil) - materialized = self.for(deps, [], false, true).to_a + materialized = self.for(deps, [], false, true, missing_specs).to_a deps = materialized.map(&:name).uniq materialized.map! do |s| next s unless s.is_a?(LazySpecification) |