jenkins 0.6.4 → 0.6.5

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/.gitignore CHANGED
@@ -3,4 +3,6 @@ tmp
3
3
  var
4
4
  *.rbc
5
5
  .bundle
6
- pkg/
6
+ pkg/
7
+ *.swp
8
+ .rvmrc
data/README.md CHANGED
@@ -58,7 +58,7 @@ To add Jobs/Projects (create a Job) on a Jenkins server:
58
58
 
59
59
  Usage: jenkins create PROJECT_PATH [options]
60
60
  --public-scm use public scm URL
61
- --template [ruby] template of job steps (available: rails,rails3,ruby,rubygem)
61
+ --template [ruby] template of job steps (available: rails,rails3,ruby,rubygem,erlang)
62
62
  --assigned-node [ASSIGNED-NODE] only use slave nodes with this label
63
63
  --override override if job exists
64
64
  --no-build create job without initial build
data/Rakefile CHANGED
@@ -62,7 +62,7 @@ namespace :jenkins do
62
62
  logfile = File.expand_path("../var/jenkins/test.log", __FILE__)
63
63
  puts "Launching jenkins test server at http://localhost:#{port}..."
64
64
  puts " output will be logged to #{logfile}"
65
- `ruby bin/jenkins server --home #{File.dirname(plugin_dir)} --port #{port} --control #{control} --daemon --logfile #{logfile}`
65
+ `bundle exec bin/jenkins server --home #{File.dirname(plugin_dir)} --port #{port} --control #{control} --daemon --logfile #{logfile}`
66
66
  end
67
67
  end
68
68
 
@@ -1,7 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- require 'rubygems'
3
- $:.unshift(File.expand_path(File.dirname(File.dirname(__FILE__) + "/../lib/jenkins.rb")))
4
- require File.expand_path(File.dirname(__FILE__) + '/../lib/jenkins')
2
+ require 'jenkins'
5
3
  require 'jenkins/cli'
6
4
 
7
5
  begin
@@ -0,0 +1,8 @@
1
+ <%
2
+ rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
3
+ rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
4
+ std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~@wip"
5
+ %>
6
+ default: --drb <%= std_opts %> features
7
+ wip: --drb --tags @wip:3 --wip features
8
+ rerun: --drb <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
@@ -28,15 +28,15 @@ Feature: Show build details
28
28
  When I run local executable "jenkins" with arguments "build_details ruby 1 --host localhost --port 3010 --json"
29
29
  Then I should see
30
30
  """
31
- "builtOn":"","result":"FAILURE","number":1,"keepLog":false,
31
+ "number":1
32
32
  """
33
33
  And I should see
34
34
  """
35
- "actions":[{"causes":[{"userName":"anonymous","shortDescription":"Started by user anonymous"},{"userName":"anonymous","shortDescription":"Started by user anonymous"}]}],
35
+ "actions":[
36
36
  """
37
37
  And I should see
38
38
  """
39
- "description":null,"changeSet":{"kind":null,"items":[]},"fullDisplayName":"ruby #1"
39
+ "changeSet":{
40
40
  """
41
41
 
42
42
 
@@ -0,0 +1,36 @@
1
+ Feature: Configure host connection information
2
+
3
+ Scenario: Configure host connection information and check default host and reconfigure
4
+ Given I run local executable "jenkins" with arguments "configure --host localhost --port 3010"
5
+ When I run local executable "jenkins" with arguments "default_host"
6
+ Then I should see exactly
7
+ """
8
+ http://localhost:3010
9
+ """
10
+ Given I run local executable "jenkins" with arguments "configure --host localhost --port 3010 --ssl"
11
+ When I run local executable "jenkins" with arguments "default_host"
12
+ Then I should see exactly
13
+ """
14
+ https://localhost:3010
15
+ """
16
+
17
+ Scenario: Configure host connection authentication information and check auth_info and reconfigure
18
+ Given I run local executable "jenkins" with arguments "auth_info"
19
+ Then I should see exactly
20
+ """
21
+ """
22
+ When I run local executable "jenkins" with arguments "configure --username jenkins --password sniknej"
23
+ And I run local executable "jenkins" with arguments "auth_info"
24
+ Then I should see exactly
25
+ """
26
+ username: jenkins
27
+ password: sniknej
28
+ """
29
+ When I run local executable "jenkins" with arguments "configure --username jenkins1 --password 1sniknej"
30
+ And I run local executable "jenkins" with arguments "auth_info"
31
+ Then I should see exactly
32
+ """
33
+ username: jenkins1
34
+ password: 1sniknej
35
+ """
36
+
@@ -1,19 +1,26 @@
1
1
  Feature: Display default host information
2
2
 
3
3
  Scenario: Display default host information if it is setup
4
- Given I run local executable "jenkins" with arguments "list --host localhost --port 3010"
4
+ Given I run local executable "jenkins" with arguments "configure --host localhost --port 3010"
5
5
  When I run local executable "jenkins" with arguments "default_host"
6
6
  Then I should see exactly
7
7
  """
8
8
  http://localhost:3010
9
9
  """
10
10
 
11
+ Scenario: Display default secure host information if it is setup
12
+ Given I run local executable "jenkins" with arguments "configure --host localhost --port 3010 --ssl"
13
+ When I run local executable "jenkins" with arguments "default_host"
14
+ Then I should see exactly
15
+ """
16
+ https://localhost:3010
17
+ """
18
+
11
19
  Scenario: Display warning if never used Jenkins.rb before
12
20
  When I run local executable "jenkins" with arguments "default_host"
13
21
  Then I should see exactly
14
22
  """
15
23
  ERROR: Either use --host or add remote servers.
16
24
  """
17
-
18
-
19
-
25
+
26
+
@@ -151,6 +151,12 @@ Feature: Create and manage jobs
151
151
  When I run local executable "jenkins" with arguments "create . --template rails3 --host localhost --port 3010"
152
152
  Then I should see "Added rails3 project 'rails-3' to Jenkins."
153
153
 
154
+ Scenario: Select 'erlang' project type (jenkins create --template erlang)
155
+ Given I am in the "erlang" project folder
156
+ And the project uses "git" scm
157
+ When I run local executable "jenkins" with arguments "create . --template erlang --host localhost --port 3010"
158
+ Then I should see "Added erlang project 'erlang' to Jenkins."
159
+
154
160
  Scenario: Create job without default steps (jenkins create --no-template)
155
161
  Given I am in the "non-bundler" project folder
156
162
  And the project uses "git" scm
@@ -0,0 +1 @@
1
+ % important erlang business here
@@ -13,18 +13,20 @@ module Jenkins
13
13
  headers 'content-type' => 'application/json'
14
14
  format :json
15
15
  # http_proxy 'localhost', '8888'
16
-
16
+
17
17
  JobAlreadyExistsError = Class.new(Exception)
18
18
 
19
19
  def self.setup_base_url(options)
20
20
  options = options.with_clean_keys
21
21
  # Thor's HashWithIndifferentAccess is based on string keys which URI::HTTP.build ignores
22
22
  options = options.inject({}) { |mem, (key, val)| mem[key.to_sym] = val; mem }
23
+ options = setup_authentication(options)
23
24
  options[:host] ||= ENV['JENKINS_HOST']
24
25
  options[:port] ||= ENV['JENKINS_PORT']
25
26
  options[:port] &&= options[:port].to_i
26
27
  return false unless options[:host] || Jenkins::Config.config["base_uri"]
27
- uri = options[:host] ? URI::HTTP.build(options) : Jenkins::Config.config["base_uri"]
28
+ uri_class = options.delete(:ssl) ? URI::HTTPS : URI::HTTP
29
+ uri = options[:host] ? uri_class.build(options) : Jenkins::Config.config["base_uri"]
28
30
  base_uri uri.to_s
29
31
  uri
30
32
  end
@@ -45,7 +47,7 @@ module Jenkins
45
47
  :body => job_config.to_xml, :format => :xml, :headers => { 'content-type' => 'application/xml' }
46
48
  }
47
49
  if res.code.to_i == 200
48
- cache_base_uri
50
+ cache_configuration!
49
51
  true
50
52
  else
51
53
  require "hpricot"
@@ -66,13 +68,13 @@ module Jenkins
66
68
  raise JobAlreadyExistsError.new(name)
67
69
  end
68
70
  end
69
-
71
+
70
72
  # Attempts to delete a job +name+
71
73
  def self.delete_job(name)
72
74
  res = post_plain "#{job_url name}/doDelete"
73
75
  res.code.to_i == 302
74
76
  end
75
-
77
+
76
78
  def self.build_job(name)
77
79
  res = get_plain "/job/#{name}/build"
78
80
  res.code.to_i == 302
@@ -80,10 +82,10 @@ module Jenkins
80
82
 
81
83
  def self.summary
82
84
  json = get "/api/json"
83
- cache_base_uri
85
+ cache_configuration!
84
86
  json
85
87
  end
86
-
88
+
87
89
  def self.job_names
88
90
  summary["jobs"].map {|job| job["name"]}
89
91
  end
@@ -92,7 +94,7 @@ module Jenkins
92
94
  def self.job(name)
93
95
  begin
94
96
  json = get "/job/#{name}/api/json"
95
- cache_base_uri
97
+ cache_configuration!
96
98
  json
97
99
  rescue Crack::ParseError
98
100
  false
@@ -103,7 +105,7 @@ module Jenkins
103
105
  def self.build_details(job_name, build_number)
104
106
  begin
105
107
  json = get "/job/#{job_name}/#{build_number}/api/json"
106
- cache_base_uri
108
+ cache_configuration!
107
109
  json
108
110
  rescue Crack::ParseError
109
111
  false
@@ -112,7 +114,7 @@ module Jenkins
112
114
 
113
115
  def self.nodes
114
116
  json = get "/computer/api/json"
115
- cache_base_uri
117
+ cache_configuration!
116
118
  json
117
119
  end
118
120
 
@@ -142,7 +144,7 @@ module Jenkins
142
144
  )
143
145
  end
144
146
  options = default_options.merge(options)
145
-
147
+
146
148
  slave_host = options[:slave_host]
147
149
  name = options[:name] || slave_host
148
150
  labels = options[:labels].split(/\s*,\s*/).join(' ') if options[:labels]
@@ -198,7 +200,7 @@ module Jenkins
198
200
  false
199
201
  end
200
202
  end
201
-
203
+
202
204
  def self.delete_node(name)
203
205
  post_plain("#{base_uri}/computer/#{CGI::escape(name).gsub('+', '%20')}/doDelete/api/json")
204
206
  end
@@ -207,7 +209,7 @@ module Jenkins
207
209
  def self.post_plain(path, data = "", options = {})
208
210
  options = options.with_clean_keys
209
211
  uri = URI.parse base_uri
210
- res = Net::HTTP.start(uri.host, uri.port) do |http|
212
+ res = Net::HTTP.start(uri.host, uri.port) do |http|
211
213
  if RUBY_VERSION =~ /1.8/
212
214
  http.post(path, options)
213
215
  else
@@ -215,20 +217,32 @@ module Jenkins
215
217
  end
216
218
  end
217
219
  end
218
-
220
+
219
221
  # Helper for GET that don't barf at Jenkins's crappy API responses
220
222
  def self.get_plain(path, options = {})
221
223
  options = options.with_clean_keys
222
224
  uri = URI.parse base_uri
223
225
  res = Net::HTTP.start(uri.host, uri.port) { |http| http.get(path, options) }
224
226
  end
225
-
226
- private
227
- def self.cache_base_uri
227
+
228
+ def self.cache_configuration!
228
229
  Jenkins::Config.config["base_uri"] = base_uri
230
+ Jenkins::Config.config["basic_auth"] = default_options[:basic_auth]
229
231
  Jenkins::Config.store!
230
232
  end
231
-
233
+
234
+ private
235
+ def self.setup_authentication(options)
236
+ username, password = options.delete(:username), options.delete(:password)
237
+ if username && password
238
+ basic_auth username, password
239
+ elsif Jenkins::Config.config["basic_auth"]
240
+ basic_auth Jenkins::Config.config["basic_auth"]["username"],
241
+ Jenkins::Config.config["basic_auth"]["password"]
242
+ end
243
+ options
244
+ end
245
+
232
246
  def self.job_url(name)
233
247
  "#{base_uri}/job/#{name}"
234
248
  end
@@ -11,8 +11,11 @@ module Jenkins
11
11
  map "-v" => :version, "--version" => :version, "-h" => :help, "--help" => :help
12
12
 
13
13
  def self.common_options
14
- method_option :host, :desc => 'connect to jenkins server on this host'
15
- method_option :port, :desc => 'connect to jenkins server on this port'
14
+ method_option :host, :desc => 'connect to jenkins server on this host'
15
+ method_option :port, :desc => 'connect to jenkins server on this port'
16
+ method_option :ssl, :desc => 'connect to jenkins server with ssl', :type => :boolean, :default => false
17
+ method_option :username, :desc => 'connect to jenkins server with username'
18
+ method_option :password, :desc => 'connect to jenkins server with password'
16
19
  end
17
20
 
18
21
  desc "server [options]", "run a jenkins server"
@@ -50,7 +53,7 @@ module Jenkins
50
53
  unless scm = Jenkins::ProjectScm.discover(options[:scm])
51
54
  error "Cannot determine project SCM. Currently supported: #{Jenkins::ProjectScm.supported}"
52
55
  end
53
- unless (options[:template] == "none" || options[:"no-template"]) || File.exists?("Gemfile")
56
+ unless (options[:template] == "none" || options[:template] == "erlang" || options[:"no-template"]) || File.exists?("Gemfile")
54
57
  error "Ruby/Rails projects without a Gemfile are currently unsupported."
55
58
  end
56
59
  begin
@@ -86,7 +89,7 @@ module Jenkins
86
89
  end
87
90
  end
88
91
  end
89
-
92
+
90
93
  desc "build [PROJECT_PATH]", "trigger build of this project's build job"
91
94
  common_options
92
95
  def build(project_path = ".")
@@ -100,7 +103,7 @@ module Jenkins
100
103
  end
101
104
  end
102
105
  end
103
-
106
+
104
107
  desc "remove PROJECT_PATH", "remove this project's build job from Jenkins"
105
108
  common_options
106
109
  def remove(project_path)
@@ -114,7 +117,7 @@ module Jenkins
114
117
  end
115
118
  end
116
119
  end
117
-
120
+
118
121
  desc "job NAME", "Display job details"
119
122
  method_option :hash, :desc => 'Dump as formatted Ruby hash format'
120
123
  method_option :json, :desc => 'Dump as JSON format'
@@ -193,7 +196,7 @@ module Jenkins
193
196
  shell.say node["displayName"], color
194
197
  end
195
198
  end
196
-
199
+
197
200
  desc "add_node SLAVE_HOST", "add a URI (user@host:port) server as a slave node"
198
201
  method_option :labels, :desc => 'Labels for a job --assigned_node to match against to select a slave (comma separated)'
199
202
  method_option :"slave-user", :desc => 'SSH user for Jenkins to connect to slave node (default: deploy)'
@@ -211,7 +214,7 @@ module Jenkins
211
214
  error "Failed to add slave node #{slave_host}"
212
215
  end
213
216
  end
214
-
217
+
215
218
  desc "default_host", "display current default host:port URI"
216
219
  def default_host
217
220
  if select_jenkins_server({})
@@ -221,6 +224,21 @@ module Jenkins
221
224
  end
222
225
  end
223
226
 
227
+ desc "configure", "configure host connection information"
228
+ common_options
229
+ def configure
230
+ Jenkins::Api.setup_base_url(options)
231
+ Jenkins::Api.cache_configuration!
232
+ end
233
+
234
+ desc "auth_info", "display authentication information"
235
+ def auth_info
236
+ if auth = Jenkins::Config.config['basic_auth']
237
+ shell.say "username: #{auth["username"]}"
238
+ shell.say "password: #{auth["password"]}"
239
+ end
240
+ end
241
+
224
242
  desc "help [command]", "show help for jenkins or for a specific command"
225
243
  def help(*args)
226
244
  super(*args)
@@ -265,7 +283,7 @@ USEAGE
265
283
  shell.say "ERROR: #{text}", :red
266
284
  exit
267
285
  end
268
-
286
+
269
287
  def cmd
270
288
  ENV['CUCUMBER_RUNNING'] ? 'jenkins' : $0
271
289
  end
@@ -11,7 +11,7 @@ module Jenkins
11
11
 
12
12
  InvalidTemplate = Class.new(StandardError)
13
13
 
14
- VALID_JOB_TEMPLATES = %w[none rails rails3 ruby rubygem]
14
+ VALID_JOB_TEMPLATES = %w[none rails rails3 ruby rubygem erlang]
15
15
 
16
16
  # +job_type+ - template of default steps to create with the job
17
17
  # +steps+ - array of [:method, cmd], e.g. [:build_shell_step, "bundle initial"]
@@ -216,6 +216,11 @@ module Jenkins
216
216
  [:build_shell_step, "bundle install"],
217
217
  [:build_shell_step, "bundle exec rake"]
218
218
  ]
219
+ when :erlang
220
+ [
221
+ [:build_shell_step, "rebar compile"],
222
+ [:build_shell_step, "rebar ct"]
223
+ ]
219
224
  else
220
225
  [ [:build_shell_step, 'echo "THERE ARE NO STEPS! Except this one..."'] ]
221
226
  end
@@ -1,3 +1,3 @@
1
1
  module Jenkins
2
- VERSION = "0.6.4"
2
+ VERSION = "0.6.5"
3
3
  end
@@ -0,0 +1,59 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project>
3
+ <actions/>
4
+ <description/>
5
+ <keepDependencies>false</keepDependencies>
6
+ <properties/>
7
+ <scm class="hudson.plugins.git.GitSCM">
8
+ <configVersion>1</configVersion>
9
+ <remoteRepositories>
10
+ <org.spearce.jgit.transport.RemoteConfig>
11
+ <string>origin</string>
12
+ <int>5</int>
13
+ <string>fetch</string>
14
+ <string>+refs/heads/*:refs/remotes/origin/*</string>
15
+ <string>receivepack</string>
16
+ <string>git-upload-pack</string>
17
+ <string>uploadpack</string>
18
+ <string>git-upload-pack</string>
19
+ <string>url</string>
20
+ <string>git://codebasehq.com/mocra/misc/mocra-web.git</string>
21
+ <string>tagopt</string>
22
+ <string/>
23
+ </org.spearce.jgit.transport.RemoteConfig>
24
+ </remoteRepositories>
25
+ <branches>
26
+ <hudson.plugins.git.BranchSpec>
27
+ <name>master</name>
28
+ </hudson.plugins.git.BranchSpec>
29
+ </branches>
30
+ <localBranch/>
31
+ <mergeOptions/>
32
+ <recursiveSubmodules>false</recursiveSubmodules>
33
+ <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
34
+ <authorOrCommitter>false</authorOrCommitter>
35
+ <clean>false</clean>
36
+ <wipeOutWorkspace>false</wipeOutWorkspace>
37
+ <buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
38
+ <gitTool>Default</gitTool>
39
+ <submoduleCfg class="list"/>
40
+ <relativeTargetDir/>
41
+ <excludedRegions/>
42
+ <excludedUsers/>
43
+ </scm>
44
+ <canRoam>true</canRoam>
45
+ <disabled>false</disabled>
46
+ <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
47
+ <triggers class="vector"/>
48
+ <concurrentBuild>false</concurrentBuild>
49
+ <builders>
50
+ <hudson.tasks.Shell>
51
+ <command>rebar compile</command>
52
+ </hudson.tasks.Shell>
53
+ <hudson.tasks.Shell>
54
+ <command>rebar ct</command>
55
+ </hudson.tasks.Shell>
56
+ </builders>
57
+ <publishers/>
58
+ <buildWrappers/>
59
+ </project>
@@ -134,4 +134,17 @@ describe Jenkins::JobConfigBuilder do
134
134
  Hpricot.XML(@config.to_xml).search("buildWrappers").to_s.should == xml_bite.strip
135
135
  end
136
136
  end
137
+
138
+ describe "erlang job; single axis" do
139
+ before do
140
+ @config = Jenkins::JobConfigBuilder.new(:erlang) do |c|
141
+ c.scm = "git://codebasehq.com/mocra/misc/mocra-web.git"
142
+ end
143
+ end
144
+ it "builds config.xml" do
145
+ config_xml("erlang", "single").should == @config.to_xml
146
+ end
147
+ end
148
+
149
+
137
150
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jenkins
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
4
+ hash: 13
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 6
9
- - 4
10
- version: 0.6.4
9
+ - 5
10
+ version: 0.6.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Charles Lowell
@@ -16,13 +16,12 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-04-13 00:00:00 -07:00
19
+ date: 2011-05-26 00:00:00 -05:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
23
  name: term-ansicolor
24
24
  prerelease: false
25
- type: :runtime
26
25
  requirement: &id001 !ruby/object:Gem::Requirement
27
26
  none: false
28
27
  requirements:
@@ -34,11 +33,11 @@ dependencies:
34
33
  - 0
35
34
  - 4
36
35
  version: 1.0.4
36
+ type: :runtime
37
37
  version_requirements: *id001
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: httparty
40
40
  prerelease: false
41
- type: :runtime
42
41
  requirement: &id002 !ruby/object:Gem::Requirement
43
42
  none: false
44
43
  requirements:
@@ -50,11 +49,11 @@ dependencies:
50
49
  - 6
51
50
  - 1
52
51
  version: 0.6.1
52
+ type: :runtime
53
53
  version_requirements: *id002
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: builder
56
56
  prerelease: false
57
- type: :runtime
58
57
  requirement: &id003 !ruby/object:Gem::Requirement
59
58
  none: false
60
59
  requirements:
@@ -66,11 +65,11 @@ dependencies:
66
65
  - 1
67
66
  - 2
68
67
  version: 2.1.2
68
+ type: :runtime
69
69
  version_requirements: *id003
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: thor
72
72
  prerelease: false
73
- type: :runtime
74
73
  requirement: &id004 !ruby/object:Gem::Requirement
75
74
  none: false
76
75
  requirements:
@@ -82,11 +81,11 @@ dependencies:
82
81
  - 14
83
82
  - 2
84
83
  version: 0.14.2
84
+ type: :runtime
85
85
  version_requirements: *id004
86
86
  - !ruby/object:Gem::Dependency
87
87
  name: hpricot
88
88
  prerelease: false
89
- type: :runtime
90
89
  requirement: &id005 !ruby/object:Gem::Requirement
91
90
  none: false
92
91
  requirements:
@@ -96,11 +95,11 @@ dependencies:
96
95
  segments:
97
96
  - 0
98
97
  version: "0"
98
+ type: :runtime
99
99
  version_requirements: *id005
100
100
  - !ruby/object:Gem::Dependency
101
101
  name: json_pure
102
102
  prerelease: false
103
- type: :runtime
104
103
  requirement: &id006 !ruby/object:Gem::Requirement
105
104
  none: false
106
105
  requirements:
@@ -112,11 +111,11 @@ dependencies:
112
111
  - 5
113
112
  - 1
114
113
  version: 1.5.1
114
+ type: :runtime
115
115
  version_requirements: *id006
116
116
  - !ruby/object:Gem::Dependency
117
117
  name: jenkins-war
118
118
  prerelease: false
119
- type: :development
120
119
  requirement: &id007 !ruby/object:Gem::Requirement
121
120
  none: false
122
121
  requirements:
@@ -127,11 +126,11 @@ dependencies:
127
126
  - 1
128
127
  - 396
129
128
  version: "1.396"
129
+ type: :development
130
130
  version_requirements: *id007
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: rake
133
133
  prerelease: false
134
- type: :development
135
134
  requirement: &id008 !ruby/object:Gem::Requirement
136
135
  none: false
137
136
  requirements:
@@ -143,11 +142,11 @@ dependencies:
143
142
  - 8
144
143
  - 7
145
144
  version: 0.8.7
145
+ type: :development
146
146
  version_requirements: *id008
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: cucumber
149
149
  prerelease: false
150
- type: :development
151
150
  requirement: &id009 !ruby/object:Gem::Requirement
152
151
  none: false
153
152
  requirements:
@@ -159,11 +158,11 @@ dependencies:
159
158
  - 10
160
159
  - 0
161
160
  version: 0.10.0
161
+ type: :development
162
162
  version_requirements: *id009
163
163
  - !ruby/object:Gem::Dependency
164
164
  name: rspec
165
165
  prerelease: false
166
- type: :development
167
166
  requirement: &id010 !ruby/object:Gem::Requirement
168
167
  none: false
169
168
  requirements:
@@ -175,11 +174,11 @@ dependencies:
175
174
  - 0
176
175
  - 0
177
176
  version: 2.0.0
177
+ type: :development
178
178
  version_requirements: *id010
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: awesome_print
181
181
  prerelease: false
182
- type: :development
183
182
  requirement: &id011 !ruby/object:Gem::Requirement
184
183
  none: false
185
184
  requirements:
@@ -189,6 +188,7 @@ dependencies:
189
188
  segments:
190
189
  - 0
191
190
  version: "0"
191
+ type: :development
192
192
  version_requirements: *id011
193
193
  description: A suite of utilities for bringing continous integration to your projects (not the other way around) with jenkins CI
194
194
  email:
@@ -208,7 +208,9 @@ files:
208
208
  - README.md
209
209
  - Rakefile
210
210
  - bin/jenkins
211
+ - cucumber.yml
211
212
  - features/build_details.feature
213
+ - features/configure.feature
212
214
  - features/default_host.feature
213
215
  - features/development.feature
214
216
  - features/launch_server.feature
@@ -230,6 +232,7 @@ files:
230
232
  - fixtures/jenkins/greenballs.hpi
231
233
  - fixtures/jenkins/rake.hpi
232
234
  - fixtures/jenkins/ruby.hpi
235
+ - fixtures/projects/erlang/rebar.config
233
236
  - fixtures/projects/non-bundler/Rakefile
234
237
  - fixtures/projects/rails-3/.gitignore
235
238
  - fixtures/projects/rails-3/Gemfile
@@ -292,6 +295,7 @@ files:
292
295
  - lib/jenkins/remote.rb
293
296
  - lib/jenkins/version.rb
294
297
  - spec/fixtures/ec2_global.config.xml
298
+ - spec/fixtures/erlang.single.config.xml
295
299
  - spec/fixtures/rails.multi.config.xml
296
300
  - spec/fixtures/rails.single.config.triggers.xml
297
301
  - spec/fixtures/rails.single.config.xml
@@ -332,7 +336,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
332
336
  requirements: []
333
337
 
334
338
  rubyforge_project: jenkins
335
- rubygems_version: 1.6.0
339
+ rubygems_version: 1.6.2
336
340
  signing_key:
337
341
  specification_version: 3
338
342
  summary: Painless Continuous Integration with Jenkins Server