in lib/omnibus/library.rb [63:79]
def build_order
head = []
tail = []
@components.each do |component|
if head.length == 0 || @project.build_dependencies.include?(component.name)
head << component
elsif @project.dependencies.include?(component.name) && @components.any? { |c| c.build_dependencies.include?(component.name) }
head << component
elsif @project.dependencies.include?(component.name) && @components.none? { |c| c.dependencies.include?(component.name) }
tail << component
else
head << component
end
end
[head, tail].flatten
end