cerberus 0.7.2 → 0.7.5
Sign up to get free protection for your applications and to get access to all the features.
- data/Changelog.txt +2 -11
- data/lib/cerberus/config.example.yml +0 -2
- data/lib/cerberus/constants.rb +1 -1
- data/lib/cerberus/publisher/rss.rb +17 -29
- data/lib/cerberus/scm/bzr.rb +1 -1
- metadata +2 -2
data/Changelog.txt
CHANGED
@@ -1,16 +1,7 @@
|
|
1
1
|
= Cerberus Changelog
|
2
2
|
|
3
|
-
== Version 0.7.
|
4
|
-
|
5
|
-
|
6
|
-
* Fix mercurial builder to properly read revision number of merged commits
|
7
|
-
* Updated RSS publisher to output a properly formatted RSS feed with the
|
8
|
-
ability to keep a certain number of previous builds in the feed. For more
|
9
|
-
info on the changes please see the commit message on the following commit:
|
10
|
-
http://github.com/cpjolicoeur/cerberus/commit/1f7176a6a611f30a0d70e0f75ec90724f6302043
|
11
|
-
|
12
|
-
== Version 0.7.1
|
13
|
-
New configuration options for publisher
|
3
|
+
== Version 0.7.5
|
4
|
+
New SCM and configuration options for publisher
|
14
5
|
|
15
6
|
* added "extra_subject" publisher option
|
16
7
|
* added Mercurial SCM support
|
data/lib/cerberus/constants.rb
CHANGED
@@ -1,41 +1,29 @@
|
|
1
1
|
require 'cerberus/publisher/base'
|
2
2
|
require 'time'
|
3
3
|
require 'builder'
|
4
|
-
require 'rss'
|
5
4
|
|
6
5
|
class Cerberus::Publisher::RSS < Cerberus::Publisher::Base
|
7
6
|
def self.publish(state, manager, options)
|
8
7
|
config = options[:publisher, :rss]
|
9
8
|
subject,body = Cerberus::Publisher::Base.formatted_message(state, manager, options)
|
10
9
|
|
11
|
-
pub_date = Time.now
|
10
|
+
pub_date = Time.now.iso8601
|
11
|
+
description = "<pre>#{body}</pre>".to_xs
|
12
|
+
result = <<-END
|
13
|
+
<rss version="2.0">
|
14
|
+
<channel>
|
15
|
+
<title>Cerberus build feed for #{options[:application_name].to_xs}</title>
|
16
|
+
<pubDate>#{pub_date}</pubDate>
|
17
|
+
<generator>http://rubyforge.org/projects/cerberus</generator>
|
18
|
+
<item>
|
19
|
+
<title>#{subject.to_xs}</title>
|
20
|
+
<pubDate>#{pub_date}</pubDate>
|
21
|
+
<description>#{description}</description>
|
22
|
+
</item>
|
23
|
+
</channel>
|
24
|
+
</rss>
|
25
|
+
END
|
12
26
|
|
13
|
-
|
14
|
-
feed = RSS::Parser.parse(File.read(config[:file]), false)
|
15
|
-
raise RSS::Error unless feed
|
16
|
-
keep = config[:keep] || 1
|
17
|
-
feed.items.slice!(keep -1 ..-1) # one less than keep value, to make room for the new build
|
18
|
-
rescue RSS::Error, Errno::ENOENT
|
19
|
-
# if there's no existing file or we can't parse it, start a new one from scratch
|
20
|
-
feed = RSS::Maker.make("2.0") do |new_rss|
|
21
|
-
new_rss.channel.title = "#{options[:application_name].to_xs} build status"
|
22
|
-
new_rss.channel.description = "Cerberus build feed for #{options[:application_name].to_xs}"
|
23
|
-
new_rss.channel.generator = "http://rubyforge.org/projects/cerberus"
|
24
|
-
new_rss.channel.link = config[:channel_link] || "file://#{config[:file]}"
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
# update channel link if we have it explicitly set, otherwise retain existing value
|
29
|
-
feed.channel.link = config[:channel_link] unless config[:channel_link].nil?
|
30
|
-
feed.channel.pubDate = pub_date
|
31
|
-
|
32
|
-
new_item = RSS::Rss::Channel::Item.new()
|
33
|
-
new_item.title = subject
|
34
|
-
new_item.pubDate = pub_date
|
35
|
-
new_item.description = "<pre>#{body}</pre>"
|
36
|
-
|
37
|
-
feed.items.unshift new_item
|
38
|
-
|
39
|
-
IO.write(config[:file], feed)
|
27
|
+
IO.write(config[:file], result)
|
40
28
|
end
|
41
29
|
end
|
data/lib/cerberus/scm/bzr.rb
CHANGED
@@ -54,7 +54,7 @@ class Cerberus::SCM::Bazaar < Cerberus::SCM::Base
|
|
54
54
|
# message:
|
55
55
|
# sidfugsdiufgsdifusdg
|
56
56
|
|
57
|
-
@revision = lastlog.match(/^revno: (\d+)
|
57
|
+
@revision = lastlog.match(/^revno: (\d+)$/)[1].to_i
|
58
58
|
@author = lastlog.match(/^committer: (.+)$/)[1]
|
59
59
|
@date = Time.parse(lastlog.match(/^timestamp: (.+)$/)[1])
|
60
60
|
@message = lastlog.match(/message:\n (.*)/m)[1]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cerberus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Craig P Jolicoeur
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-
|
12
|
+
date: 2010-02-10 00:00:00 -05:00
|
13
13
|
default_executable: cerberus
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|