require 'ceedling/plugin' require 'ceedling/constants' class Beep < Plugin attr_reader :config def setup @config = { :on_done => ((defined? TOOLS_BEEP_ON_DONE) ? TOOLS_BEEP_ON_DONE : :bell ), :on_error => ((defined? TOOLS_BEEP_ON_ERROR) ? TOOLS_BEEP_ON_ERROR : :bell ), } end def post_build beep @config[:on_done] end def post_error beep @config[:on_error] end private def beep(method = :none) case method when :bell if (SystemWrapper.windows?) puts "echo '\007'" else puts "echo -ne '\007'" end when :speaker_test `speaker-test -t sine -f 1000 -l 1` else #do nothing with illegal or :none end end end