hudson 0.3.0.beta.3 → 0.3.0.beta.4

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hudson (0.3.0.beta.2)
4
+ hudson (0.3.0.beta.3)
5
5
  builder (~> 2.1.2)
6
6
  hpricot
7
7
  httparty (~> 0.5.2)
data/Rakefile CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
26
26
  s.add_dependency("hpricot")
27
27
  s.add_development_dependency("rake", ["~> 0.8.7"])
28
28
  s.add_development_dependency("cucumber", ["~> 0.9.0"])
29
- s.add_development_dependency("rspec", ["~> 2.0.0.beta"])
29
+ s.add_development_dependency("rspec", ["~> 2.0.0"])
30
30
  s.add_development_dependency("json", ["~>1.4.0"])
31
31
  s.add_development_dependency("awesome_print")
32
32
  end
data/hudson.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{hudson}
5
- s.version = "0.3.0.beta.3"
5
+ s.version = "0.3.0.beta.4"
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"]
@@ -31,7 +31,7 @@ Gem::Specification.new do |s|
31
31
  s.add_runtime_dependency(%q<hpricot>, [">= 0"])
32
32
  s.add_development_dependency(%q<rake>, ["~> 0.8.7"])
33
33
  s.add_development_dependency(%q<cucumber>, ["~> 0.9.0"])
34
- s.add_development_dependency(%q<rspec>, ["~> 2.0.0.beta"])
34
+ s.add_development_dependency(%q<rspec>, ["~> 2.0.0"])
35
35
  s.add_development_dependency(%q<json>, ["~> 1.4.0"])
36
36
  s.add_development_dependency(%q<awesome_print>, [">= 0"])
37
37
  else
@@ -43,7 +43,7 @@ Gem::Specification.new do |s|
43
43
  s.add_dependency(%q<hpricot>, [">= 0"])
44
44
  s.add_dependency(%q<rake>, ["~> 0.8.7"])
45
45
  s.add_dependency(%q<cucumber>, ["~> 0.9.0"])
46
- s.add_dependency(%q<rspec>, ["~> 2.0.0.beta"])
46
+ s.add_dependency(%q<rspec>, ["~> 2.0.0"])
47
47
  s.add_dependency(%q<json>, ["~> 1.4.0"])
48
48
  s.add_dependency(%q<awesome_print>, [">= 0"])
49
49
  end
@@ -56,7 +56,7 @@ Gem::Specification.new do |s|
56
56
  s.add_dependency(%q<hpricot>, [">= 0"])
57
57
  s.add_dependency(%q<rake>, ["~> 0.8.7"])
58
58
  s.add_dependency(%q<cucumber>, ["~> 0.9.0"])
59
- s.add_dependency(%q<rspec>, ["~> 2.0.0.beta"])
59
+ s.add_dependency(%q<rspec>, ["~> 2.0.0"])
60
60
  s.add_dependency(%q<json>, ["~> 1.4.0"])
61
61
  s.add_dependency(%q<awesome_print>, [">= 0"])
62
62
  end
data/lib/hudson.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Hudson
2
- VERSION = "0.3.0.beta.3"
2
+ VERSION = "0.3.0.beta.4"
3
3
  HUDSON_VERSION = "1.380"
4
4
  WAR = File.expand_path(File.dirname(__FILE__) + "/hudson/hudson.war")
5
5
  PLUGINS = File.expand_path(File.dirname(__FILE__) + "/hudson/plugins")
data/lib/hudson/api.rb CHANGED
@@ -3,6 +3,8 @@ require 'cgi'
3
3
  require 'uri'
4
4
  require 'json'
5
5
 
6
+ require 'hudson/config'
7
+
6
8
  module Hudson
7
9
  module Api
8
10
  include HTTParty
@@ -73,7 +75,7 @@ module Hudson
73
75
  default_options = Hash.new("")
74
76
  default_options.merge!(
75
77
  :slave_port => 22,
76
- :master_key => "/home/hudson/.ssh/hudson",
78
+ :master_key => "/home/hudson/.ssh/id_rsa", # FIXME - hardcoded master username assumption
77
79
  :remote_fs => "/data/hudson-slave/",
78
80
  :description => "Automatically created by Hudson.rb",
79
81
  :executors => 2,
data/lib/hudson/cli.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  require 'thor'
2
2
  require 'hudson/core_ext/object/blank'
3
3
  require 'hudson/cli/formatting'
4
- require 'hudson/config'
5
4
  require 'hudson/remote'
6
5
 
7
6
  module Hudson
@@ -4,6 +4,7 @@ module Hudson
4
4
  class JobConfigBuilder
5
5
  attr_accessor :scm, :git_branches
6
6
  attr_accessor :job_type, :matrix_project
7
+ attr_accessor :assigned_node
7
8
 
8
9
  def initialize(options = nil, &block)
9
10
  if options.is_a?(Symbol)
@@ -25,6 +26,7 @@ module Hudson
25
26
  b.keepDependencies false
26
27
  b.properties
27
28
  build_scm b
29
+ b.assignedNode assigned_node if assigned_node
28
30
  b.canRoam true
29
31
  b.disabled false
30
32
  b.blockBuildWhenUpstreamBuilding false
@@ -106,7 +108,7 @@ module Hudson
106
108
  def build_steps(b)
107
109
  b.builders do
108
110
  if job_type == "rails"
109
- build_ruby_step b, <<-RUBY.gsub(/^ /, '')
111
+ build_ruby_step b, <<-RUBY.gsub(/^ /, '')
110
112
  unless File.exist?("config/database.yml")
111
113
  require 'fileutils'
112
114
  example = Dir["config/database*"].first
@@ -133,7 +135,9 @@ module Hudson
133
135
  # </hudson.plugins.ruby.Ruby>
134
136
  def build_ruby_step(b, command)
135
137
  b.tag! "hudson.plugins.ruby.Ruby" do
136
- b.command command
138
+ b.command do
139
+ b << command.to_xs.gsub(%r{"}, '&quot;').gsub(%r{'}, '&apos;')
140
+ end
137
141
  end
138
142
  end
139
143
 
@@ -1,7 +1,7 @@
1
1
  <?xml version='1.0' encoding='UTF-8'?>
2
2
  <matrix-project>
3
3
  <actions/>
4
- <description></description>
4
+ <description/>
5
5
  <keepDependencies>false</keepDependencies>
6
6
  <properties/>
7
7
  <scm class="hudson.plugins.git.GitSCM">
@@ -19,7 +19,7 @@
19
19
  <string>url</string>
20
20
  <string>git@codebasehq.com:mocra/dash/web-app.git</string>
21
21
  <string>tagopt</string>
22
- <string></string>
22
+ <string/>
23
23
  </org.spearce.jgit.transport.RemoteConfig>
24
24
  </remoteRepositories>
25
25
  <branches>
@@ -59,25 +59,25 @@ end</command>
59
59
  </hudson.plugins.ruby.Ruby>
60
60
  <hudson.plugins.rake.Rake>
61
61
  <rakeInstallation>(Default)</rakeInstallation>
62
- <rakeFile></rakeFile>
63
- <rakeLibDir></rakeLibDir>
64
- <rakeWorkingDir></rakeWorkingDir>
62
+ <rakeFile/>
63
+ <rakeLibDir/>
64
+ <rakeWorkingDir/>
65
65
  <tasks>db:schema:load</tasks>
66
66
  <silent>false</silent>
67
67
  </hudson.plugins.rake.Rake>
68
68
  <hudson.plugins.rake.Rake>
69
69
  <rakeInstallation>(Default)</rakeInstallation>
70
- <rakeFile></rakeFile>
71
- <rakeLibDir></rakeLibDir>
72
- <rakeWorkingDir></rakeWorkingDir>
70
+ <rakeFile/>
71
+ <rakeLibDir/>
72
+ <rakeWorkingDir/>
73
73
  <tasks>features</tasks>
74
74
  <silent>false</silent>
75
75
  </hudson.plugins.rake.Rake>
76
76
  <hudson.plugins.rake.Rake>
77
77
  <rakeInstallation>(Default)</rakeInstallation>
78
- <rakeFile></rakeFile>
79
- <rakeLibDir></rakeLibDir>
80
- <rakeWorkingDir></rakeWorkingDir>
78
+ <rakeFile/>
79
+ <rakeLibDir/>
80
+ <rakeWorkingDir/>
81
81
  <tasks>spec</tasks>
82
82
  <silent>false</silent>
83
83
  </hudson.plugins.rake.Rake>
@@ -45,38 +45,40 @@
45
45
  <concurrentBuild>false</concurrentBuild>
46
46
  <builders>
47
47
  <hudson.plugins.ruby.Ruby>
48
- <command>unless File.exist?(&quot;config/database.yml&quot;)
48
+ <command>
49
+ unless File.exist?(&quot;config/database.yml&quot;)
49
50
  require &apos;fileutils&apos;
50
51
  example = Dir[&quot;config/database*&quot;].first
51
52
  puts &quot;Using #{example} for config/database.yml&quot;
52
53
  FileUtils.cp example, &quot;config/database.yml&quot;
53
- end</command>
54
+ end
55
+ </command>
54
56
  </hudson.plugins.ruby.Ruby>
55
57
  <hudson.plugins.rake.Rake>
56
58
  <rakeInstallation>(Default)</rakeInstallation>
57
- <rakeFile></rakeFile>
58
- <rakeLibDir></rakeLibDir>
59
- <rakeWorkingDir></rakeWorkingDir>
59
+ <rakeFile/>
60
+ <rakeLibDir/>
61
+ <rakeWorkingDir/>
60
62
  <tasks>db:schema:load</tasks>
61
63
  <silent>false</silent>
62
64
  </hudson.plugins.rake.Rake>
63
65
  <hudson.plugins.rake.Rake>
64
66
  <rakeInstallation>(Default)</rakeInstallation>
65
- <rakeFile></rakeFile>
66
- <rakeLibDir></rakeLibDir>
67
- <rakeWorkingDir></rakeWorkingDir>
67
+ <rakeFile/>
68
+ <rakeLibDir/>
69
+ <rakeWorkingDir/>
68
70
  <tasks>features</tasks>
69
71
  <silent>false</silent>
70
72
  </hudson.plugins.rake.Rake>
71
73
  <hudson.plugins.rake.Rake>
72
74
  <rakeInstallation>(Default)</rakeInstallation>
73
- <rakeFile></rakeFile>
74
- <rakeLibDir></rakeLibDir>
75
- <rakeWorkingDir></rakeWorkingDir>
75
+ <rakeFile/>
76
+ <rakeLibDir/>
77
+ <rakeWorkingDir/>
76
78
  <tasks>spec</tasks>
77
79
  <silent>false</silent>
78
80
  </hudson.plugins.rake.Rake>
79
81
  </builders>
80
82
  <publishers/>
81
83
  <buildWrappers/>
82
- </project>
84
+ </project>
@@ -15,7 +15,7 @@ describe Hudson::JobConfigBuilder do
15
15
  config_xml.should == @config.to_xml
16
16
  end
17
17
  end
18
-
18
+
19
19
  describe "rubygem job; single axis; block syntax" do
20
20
  before do
21
21
  @config = Hudson::JobConfigBuilder.new(:rubygem) do |c|
@@ -27,4 +27,26 @@ describe Hudson::JobConfigBuilder do
27
27
  config_xml.should == @config.to_xml
28
28
  end
29
29
  end
30
+
31
+ describe "assigned slave nodes for slave usage" do
32
+ before do
33
+ @config = Hudson::JobConfigBuilder.new(:rails) do |c|
34
+ c.assigned_node = "my-slave"
35
+ end
36
+ end
37
+ it "builds config.xml" do
38
+ Hpricot.XML(@config.to_xml).search("assignedNode").size.should == 1
39
+ Hpricot.XML(@config.to_xml).search("assignedNode").text.should == "my-slave"
40
+ end
41
+ end
42
+
43
+ describe "no specific slave nodes" do
44
+ before do
45
+ @config = Hudson::JobConfigBuilder.new(:rails) do |c|
46
+ end
47
+ end
48
+ it "builds config.xml" do
49
+ Hpricot.XML(@config.to_xml).search("assignedNode").size.should == 0
50
+ end
51
+ end
30
52
  end
data/spec/spec_helper.rb CHANGED
@@ -1,13 +1,9 @@
1
- begin
2
- require 'rspec'
3
- rescue LoadError
4
- require 'rubygems' unless ENV['NO_RUBYGEMS']
5
- gem 'rspec'
6
- require 'rspec'
7
- end
1
+ require "bundler"
2
+ Bundler.setup
8
3
 
9
4
  $:.unshift(File.dirname(__FILE__) + '/../lib')
10
5
  require 'hudson'
6
+ require 'hpricot'
11
7
 
12
8
  module ConfigFixtureLoaders
13
9
  def config_xml(name, variation = nil)
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: 62196373
4
+ hash: 62196379
5
5
  prerelease: true
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
9
  - 0
10
10
  - beta
11
- - 3
12
- version: 0.3.0.beta.3
11
+ - 4
12
+ version: 0.3.0.beta.4
13
13
  platform: ruby
14
14
  authors:
15
15
  - Charles Lowell
@@ -153,13 +153,12 @@ dependencies:
153
153
  requirements:
154
154
  - - ~>
155
155
  - !ruby/object:Gem::Version
156
- hash: 31098209
156
+ hash: 15
157
157
  segments:
158
158
  - 2
159
159
  - 0
160
160
  - 0
161
- - beta
162
- version: 2.0.0.beta
161
+ version: 2.0.0
163
162
  type: :development
164
163
  prerelease: false
165
164
  name: rspec