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

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.
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