1897: def run
1898: handle_options
1899: begin
1900: tasks = collect_tasks
1901: load_rakefile
1902: if options.show_tasks
1903: display_tasks_and_comments
1904: elsif options.show_prereqs
1905: display_prerequisites
1906: else
1907: tasks.each { |task_name| Rake::Task[task_name].invoke }
1908: end
1909: rescue Exception => ex
1910: puts "rake aborted!"
1911: puts ex.message
1912: if options.trace
1913: puts ex.backtrace.join("\n")
1914: else
1915: puts ex.backtrace.find {|str| str =~ /#{@rakefile}/ } || ""
1916: puts "(See full trace by running task with --trace)"
1917: end
1918: exit(1)
1919: end
1920: end