class Bundler::Resolver

def self.resolve(requirements, index, source_requirements = {}, base = [])

collection of gemspecs is returned. Otherwise, nil is returned.
,nil:: If the list of dependencies can be resolved, a
==== Returns

*dependencies:: The list of dependencies to resolve
==== Parameters

causing any gem activation errors.
the list of passed dependencies and any child dependencies without
Figures out the best possible configuration of gems that satisfies
def self.resolve(requirements, index, source_requirements = {}, base = [])
  base = SpecSet.new(base) unless base.is_a?(SpecSet)
  resolver = new(index, source_requirements, base)
  result = catch(:success) do
    resolver.start(requirements)
    raise resolver.version_conflict
    nil
  end
  SpecSet.new(result)
end