# File lib/r10k/task_runner.rb, line 21 def run catch :abort do until @tasks.empty? current = @tasks.first current.task_runner = self begin current.call rescue Interrupt => e logger.error "Aborted!" $stderr.puts e.backtrace.join("\n").red if @trace @succeeded = false throw :abort rescue => e logger.error "Task #{current} failed while running: #{e.message}" $stderr.puts e.backtrace.join("\n").red if @trace @errors[current] = e @succeeded = false end @tasks.shift end end end