hudson 0.3.0.beta.16 → 0.3.0.beta.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hudson (0.3.0.beta.16)
4
+ hudson (0.3.0.beta.17)
5
5
  builder (~> 2.1.2)
6
6
  hpricot
7
7
  httparty (~> 0.6.1)
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{hudson}
5
- s.version = "0.3.0.beta.16"
5
+ s.version = "0.3.0.beta.17"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Charles Lowell", "Dr Nic Williams"]
9
- s.date = %q{2010-11-02}
9
+ s.date = %q{2010-11-03}
10
10
  s.default_executable = %q{hudson}
11
11
  s.description = %q{A suite of utilities for bringing continous integration to your projects (not the other way around) with hudson CI}
12
12
  s.email = ["cowboyd@thefrontside.net", "drnicwilliams@gmail.com"]
@@ -10,6 +10,8 @@ module Hudson
10
10
 
11
11
  InvalidTemplate = Class.new(StandardError)
12
12
 
13
+ VALID_JOB_TEMPLATES = %w[rails rails3 ruby rubygem]
14
+
13
15
  # +job_type+ - template of default steps to create with the job
14
16
  # +steps+ - array of [:method, cmd], e.g. [:build_shell_step, "bundle initial"]
15
17
  # - Default is based on +job_type+.
@@ -23,6 +25,7 @@ module Hudson
23
25
  yield self
24
26
 
25
27
  self.git_branches ||= ["master"]
28
+ raise InvalidTemplate unless VALID_JOB_TEMPLATES.include?(job_type.to_s)
26
29
  end
27
30
 
28
31
  def builder
@@ -108,20 +111,6 @@ module Hudson
108
111
  end
109
112
  end
110
113
  end
111
-
112
- # <triggers class="vector">
113
- # <hudson.triggers.SCMTrigger>
114
- # <spec># every minute
115
- # * * * * *</spec>
116
- # </hudson.triggers.SCMTrigger>
117
- # </triggers>
118
- def build_triggers(b)
119
- b.triggers :class => "vector" do
120
- b.tag! "hudson.triggers.SCMTrigger" do
121
- b.spec "# every minute\n* * * * *"
122
- end
123
- end
124
- end
125
114
 
126
115
  # TODO
127
116
  def build_axes(b)
@@ -151,14 +140,22 @@ module Hudson
151
140
 
152
141
  # TODO modularise this
153
142
  # TODO how to customize? e.g. EngineYard template?
154
- VALID_JOB_TEMPLATES = %w[rails rails3 ruby rubygem]
155
143
  def build_steps(b)
156
144
  b.builders do
157
- if job_type
158
- raise InvalidTemplate unless VALID_JOB_TEMPLATES.include?(job_type)
159
- if job_type == "rails" || job_type == "rails3"
160
- build_shell_step b, "bundle install"
161
- build_ruby_step b, <<-RUBY.gsub(/^ /, '')
145
+ self.steps ||= default_steps(job_type)
146
+ steps.each do |step|
147
+ method, cmd = step
148
+ send(method.to_sym, b, cmd) # e.g. build_shell_step(b, "bundle install")
149
+ end
150
+ end
151
+ end
152
+
153
+ def default_steps(job_type)
154
+ case job_type.to_sym
155
+ when :rails, :rails3
156
+ [
157
+ [:build_shell_step, "bundle install"],
158
+ [:build_ruby_step, <<-RUBY.gsub(/^ /, '')],
162
159
  unless File.exist?("config/database.yml")
163
160
  require 'fileutils'
164
161
  example = Dir["config/database*"].first
@@ -166,18 +163,14 @@ module Hudson
166
163
  FileUtils.cp example, "config/database.yml"
167
164
  end
168
165
  RUBY
169
- build_shell_step b, "bundle exec rake db:schema:load"
170
- build_shell_step b, "bundle exec rake"
171
- else
172
- build_shell_step b, "bundle install"
173
- build_shell_step b, "bundle exec rake"
174
- end
175
- else
176
- steps.each do |step|
177
- method, cmd = step
178
- send(method.to_sym, b, cmd)
179
- end
180
- end
166
+ [:build_shell_step, "bundle exec rake db:schema:load"],
167
+ [:build_shell_step, "bundle exec rake"]
168
+ ]
169
+ else
170
+ [
171
+ [:build_shell_step, "bundle install"],
172
+ [:build_shell_step, "bundle exec rake"]
173
+ ]
181
174
  end
182
175
  end
183
176
 
@@ -1,3 +1,3 @@
1
1
  module Hudson
2
- VERSION = "0.3.0.beta.16"
2
+ VERSION = "0.3.0.beta.17"
3
3
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hudson
3
3
  version: !ruby/object:Gem::Version
4
- hash: 62196403
4
+ hash: 62196401
5
5
  prerelease: true
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
9
  - 0
10
10
  - beta
11
- - 16
12
- version: 0.3.0.beta.16
11
+ - 17
12
+ version: 0.3.0.beta.17
13
13
  platform: ruby
14
14
  authors:
15
15
  - Charles Lowell
@@ -18,7 +18,7 @@ autorequire:
18
18
  bindir: bin
19
19
  cert_chain: []
20
20
 
21
- date: 2010-11-02 00:00:00 -07:00
21
+ date: 2010-11-03 00:00:00 -07:00
22
22
  default_executable:
23
23
  dependencies:
24
24
  - !ruby/object:Gem::Dependency