7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/richcss/resolver.rb', line 7
def self.start(part_name, version, installed = {})
requirements = [VersionKit::Dependency.new(part_name, version)]
installed.each do | p, v |
requirements.push(VersionKit::Dependency.new(p, v))
end
@resolver = Molinillo::Resolver.new(RichSpecificationProvider.new(part_name, version), RichUI.new)
@base_dg = Molinillo::DependencyGraph.new
dg = @resolver.resolve(requirements, @base_dg)
puts "Succesfully resolved dependencies:\n"
dg.map(&:payload).flatten
rescue Molinillo::VersionConflict => e
puts e
rescue Molinillo::CircularDependencyError => e
names = e.dependencies.sort_by(&:name).map {|d| "gem '#{d.name}'" }
puts "Your RichCSS part requires parts that depend" \
" on each other, creating an circular loop. Please remove" \
" #{names.count > 1 ? "either " : ""}#{names.join(" or ")}" \
" and try again."
end
|