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