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,22 @@
1
+ module Jenkins
2
+ class ProjectScm
3
+
4
+ def self.discover(scm)
5
+ ProjectScmGit.new(scm) if File.exist?(".git") && File.directory?(".git")
6
+ end
7
+
8
+ def self.supported
9
+ %w[git]
10
+ end
11
+ end
12
+
13
+ class ProjectScmGit < ProjectScm
14
+ def initialize(url = nil)
15
+ @url = url
16
+ end
17
+
18
+ def url
19
+ @url ||= `git config remote.origin.url`.strip
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ module Jenkins
2
+ class Remote
3
+ def self.add_server(name, uri)
4
+ remotes[name] = uri
5
+ end
6
+
7
+ def self.remotes
8
+ @remotes ||= {}
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,3 @@
1
+ module Jenkins
2
+ VERSION = "0.6.0"
3
+ end
@@ -0,0 +1,103 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <hudson>
3
+ <version>1.359</version>
4
+ <numExecutors>2</numExecutors>
5
+ <mode>NORMAL</mode>
6
+ <authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>
7
+ <securityRealm class="hudson.security.SecurityRealm$None"/>
8
+ <jdks/>
9
+ <clouds>
10
+ <hudson.plugins.ec2.EC2Cloud>
11
+ <name>ec2-US_EAST_1</name>
12
+ <accessId>0MVEQ5Q0BNYEGJX898G2</accessId>
13
+ <secretKey>[REMOVED]</secretKey>
14
+ <privateKey>
15
+ <privateKey>[REMOVED]</privateKey>
16
+ </privateKey>
17
+ <instanceCap>2147483647</instanceCap>
18
+ <templates>
19
+ <hudson.plugins.ec2.SlaveTemplate>
20
+ <ami>ami-79d43d10</ami>
21
+ <description>Ubuntu Lucid 10.04 64bit Server</description>
22
+ <remoteFS>/mnt/hudson</remoteFS>
23
+ <type>LARGE</type>
24
+ <labels>Ubuntu-Lucid-10.04-server-amd64 GCC_44</labels>
25
+ <initScript></initScript>
26
+ <userData></userData>
27
+ <numExecutors>4</numExecutors>
28
+ <remoteAdmin>ubuntu</remoteAdmin>
29
+ <rootCommandPrefix>sudo</rootCommandPrefix>
30
+ </hudson.plugins.ec2.SlaveTemplate>
31
+ <hudson.plugins.ec2.SlaveTemplate>
32
+ <ami>ami-e7d53c8e</ami>
33
+ <description>Ubuntu Karmic 9.10 64bit Server</description>
34
+ <remoteFS>/mnt/hudson</remoteFS>
35
+ <type>LARGE</type>
36
+ <labels>Ubuntu-Karmic-9.10-server-amd64 GCC_43</labels>
37
+ <initScript></initScript>
38
+ <userData></userData>
39
+ <numExecutors>4</numExecutors>
40
+ <remoteAdmin>ubuntu</remoteAdmin>
41
+ <rootCommandPrefix>sudo</rootCommandPrefix>
42
+ </hudson.plugins.ec2.SlaveTemplate>
43
+ </templates>
44
+ <region>US_EAST_1</region>
45
+ </hudson.plugins.ec2.EC2Cloud>
46
+ </clouds>
47
+ <slaves>
48
+ <slave>
49
+ <name>Legolas</name>
50
+ <description>Legolas Mac Pro</description>
51
+ <remoteFS>/Users/hudon/work</remoteFS>
52
+ <numExecutors>2</numExecutors>
53
+ <mode>NORMAL</mode>
54
+ <retentionStrategy class="hudson.slaves.RetentionStrategy$Always"/>
55
+ <launcher class="hudson.plugins.sshslaves.SSHLauncher">
56
+ <host>legolas.thefrontside.net</host>
57
+ <port>22</port>
58
+ <username>cowboyd</username>
59
+ <password>[REMOVED]</password>
60
+ <privatekey></privatekey>
61
+ <jvmOptions></jvmOptions>
62
+ </launcher>
63
+ <label>OSX-Snow-Leopard-10.6.3</label>
64
+ <nodeProperties/>
65
+ </slave>
66
+ <slave>
67
+ <name>Gimli</name>
68
+ <description>The Mac Mini Sitting on the bookshelf at the frontside office</description>
69
+ <remoteFS>/Users/hudson/work</remoteFS>
70
+ <numExecutors>2</numExecutors>
71
+ <mode>NORMAL</mode>
72
+ <retentionStrategy class="hudson.slaves.RetentionStrategy$Always"/>
73
+ <launcher class="hudson.plugins.sshslaves.SSHLauncher">
74
+ <host>gimli.thefrontside.net</host>
75
+ <port>22</port>
76
+ <username>hudson</username>
77
+ <password>[REMOVED]</password>
78
+ <privatekey></privatekey>
79
+ <jvmOptions></jvmOptions>
80
+ </launcher>
81
+ <label>OSX-Leopard-10.5</label>
82
+ <nodeProperties/>
83
+ </slave>
84
+ </slaves>
85
+ <quietPeriod>5</quietPeriod>
86
+ <scmCheckoutRetryCount>0</scmCheckoutRetryCount>
87
+ <views>
88
+ <hudson.model.AllView>
89
+ <owner class="hudson" reference="../../.."/>
90
+ <name>All</name>
91
+ <filterExecutors>false</filterExecutors>
92
+ <filterQueue>false</filterQueue>
93
+ </hudson.model.AllView>
94
+ </views>
95
+ <primaryView>All</primaryView>
96
+ <slaveAgentPort>0</slaveAgentPort>
97
+ <label></label>
98
+ <nodeProperties/>
99
+ <globalNodeProperties/>
100
+ <disabledAdministrativeMonitors>
101
+ <string>OldData</string>
102
+ </disabledAdministrativeMonitors>
103
+ </hudson>
@@ -0,0 +1,82 @@
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>git@codebasehq.com:mocra/dash/web-app.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
+ <mergeOptions/>
31
+ <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
32
+ <clean>false</clean>
33
+ <choosingStrategy>Default</choosingStrategy>
34
+ <submoduleCfg class="list"/>
35
+ </scm>
36
+ <canRoam>true</canRoam>
37
+ <disabled>false</disabled>
38
+ <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
39
+ <concurrentBuild>false</concurrentBuild>
40
+ <axes>
41
+ </axes>
42
+ <builders>
43
+ <hudson.tasks.Shell>
44
+ <command>echo &quot;Running steps...&quot;</command>
45
+ </hudson.tasks.Shell>
46
+ <hudson.plugins.ruby.Ruby>
47
+ <command>unless File.exist?(&quot;config/database.yml&quot;)
48
+ require &apos;fileutils&apos;
49
+ example = Dir[&quot;config/database*&quot;].first
50
+ puts &quot;Using #{example} for config/database.yml&quot;
51
+ FileUtils.cp example, &quot;config/database.yml&quot;
52
+ end</command>
53
+ </hudson.plugins.ruby.Ruby>
54
+ <hudson.plugins.rake.Rake>
55
+ <rakeInstallation>(Default)</rakeInstallation>
56
+ <rakeFile/>
57
+ <rakeLibDir/>
58
+ <rakeWorkingDir/>
59
+ <tasks>db:schema:load</tasks>
60
+ <silent>false</silent>
61
+ </hudson.plugins.rake.Rake>
62
+ <hudson.plugins.rake.Rake>
63
+ <rakeInstallation>(Default)</rakeInstallation>
64
+ <rakeFile/>
65
+ <rakeLibDir/>
66
+ <rakeWorkingDir/>
67
+ <tasks>features</tasks>
68
+ <silent>false</silent>
69
+ </hudson.plugins.rake.Rake>
70
+ <hudson.plugins.rake.Rake>
71
+ <rakeInstallation>(Default)</rakeInstallation>
72
+ <rakeFile/>
73
+ <rakeLibDir/>
74
+ <rakeWorkingDir/>
75
+ <tasks>spec</tasks>
76
+ <silent>false</silent>
77
+ </hudson.plugins.rake.Rake>
78
+ </builders>
79
+ <publishers/>
80
+ <buildWrappers/>
81
+ <runSequentially>false</runSequentially>
82
+ </matrix-project>
@@ -0,0 +1,84 @@
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
+ <mergeOptions/>
31
+ <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
32
+ <clean>false</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
+ <hudson.triggers.SCMTrigger>
41
+ <spec># every minute
42
+ * * * * *</spec>
43
+ </hudson.triggers.SCMTrigger>
44
+ </triggers>
45
+ <concurrentBuild>false</concurrentBuild>
46
+ <builders>
47
+ <hudson.plugins.ruby.Ruby>
48
+ <command>
49
+ unless File.exist?(&quot;config/database.yml&quot;)
50
+ require &apos;fileutils&apos;
51
+ example = Dir[&quot;config/database*&quot;].first
52
+ puts &quot;Using #{example} for config/database.yml&quot;
53
+ FileUtils.cp example, &quot;config/database.yml&quot;
54
+ end
55
+ </command>
56
+ </hudson.plugins.ruby.Ruby>
57
+ <hudson.plugins.rake.Rake>
58
+ <rakeInstallation>(Default)</rakeInstallation>
59
+ <rakeFile/>
60
+ <rakeLibDir/>
61
+ <rakeWorkingDir/>
62
+ <tasks>db:schema:load</tasks>
63
+ <silent>false</silent>
64
+ </hudson.plugins.rake.Rake>
65
+ <hudson.plugins.rake.Rake>
66
+ <rakeInstallation>(Default)</rakeInstallation>
67
+ <rakeFile/>
68
+ <rakeLibDir/>
69
+ <rakeWorkingDir/>
70
+ <tasks>features</tasks>
71
+ <silent>false</silent>
72
+ </hudson.plugins.rake.Rake>
73
+ <hudson.plugins.rake.Rake>
74
+ <rakeInstallation>(Default)</rakeInstallation>
75
+ <rakeFile/>
76
+ <rakeLibDir/>
77
+ <rakeWorkingDir/>
78
+ <tasks>spec</tasks>
79
+ <silent>false</silent>
80
+ </hudson.plugins.rake.Rake>
81
+ </builders>
82
+ <publishers/>
83
+ <buildWrappers/>
84
+ </project>
@@ -0,0 +1,80 @@
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>bundle install</command>
52
+ </hudson.tasks.Shell>
53
+ <hudson.plugins.ruby.Ruby>
54
+ <command>
55
+ unless File.exist?(&quot;config/database.yml&quot;)
56
+ require &apos;fileutils&apos;
57
+ example = Dir[&quot;config/database*&quot;].first
58
+ puts &quot;Using #{example} for config/database.yml&quot;
59
+ FileUtils.cp example, &quot;config/database.yml&quot;
60
+ end
61
+ </command>
62
+ </hudson.plugins.ruby.Ruby>
63
+ <hudson.tasks.Shell>
64
+ <command>bundle exec rake db:create:all</command>
65
+ </hudson.tasks.Shell>
66
+ <hudson.tasks.Shell>
67
+ <command>if [ -f db/schema.rb ]; then
68
+ bundle exec rake db:schema:load
69
+ else
70
+ bundle exec rake db:migrate
71
+ fi
72
+ </command>
73
+ </hudson.tasks.Shell>
74
+ <hudson.tasks.Shell>
75
+ <command>bundle exec rake</command>
76
+ </hudson.tasks.Shell>
77
+ </builders>
78
+ <publishers/>
79
+ <buildWrappers/>
80
+ </project>
@@ -0,0 +1,84 @@
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
+ <hudson.matrix.LabelAxis>
60
+ <name>label</name>
61
+ <values>
62
+ <string>1.8.7</string>
63
+ <string>ubuntu</string>
64
+ </values>
65
+ </hudson.matrix.LabelAxis>
66
+ </axes>
67
+ <builders>
68
+ <hudson.tasks.Shell>
69
+ <command>rvm $RUBY_VERSION</command>
70
+ </hudson.tasks.Shell>
71
+ <hudson.tasks.Shell>
72
+ <command>rvm gemset create ruby-$RUBY_VERSION &amp;&amp; rvm gemset use ruby-$RUBY_VERSION</command>
73
+ </hudson.tasks.Shell>
74
+ <hudson.tasks.Shell>
75
+ <command>bundle install</command>
76
+ </hudson.tasks.Shell>
77
+ <hudson.tasks.Shell>
78
+ <command>bundle exec rake</command>
79
+ </hudson.tasks.Shell>
80
+ </builders>
81
+ <publishers/>
82
+ <buildWrappers/>
83
+ <runSequentially>false</runSequentially>
84
+ </matrix-project>