lib/autobuild/reporting.rb in autobuild-1.8.3 vs lib/autobuild/reporting.rb in autobuild-1.9.0.b1

- old
+ new

@@ -32,27 +32,31 @@ display_message(*args) end end def self.display_message(*args) + io = STDOUT + if args.last.kind_of?(IO) + io = args.pop + end msg = if args.empty? then "" else "#{color(*args)}" end if !Autobuild.progress_display_enabled? - puts msg + io.puts msg return end size = if @last_progress_msg then @last_progress_msg.size else 0 end if !silent? - puts "\r#{msg}#{" " * [size - msg.size, 0].max}" + io.puts "\r#{msg}#{" " * [size - msg.size, 0].max}" if @last_progress_msg print "#{@last_progress_msg}" end end end @@ -62,16 +66,16 @@ end @progress_messages = Array.new # Displays an error message def self.error(message = "") - message(" ERROR: #{message}", :red, :bold) + message(" ERROR: #{message}", :red, :bold, STDERR) end # Displays a warning message def self.warn(message = "", *style) - message(" WARN: #{message}", :magenta, *style) + message(" WARN: #{message}", :magenta, *style, STDERR) end # @return [Boolean] true if there is some progress messages for the given # key def self.has_progress_for?(key) @@ -100,11 +104,11 @@ yield if options[:done_message] && has_progress_for?(key) progress(key, *options[:done_message]) end progress_done(key, true) - rescue Exception => e + rescue Exception progress_done(key, false) raise end end end @@ -333,10 +337,10 @@ end ## Display using stdout class StdoutReporter < Reporter def error(error) - puts "Build failed: #{error}" + STDERR.puts "Build failed: #{error}" end def success puts "Build finished successfully at #{Time.now}" if Autobuild.post_success_message puts Autobuild.post_success_message