jenkins 0.6.0

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