1445: def run
1446: handle_options
1447: begin
1448: tasks = collect_tasks
1449: load_rakefile
1450: if $show_tasks
1451: display_tasks_and_comments
1452: elsif $show_prereqs
1453: display_prerequisites
1454: else
1455: tasks.each { |task_name| Rake::Task[task_name].invoke }
1456: end
1457: rescue Exception => ex
1458: puts "rake aborted!"
1459: puts ex.message
1460: if $trace
1461: puts ex.backtrace.join("\n")
1462: else
1463: puts ex.backtrace.find {|str| str =~ /#{@rakefile}/ } || ""
1464: end
1465: exit(1)
1466: end
1467: end