From f5bb59229889f3360220265c1ac042a8b6a10eba Mon Sep 17 00:00:00 2001 From: Craig P Jolicoeur Date: Thu, 21 May 2009 20:40:00 -0400 Subject: [PATCH] add 'cerberus status' command --- Rakefile | 4 +++- lib/cerberus/constants.rb | 2 +- lib/cerberus/manager.rb | 26 ++++++++++++++++---------- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/Rakefile b/Rakefile index e85d11a..cc4c9b3 100644 --- a/Rakefile +++ b/Rakefile @@ -149,13 +149,15 @@ task :publish_news do end require 'webgen/webgentask' -task :generate_site => :webgen +task :generate_site => :webgen do Webgen::WebgenTask.new do |t| t.directory = File.join( File.dirname( __FILE__ ), 'doc/site') t.clobber_outdir = true end +end + task :publish_site => :generate_site do sh %{scp -r -q doc/site/out/* #{RUBYFORGE_USER}@rubyforge.org:/var/www/gforge-projects/#{RUBYFORGE_PROJECT}/} end diff --git a/lib/cerberus/constants.rb b/lib/cerberus/constants.rb index f3377c6..7a4406d 100644 --- a/lib/cerberus/constants.rb +++ b/lib/cerberus/constants.rb @@ -4,5 +4,5 @@ module Cerberus LOCK_WAIT = 30 * 60 #30 minutes - VERSION = '0.4.5.1' + VERSION = '0.4.6' end diff --git a/lib/cerberus/manager.rb b/lib/cerberus/manager.rb index 6bc1f41..3ee79bd 100644 --- a/lib/cerberus/manager.rb +++ b/lib/cerberus/manager.rb @@ -241,9 +241,9 @@ def run delim = ' | ' cols = [ ['Project Name', 30, lambda { |p, s| p }], - ['Revision', 10, lambda { |p, s| "r#{s.revision }"}], + ['Revision', 10, lambda { |p, s| "r#{s.revision.slice( 0, 8 ) }"}], ['Status', 10, lambda { |p, s| s.previous_build_successful ? 'Pass' : 'Fail' }], - ['Last Success', 10, lambda { |p, s| "r#{s.successful_build_revision}"}], + ['Last Success', 10, lambda { |p, s| "r#{s.successful_build_revision.slice( 0, 8 )}"}], ] header = cols.map { |head, size, lamb| head.ljust(size) }.join(delim) puts '-' * header.length @@ -254,6 +254,7 @@ def run row = cols.map { |head, size, lamb| lamb.call(proj, status).to_s.ljust(size) }.join(delim) puts status.previous_build_successful ? ansi_green(row) : ansi_red(row) end + puts '-' * header.length end end @@ -271,15 +272,18 @@ def ansi_escape(code, str) end - #Fields that are contained in status file - # successful (true mean previous build was successful, otherwise - false) - # timestamp - # revision - # brokeness - # successful_build_timestamp - # successful_build_revision + # + # Fields that are contained in status file + # + # successful_build_timestamp + # timestamp + # successful (true mean previous build was successful, otherwise - false) + # revision + # brokeness + # successful_build_revision + # class Status - attr_reader :previous_build_successful, :previous_brokeness, :current_build_successful, :current_brokeness + attr_reader :previous_build_successful, :previous_brokeness, :current_build_successful, :current_brokeness, :revision, :successful_build_revision def initialize(param) if param.is_a? Hash @@ -304,6 +308,8 @@ def initialize(param) @already_kept = false end + @revision = @hash['revision'] + @successful_build_revision = @hash['successful_build_revision'] @previous_build_successful = @hash['successful'] @previous_brokeness = @hash['brokeness'] end