1274: def run
1275: handle_options
1276: begin
1277: tasks = collect_tasks
1278: load_rakefile
1279: if $show_tasks
1280: display_tasks_and_comments
1281: elsif $show_prereqs
1282: display_prerequisites
1283: else
1284: tasks.each { |task_name| Task[task_name].invoke }
1285: end
1286: rescue Exception => ex
1287: puts "rake aborted!"
1288: puts ex.message
1289: if $trace
1290: puts ex.backtrace.join("\n")
1291: else
1292: puts ex.backtrace.find {|str| str =~ /#{@rakefile}/ } || ""
1293: end
1294: exit(1)
1295: end
1296: end