class Autoproj::Reporter
Subclass of Autobuild::Reporter, used to display a message when the build finishes/fails.
Public Instance Methods
elapsed_time()
click to toggle source
# File lib/autoproj/reporter.rb, line 69 def elapsed_time return unless @timer_start secs = Time.now - @timer_start return if secs < 1 [[60, "sec"], [60, "min"], [24, "hour"], [1000, "day"]].map do |count, name| if secs > 0 secs, n = secs.divmod(count) next if (val = n.to_i) == 0 "#{val} #{val > 1 ? "#{name}s" : name}" end end.compact.reverse.join(" ") end
error(error)
click to toggle source
# File lib/autoproj/reporter.rb, line 54 def error(error) error_lines = error.to_s.split("\n") Autoproj.not_silent do Autoproj.message("Command failed", :bold, :red, STDERR) Autoproj.message(error_lines.shift.to_s, :bold, :red, STDERR) error_lines.each do |line| Autoproj.message line, STDERR end end end
reset_timer()
click to toggle source
# File lib/autoproj/reporter.rb, line 65 def reset_timer @timer_start = Time.now end
success()
click to toggle source
# File lib/autoproj/reporter.rb, line 85 def success elapsed_string = elapsed_time ? " (took #{elapsed_time})" : "" Autoproj.message("Command finished successfully at "\ "#{Time.now}#{elapsed_string}", :bold, :green) if Autobuild.post_success_message Autoproj.message Autobuild.post_success_message end end