jenkins 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. data/.gitignore +6 -0
  2. data/Changelog.md +40 -0
  3. data/Gemfile +3 -0
  4. data/Gemfile.lock +58 -0
  5. data/README.md +154 -0
  6. data/Rakefile +82 -0
  7. data/bin/jenkins +10 -0
  8. data/features/default_host.feature +19 -0
  9. data/features/development.feature +14 -0
  10. data/features/launch_server.feature +16 -0
  11. data/features/listing_jobs.feature +34 -0
  12. data/features/manage_jobs.feature +208 -0
  13. data/features/manage_slave_nodes.feature +82 -0
  14. data/features/step_definitions/common_steps.rb +192 -0
  15. data/features/step_definitions/fixture_project_steps.rb +8 -0
  16. data/features/step_definitions/jenkins_steps.rb +104 -0
  17. data/features/step_definitions/scm_steps.rb +12 -0
  18. data/features/support/common.rb +37 -0
  19. data/features/support/env.rb +19 -0
  20. data/features/support/hooks.rb +16 -0
  21. data/features/support/jenkins_helpers.rb +6 -0
  22. data/features/support/matchers.rb +10 -0
  23. data/fixtures/jenkins/envfile.hpi +0 -0
  24. data/fixtures/jenkins/git.hpi +0 -0
  25. data/fixtures/jenkins/github.hpi +0 -0
  26. data/fixtures/jenkins/greenballs.hpi +0 -0
  27. data/fixtures/jenkins/rake.hpi +0 -0
  28. data/fixtures/jenkins/ruby.hpi +0 -0
  29. data/fixtures/projects/non-bundler/Rakefile +4 -0
  30. data/fixtures/projects/rails-3/.gitignore +4 -0
  31. data/fixtures/projects/rails-3/Gemfile +30 -0
  32. data/fixtures/projects/rails-3/Gemfile.lock +74 -0
  33. data/fixtures/projects/rails-3/README +256 -0
  34. data/fixtures/projects/rails-3/Rakefile +7 -0
  35. data/fixtures/projects/rails-3/app/controllers/application_controller.rb +3 -0
  36. data/fixtures/projects/rails-3/app/helpers/application_helper.rb +2 -0
  37. data/fixtures/projects/rails-3/app/views/layouts/application.html.erb +14 -0
  38. data/fixtures/projects/rails-3/config.ru +4 -0
  39. data/fixtures/projects/rails-3/config/application.rb +42 -0
  40. data/fixtures/projects/rails-3/config/boot.rb +13 -0
  41. data/fixtures/projects/rails-3/config/database.yml +22 -0
  42. data/fixtures/projects/rails-3/config/environment.rb +5 -0
  43. data/fixtures/projects/rails-3/config/environments/development.rb +26 -0
  44. data/fixtures/projects/rails-3/config/environments/production.rb +49 -0
  45. data/fixtures/projects/rails-3/config/environments/test.rb +35 -0
  46. data/fixtures/projects/rails-3/config/initializers/backtrace_silencers.rb +7 -0
  47. data/fixtures/projects/rails-3/config/initializers/inflections.rb +10 -0
  48. data/fixtures/projects/rails-3/config/initializers/mime_types.rb +5 -0
  49. data/fixtures/projects/rails-3/config/initializers/secret_token.rb +7 -0
  50. data/fixtures/projects/rails-3/config/initializers/session_store.rb +8 -0
  51. data/fixtures/projects/rails-3/config/locales/en.yml +5 -0
  52. data/fixtures/projects/rails-3/config/routes.rb +58 -0
  53. data/fixtures/projects/rails-3/db/seeds.rb +7 -0
  54. data/fixtures/projects/rails-3/doc/README_FOR_APP +2 -0
  55. data/fixtures/projects/rails-3/lib/tasks/.gitkeep +0 -0
  56. data/fixtures/projects/rails-3/public/404.html +26 -0
  57. data/fixtures/projects/rails-3/public/422.html +26 -0
  58. data/fixtures/projects/rails-3/public/500.html +26 -0
  59. data/fixtures/projects/rails-3/public/favicon.ico +0 -0
  60. data/fixtures/projects/rails-3/public/images/rails.png +0 -0
  61. data/fixtures/projects/rails-3/public/index.html +239 -0
  62. data/fixtures/projects/rails-3/public/javascripts/application.js +2 -0
  63. data/fixtures/projects/rails-3/public/javascripts/controls.js +965 -0
  64. data/fixtures/projects/rails-3/public/javascripts/dragdrop.js +974 -0
  65. data/fixtures/projects/rails-3/public/javascripts/effects.js +1123 -0
  66. data/fixtures/projects/rails-3/public/javascripts/prototype.js +6001 -0
  67. data/fixtures/projects/rails-3/public/javascripts/rails.js +175 -0
  68. data/fixtures/projects/rails-3/public/robots.txt +5 -0
  69. data/fixtures/projects/rails-3/public/stylesheets/.gitkeep +0 -0
  70. data/fixtures/projects/rails-3/script/rails +6 -0
  71. data/fixtures/projects/rails-3/test/performance/browsing_test.rb +9 -0
  72. data/fixtures/projects/rails-3/test/test_helper.rb +13 -0
  73. data/fixtures/projects/rails-3/vendor/plugins/.gitkeep +0 -0
  74. data/fixtures/projects/ruby/Gemfile +3 -0
  75. data/fixtures/projects/ruby/Gemfile.lock +10 -0
  76. data/fixtures/projects/ruby/Rakefile +4 -0
  77. data/jenkins.gemspec +34 -0
  78. data/lib/jenkins.rb +6 -0
  79. data/lib/jenkins/api.rb +219 -0
  80. data/lib/jenkins/cli.rb +249 -0
  81. data/lib/jenkins/cli/formatting.rb +53 -0
  82. data/lib/jenkins/config.rb +27 -0
  83. data/lib/jenkins/core_ext/hash.rb +9 -0
  84. data/lib/jenkins/core_ext/object/blank.rb +77 -0
  85. data/lib/jenkins/hudson-cli.jar +0 -0
  86. data/lib/jenkins/job_config_builder.rb +287 -0
  87. data/lib/jenkins/project_scm.rb +22 -0
  88. data/lib/jenkins/remote.rb +11 -0
  89. data/lib/jenkins/version.rb +3 -0
  90. data/spec/fixtures/ec2_global.config.xml +103 -0
  91. data/spec/fixtures/rails.multi.config.xml +82 -0
  92. data/spec/fixtures/rails.single.config.triggers.xml +84 -0
  93. data/spec/fixtures/rails.single.config.xml +80 -0
  94. data/spec/fixtures/ruby.multi-ruby-multi-labels.config.xml +84 -0
  95. data/spec/fixtures/ruby.multi.config.xml +77 -0
  96. data/spec/fixtures/ruby.single.config.xml +58 -0
  97. data/spec/fixtures/therubyracer.config.xml +77 -0
  98. data/spec/hash_key_cleaner_spec.rb +25 -0
  99. data/spec/job_config_builder_spec.rb +137 -0
  100. data/spec/spec_helper.rb +15 -0
  101. metadata +355 -0
@@ -0,0 +1,77 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <matrix-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>http://github.com/drnic/picasa_plucker.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
+ <axes>
50
+ <hudson.matrix.TextAxis>
51
+ <name>RUBY_VERSION</name>
52
+ <values>
53
+ <string>1.8.7</string>
54
+ <string>1.9.2</string>
55
+ <string>rbx-head</string>
56
+ <string>jruby</string>
57
+ </values>
58
+ </hudson.matrix.TextAxis>
59
+ </axes>
60
+ <builders>
61
+ <hudson.tasks.Shell>
62
+ <command>rvm $RUBY_VERSION</command>
63
+ </hudson.tasks.Shell>
64
+ <hudson.tasks.Shell>
65
+ <command>rvm gemset create ruby-$RUBY_VERSION &amp;&amp; rvm gemset use ruby-$RUBY_VERSION</command>
66
+ </hudson.tasks.Shell>
67
+ <hudson.tasks.Shell>
68
+ <command>bundle install</command>
69
+ </hudson.tasks.Shell>
70
+ <hudson.tasks.Shell>
71
+ <command>bundle exec rake</command>
72
+ </hudson.tasks.Shell>
73
+ </builders>
74
+ <publishers/>
75
+ <buildWrappers/>
76
+ <runSequentially>false</runSequentially>
77
+ </matrix-project>
@@ -0,0 +1,58 @@
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
+ <concurrentBuild>false</concurrentBuild>
48
+ <builders>
49
+ <hudson.tasks.Shell>
50
+ <command>bundle install</command>
51
+ </hudson.tasks.Shell>
52
+ <hudson.tasks.Shell>
53
+ <command>bundle exec rake</command>
54
+ </hudson.tasks.Shell>
55
+ </builders>
56
+ <publishers/>
57
+ <buildWrappers/>
58
+ </project>
@@ -0,0 +1,77 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <matrix-project>
3
+ <actions/>
4
+ <description></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://github.com/cowboyd/therubyracer.git</string>
21
+ <string>tagopt</string>
22
+ <string></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
+ <mergeOptions/>
31
+ <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
32
+ <clean>true</clean>
33
+ <choosingStrategy>Default</choosingStrategy>
34
+ <submoduleCfg class="list"/>
35
+ </scm>
36
+ <canRoam>true</canRoam>
37
+ <disabled>false</disabled>
38
+ <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
39
+ <triggers class="vector"/>
40
+ <concurrentBuild>false</concurrentBuild>
41
+ <axes>
42
+ <axis>
43
+ <name>RUBY_VERSION</name>
44
+ <values>
45
+ <string>1.8.6</string>
46
+ <string>1.8.7</string>
47
+ <string>1.9.1</string>
48
+ </values>
49
+ </axis>
50
+ <axis>
51
+ <name>label</name>
52
+ <values>
53
+ <string>OSX-Leopard-10.5</string>
54
+ <string>Ubuntu-Lucid-10.04-server-amd64</string>
55
+ <string>Ubuntu-Karmic-9.10-server-amd64</string>
56
+ <string>OSX-Snow-Leopard-10.6.3</string>
57
+ </values>
58
+ </axis>
59
+ </axes>
60
+ <builders>
61
+ <hudson.tasks.Shell>
62
+ <command>#!/bin/bash -lxe
63
+ GEMSET=build-$BUILD_NUMBER-ruby-$RUBY_VERSION
64
+ rvm $RUBY_VERSION
65
+ rvm gemset create $GEMSET
66
+ rvm gemset use $GEMSET
67
+ gem install rake rake-compiler rspec
68
+ rake gem
69
+ gem install therubyracer-*.gem
70
+ v8 --selftest
71
+ </command>
72
+ </hudson.tasks.Shell>
73
+ </builders>
74
+ <publishers/>
75
+ <buildWrappers/>
76
+ <runSequentially>false</runSequentially>
77
+ </matrix-project>
@@ -0,0 +1,25 @@
1
+ require File.dirname(__FILE__) + "/spec_helper"
2
+
3
+ require "jenkins/core_ext/hash"
4
+
5
+ describe Hash do
6
+ subject do
7
+ {
8
+ :simple => "simple",
9
+ :under_score => "under_score",
10
+ :"hyp-hen" => "hyphen",
11
+ "str_under_score" => "str_under_score",
12
+ "str-hyp-hen" => "str-hyp-hen"
13
+ }
14
+ end
15
+
16
+ it do
17
+ subject.with_clean_keys.should == {
18
+ :simple => "simple",
19
+ :under_score => "under_score",
20
+ :hyp_hen => "hyphen",
21
+ :str_under_score => "str_under_score",
22
+ :str_hyp_hen => "str-hyp-hen"
23
+ }
24
+ end
25
+ end
@@ -0,0 +1,137 @@
1
+ require File.dirname(__FILE__) + "/spec_helper"
2
+
3
+ describe Jenkins::JobConfigBuilder do
4
+ include ConfigFixtureLoaders
5
+
6
+ describe "explicit steps to match a ruby job" do
7
+ before do
8
+ @config = Jenkins::JobConfigBuilder.new(:rails) do |c|
9
+ c.scm = "git://codebasehq.com/mocra/misc/mocra-web.git"
10
+ c.steps = [
11
+ [:build_shell_step, "step 1"],
12
+ [:build_shell_step, "step 2"]
13
+ ]
14
+ end
15
+ end
16
+ it "builds config.xml" do
17
+ steps = Hpricot.XML(@config.to_xml).search("command")
18
+ steps.map(&:inner_text).should == ["step 1", "step 2"]
19
+ end
20
+ end
21
+
22
+
23
+ describe "rails job; single axis" do
24
+ before do
25
+ @config = Jenkins::JobConfigBuilder.new(:rails) do |c|
26
+ c.scm = "git://codebasehq.com/mocra/misc/mocra-web.git"
27
+ end
28
+ end
29
+ it "builds config.xml" do
30
+ config_xml("rails", "single").should == @config.to_xml
31
+ end
32
+ end
33
+
34
+
35
+
36
+ describe "many rubies" do
37
+ before do
38
+ @config = Jenkins::JobConfigBuilder.new(:ruby) do |c|
39
+ c.scm = "http://github.com/drnic/picasa_plucker.git"
40
+ c.rubies = %w[1.8.7 1.9.2 rbx-head jruby]
41
+ end
42
+ end
43
+ it "have have explicit rubies" do
44
+ config_xml("ruby", "multi").should == @config.to_xml
45
+ end
46
+
47
+ it "and many labels/assigned_nodes" do
48
+ @config.node_labels = %w[1.8.7 ubuntu]
49
+ config_xml("ruby", "multi-ruby-multi-labels").should == @config.to_xml
50
+ end
51
+ end
52
+
53
+ describe "assigned slave nodes for slave usage" do
54
+ before do
55
+ @config = Jenkins::JobConfigBuilder.new(:rails) do |c|
56
+ c.assigned_node = "my-slave"
57
+ end
58
+ end
59
+ it "builds config.xml" do
60
+ Hpricot.XML(@config.to_xml).search("assignedNode").size.should == 1
61
+ Hpricot.XML(@config.to_xml).search("assignedNode").text.should == "my-slave"
62
+ Hpricot.XML(@config.to_xml).search("canRoam").text.should == "false"
63
+ end
64
+ end
65
+
66
+ describe "no specific slave nodes" do
67
+ before do
68
+ @config = Jenkins::JobConfigBuilder.new(:rails) do |c|
69
+ end
70
+ end
71
+ it "builds config.xml" do
72
+ Hpricot.XML(@config.to_xml).search("assignedNode").size.should == 0
73
+ end
74
+ end
75
+
76
+ describe "SCM behaviour" do
77
+ describe "#public_scm = true => convert git@ into git:// until we have deploy keys" do
78
+ before do
79
+ @config = Jenkins::JobConfigBuilder.new(:rails) do |c|
80
+ c.scm = "git@codebasehq.com:mocra/misc/mocra-web.git"
81
+ c.public_scm = true
82
+ end
83
+ end
84
+ it "builds config.xml" do
85
+ config_xml("rails", "single").should == @config.to_xml
86
+ end
87
+ end
88
+
89
+ # <branches>
90
+ # <hudson.plugins.git.BranchSpec>
91
+ # <name>master</name>
92
+ # </hudson.plugins.git.BranchSpec>
93
+ # <hudson.plugins.git.BranchSpec>
94
+ # <name>other</name>
95
+ # </hudson.plugins.git.BranchSpec>
96
+ # </branches>
97
+ describe "#scm-branches - set branches" do
98
+ before do
99
+ @config = Jenkins::JobConfigBuilder.new(:rails) do |c|
100
+ c.scm = "git@codebasehq.com:mocra/misc/mocra-web.git"
101
+ end
102
+ end
103
+ it "defaults to 'master'" do
104
+ branch_names = Hpricot.XML(@config.to_xml).search("branches name")
105
+ branch_names.size.should == 1
106
+ branch_names.text.should == "master"
107
+ branch_names.first.parent.name.should == "hudson.plugins.git.BranchSpec"
108
+ end
109
+ it "can have specific branches" do
110
+ branches = @config.scm_branches = %w[master other branches]
111
+ branch_names = Hpricot.XML(@config.to_xml).search("branches name")
112
+ branch_names.size.should == 3
113
+ branch_names.map(&:inner_text).should == branches
114
+ end
115
+ end
116
+ end
117
+
118
+ describe "setup ENV variables via envfile plugin" do
119
+ before do
120
+ @config = Jenkins::JobConfigBuilder.new(:rails) do |c|
121
+ c.scm = "git://codebasehq.com/mocra/misc/mocra-web.git"
122
+ c.steps = []
123
+ c.envfile = "/path/to/env/file"
124
+ end
125
+ end
126
+ it "builds config.xml" do
127
+ xml_bite = <<-XML.gsub(/^ /, '')
128
+ <buildWrappers>
129
+ <hudson.plugins.envfile.EnvFileBuildWrapper>
130
+ <filePath>/path/to/env/file</filePath>
131
+ </hudson.plugins.envfile.EnvFileBuildWrapper>
132
+ </buildWrappers>
133
+ XML
134
+ Hpricot.XML(@config.to_xml).search("buildWrappers").to_s.should == xml_bite.strip
135
+ end
136
+ end
137
+ end
@@ -0,0 +1,15 @@
1
+ require "bundler"
2
+ Bundler.setup
3
+
4
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
5
+ require 'jenkins'
6
+ require 'hpricot'
7
+
8
+ module ConfigFixtureLoaders
9
+ def config_xml(name, variation = nil)
10
+ name += ".#{variation}" if variation
11
+ @@config_fixture_loaders ||= {}
12
+ @@config_fixture_loaders[name] ||= File.read(File.dirname(__FILE__) + "/fixtures/#{name}.config.xml")
13
+ @@config_fixture_loaders[name]
14
+ end
15
+ end
metadata ADDED
@@ -0,0 +1,355 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jenkins
3
+ version: !ruby/object:Gem::Version
4
+ hash: 7
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 6
9
+ - 0
10
+ version: 0.6.0
11
+ platform: ruby
12
+ authors:
13
+ - Charles Lowell
14
+ - Nic Williams
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2011-02-10 00:00:00 -06:00
20
+ default_executable:
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ name: term-ansicolor
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 31
31
+ segments:
32
+ - 1
33
+ - 0
34
+ - 4
35
+ version: 1.0.4
36
+ type: :runtime
37
+ version_requirements: *id001
38
+ - !ruby/object:Gem::Dependency
39
+ name: yajl-ruby
40
+ prerelease: false
41
+ requirement: &id002 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ hash: 15
47
+ segments:
48
+ - 0
49
+ - 7
50
+ - 6
51
+ version: 0.7.6
52
+ type: :runtime
53
+ version_requirements: *id002
54
+ - !ruby/object:Gem::Dependency
55
+ name: httparty
56
+ prerelease: false
57
+ requirement: &id003 !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ hash: 5
63
+ segments:
64
+ - 0
65
+ - 6
66
+ - 1
67
+ version: 0.6.1
68
+ type: :runtime
69
+ version_requirements: *id003
70
+ - !ruby/object:Gem::Dependency
71
+ name: builder
72
+ prerelease: false
73
+ requirement: &id004 !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ~>
77
+ - !ruby/object:Gem::Version
78
+ hash: 15
79
+ segments:
80
+ - 2
81
+ - 1
82
+ - 2
83
+ version: 2.1.2
84
+ type: :runtime
85
+ version_requirements: *id004
86
+ - !ruby/object:Gem::Dependency
87
+ name: thor
88
+ prerelease: false
89
+ requirement: &id005 !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ~>
93
+ - !ruby/object:Gem::Version
94
+ hash: 35
95
+ segments:
96
+ - 0
97
+ - 14
98
+ - 2
99
+ version: 0.14.2
100
+ type: :runtime
101
+ version_requirements: *id005
102
+ - !ruby/object:Gem::Dependency
103
+ name: hpricot
104
+ prerelease: false
105
+ requirement: &id006 !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ hash: 3
111
+ segments:
112
+ - 0
113
+ version: "0"
114
+ type: :runtime
115
+ version_requirements: *id006
116
+ - !ruby/object:Gem::Dependency
117
+ name: jenkins-war
118
+ prerelease: false
119
+ requirement: &id007 !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ hash: 791
125
+ segments:
126
+ - 1
127
+ - 396
128
+ version: "1.396"
129
+ type: :development
130
+ version_requirements: *id007
131
+ - !ruby/object:Gem::Dependency
132
+ name: rake
133
+ prerelease: false
134
+ requirement: &id008 !ruby/object:Gem::Requirement
135
+ none: false
136
+ requirements:
137
+ - - ~>
138
+ - !ruby/object:Gem::Version
139
+ hash: 49
140
+ segments:
141
+ - 0
142
+ - 8
143
+ - 7
144
+ version: 0.8.7
145
+ type: :development
146
+ version_requirements: *id008
147
+ - !ruby/object:Gem::Dependency
148
+ name: cucumber
149
+ prerelease: false
150
+ requirement: &id009 !ruby/object:Gem::Requirement
151
+ none: false
152
+ requirements:
153
+ - - ~>
154
+ - !ruby/object:Gem::Version
155
+ hash: 59
156
+ segments:
157
+ - 0
158
+ - 9
159
+ - 0
160
+ version: 0.9.0
161
+ type: :development
162
+ version_requirements: *id009
163
+ - !ruby/object:Gem::Dependency
164
+ name: rspec
165
+ prerelease: false
166
+ requirement: &id010 !ruby/object:Gem::Requirement
167
+ none: false
168
+ requirements:
169
+ - - ~>
170
+ - !ruby/object:Gem::Version
171
+ hash: 15
172
+ segments:
173
+ - 2
174
+ - 0
175
+ - 0
176
+ version: 2.0.0
177
+ type: :development
178
+ version_requirements: *id010
179
+ - !ruby/object:Gem::Dependency
180
+ name: json
181
+ prerelease: false
182
+ requirement: &id011 !ruby/object:Gem::Requirement
183
+ none: false
184
+ requirements:
185
+ - - ~>
186
+ - !ruby/object:Gem::Version
187
+ hash: 7
188
+ segments:
189
+ - 1
190
+ - 4
191
+ - 0
192
+ version: 1.4.0
193
+ type: :development
194
+ version_requirements: *id011
195
+ - !ruby/object:Gem::Dependency
196
+ name: awesome_print
197
+ prerelease: false
198
+ requirement: &id012 !ruby/object:Gem::Requirement
199
+ none: false
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ hash: 3
204
+ segments:
205
+ - 0
206
+ version: "0"
207
+ type: :development
208
+ version_requirements: *id012
209
+ description: A suite of utilities for bringing continous integration to your projects (not the other way around) with jenkins CI
210
+ email:
211
+ - cowboyd@thefrontside.net
212
+ - drnicwilliams@gmail.com
213
+ executables:
214
+ - jenkins
215
+ extensions: []
216
+
217
+ extra_rdoc_files: []
218
+
219
+ files:
220
+ - .gitignore
221
+ - Changelog.md
222
+ - Gemfile
223
+ - Gemfile.lock
224
+ - README.md
225
+ - Rakefile
226
+ - bin/jenkins
227
+ - features/default_host.feature
228
+ - features/development.feature
229
+ - features/launch_server.feature
230
+ - features/listing_jobs.feature
231
+ - features/manage_jobs.feature
232
+ - features/manage_slave_nodes.feature
233
+ - features/step_definitions/common_steps.rb
234
+ - features/step_definitions/fixture_project_steps.rb
235
+ - features/step_definitions/jenkins_steps.rb
236
+ - features/step_definitions/scm_steps.rb
237
+ - features/support/common.rb
238
+ - features/support/env.rb
239
+ - features/support/hooks.rb
240
+ - features/support/jenkins_helpers.rb
241
+ - features/support/matchers.rb
242
+ - fixtures/jenkins/envfile.hpi
243
+ - fixtures/jenkins/git.hpi
244
+ - fixtures/jenkins/github.hpi
245
+ - fixtures/jenkins/greenballs.hpi
246
+ - fixtures/jenkins/rake.hpi
247
+ - fixtures/jenkins/ruby.hpi
248
+ - fixtures/projects/non-bundler/Rakefile
249
+ - fixtures/projects/rails-3/.gitignore
250
+ - fixtures/projects/rails-3/Gemfile
251
+ - fixtures/projects/rails-3/Gemfile.lock
252
+ - fixtures/projects/rails-3/README
253
+ - fixtures/projects/rails-3/Rakefile
254
+ - fixtures/projects/rails-3/app/controllers/application_controller.rb
255
+ - fixtures/projects/rails-3/app/helpers/application_helper.rb
256
+ - fixtures/projects/rails-3/app/views/layouts/application.html.erb
257
+ - fixtures/projects/rails-3/config.ru
258
+ - fixtures/projects/rails-3/config/application.rb
259
+ - fixtures/projects/rails-3/config/boot.rb
260
+ - fixtures/projects/rails-3/config/database.yml
261
+ - fixtures/projects/rails-3/config/environment.rb
262
+ - fixtures/projects/rails-3/config/environments/development.rb
263
+ - fixtures/projects/rails-3/config/environments/production.rb
264
+ - fixtures/projects/rails-3/config/environments/test.rb
265
+ - fixtures/projects/rails-3/config/initializers/backtrace_silencers.rb
266
+ - fixtures/projects/rails-3/config/initializers/inflections.rb
267
+ - fixtures/projects/rails-3/config/initializers/mime_types.rb
268
+ - fixtures/projects/rails-3/config/initializers/secret_token.rb
269
+ - fixtures/projects/rails-3/config/initializers/session_store.rb
270
+ - fixtures/projects/rails-3/config/locales/en.yml
271
+ - fixtures/projects/rails-3/config/routes.rb
272
+ - fixtures/projects/rails-3/db/seeds.rb
273
+ - fixtures/projects/rails-3/doc/README_FOR_APP
274
+ - fixtures/projects/rails-3/lib/tasks/.gitkeep
275
+ - fixtures/projects/rails-3/public/404.html
276
+ - fixtures/projects/rails-3/public/422.html
277
+ - fixtures/projects/rails-3/public/500.html
278
+ - fixtures/projects/rails-3/public/favicon.ico
279
+ - fixtures/projects/rails-3/public/images/rails.png
280
+ - fixtures/projects/rails-3/public/index.html
281
+ - fixtures/projects/rails-3/public/javascripts/application.js
282
+ - fixtures/projects/rails-3/public/javascripts/controls.js
283
+ - fixtures/projects/rails-3/public/javascripts/dragdrop.js
284
+ - fixtures/projects/rails-3/public/javascripts/effects.js
285
+ - fixtures/projects/rails-3/public/javascripts/prototype.js
286
+ - fixtures/projects/rails-3/public/javascripts/rails.js
287
+ - fixtures/projects/rails-3/public/robots.txt
288
+ - fixtures/projects/rails-3/public/stylesheets/.gitkeep
289
+ - fixtures/projects/rails-3/script/rails
290
+ - fixtures/projects/rails-3/test/performance/browsing_test.rb
291
+ - fixtures/projects/rails-3/test/test_helper.rb
292
+ - fixtures/projects/rails-3/vendor/plugins/.gitkeep
293
+ - fixtures/projects/ruby/Gemfile
294
+ - fixtures/projects/ruby/Gemfile.lock
295
+ - fixtures/projects/ruby/Rakefile
296
+ - jenkins.gemspec
297
+ - lib/jenkins.rb
298
+ - lib/jenkins/api.rb
299
+ - lib/jenkins/cli.rb
300
+ - lib/jenkins/cli/formatting.rb
301
+ - lib/jenkins/config.rb
302
+ - lib/jenkins/core_ext/hash.rb
303
+ - lib/jenkins/core_ext/object/blank.rb
304
+ - lib/jenkins/hudson-cli.jar
305
+ - lib/jenkins/job_config_builder.rb
306
+ - lib/jenkins/project_scm.rb
307
+ - lib/jenkins/remote.rb
308
+ - lib/jenkins/version.rb
309
+ - spec/fixtures/ec2_global.config.xml
310
+ - spec/fixtures/rails.multi.config.xml
311
+ - spec/fixtures/rails.single.config.triggers.xml
312
+ - spec/fixtures/rails.single.config.xml
313
+ - spec/fixtures/ruby.multi-ruby-multi-labels.config.xml
314
+ - spec/fixtures/ruby.multi.config.xml
315
+ - spec/fixtures/ruby.single.config.xml
316
+ - spec/fixtures/therubyracer.config.xml
317
+ - spec/hash_key_cleaner_spec.rb
318
+ - spec/job_config_builder_spec.rb
319
+ - spec/spec_helper.rb
320
+ has_rdoc: true
321
+ homepage: http://github.com/cowboyd/jenkins.rb
322
+ licenses: []
323
+
324
+ post_install_message:
325
+ rdoc_options: []
326
+
327
+ require_paths:
328
+ - lib
329
+ required_ruby_version: !ruby/object:Gem::Requirement
330
+ none: false
331
+ requirements:
332
+ - - ">="
333
+ - !ruby/object:Gem::Version
334
+ hash: 3
335
+ segments:
336
+ - 0
337
+ version: "0"
338
+ required_rubygems_version: !ruby/object:Gem::Requirement
339
+ none: false
340
+ requirements:
341
+ - - ">="
342
+ - !ruby/object:Gem::Version
343
+ hash: 3
344
+ segments:
345
+ - 0
346
+ version: "0"
347
+ requirements: []
348
+
349
+ rubyforge_project: jenkins
350
+ rubygems_version: 1.5.0
351
+ signing_key:
352
+ specification_version: 3
353
+ summary: Painless Continuous Integration with Jenkins Server
354
+ test_files: []
355
+