mirror of
https://github.com/ruby/ruby.git
synced 2025-08-25 05:55:46 +02:00
parent
e59c90118e
commit
c94cec27f7
1 changed files with 6 additions and 9 deletions
|
@ -295,16 +295,13 @@ module Bundler
|
||||||
end
|
end
|
||||||
|
|
||||||
def sorted
|
def sorted
|
||||||
rake = @specs.find {|s| s.name == "rake" }
|
@sorted ||= ([@specs.find {|s| s.name == "rake" }] + tsort).compact.uniq
|
||||||
begin
|
|
||||||
@sorted ||= ([rake] + tsort).compact.uniq
|
|
||||||
rescue TSort::Cyclic => error
|
rescue TSort::Cyclic => error
|
||||||
cgems = extract_circular_gems(error)
|
cgems = extract_circular_gems(error)
|
||||||
raise CyclicDependencyError, "Your bundle requires gems that depend" \
|
raise CyclicDependencyError, "Your bundle requires gems that depend" \
|
||||||
" on each other, creating an infinite loop. Please remove either" \
|
" on each other, creating an infinite loop. Please remove either" \
|
||||||
" gem '#{cgems[0]}' or gem '#{cgems[1]}' and try again."
|
" gem '#{cgems[0]}' or gem '#{cgems[1]}' and try again."
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def extract_circular_gems(error)
|
def extract_circular_gems(error)
|
||||||
error.message.scan(/@name="(.*?)"/).flatten
|
error.message.scan(/@name="(.*?)"/).flatten
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue