rubyjobbuilderdsl 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +13 -5
  2. data/Gemfile +6 -6
  3. data/Gemfile.lock +41 -41
  4. data/LICENSE +18 -18
  5. data/Rakefile +12 -12
  6. data/docs/common.md +313 -313
  7. data/docs/flow.md +17 -17
  8. data/docs/freestyle.md +100 -100
  9. data/docs/gerrit.md +70 -70
  10. data/docs/git.md +88 -88
  11. data/docs/multi.md +26 -26
  12. data/docs/overview.md +74 -74
  13. data/docs/postbuild.md +266 -266
  14. data/docs/view.md +13 -13
  15. data/lib/rubyjobbuilderdsl.rb +2 -2
  16. data/lib/rubyjobbuilderdsl/buildstep/ant.rb +29 -29
  17. data/lib/rubyjobbuilderdsl/buildstep/copyartifact.rb +23 -23
  18. data/lib/rubyjobbuilderdsl/buildstep/inject_env.rb +18 -18
  19. data/lib/rubyjobbuilderdsl/buildstep/phase.rb +19 -19
  20. data/lib/rubyjobbuilderdsl/buildstep/phase_job.rb +26 -26
  21. data/lib/rubyjobbuilderdsl/buildstep/shell.rb +24 -24
  22. data/lib/rubyjobbuilderdsl/buildstep/xvfb.rb +46 -46
  23. data/lib/rubyjobbuilderdsl/common.rb +140 -140
  24. data/lib/rubyjobbuilderdsl/common/artifactory.rb +33 -33
  25. data/lib/rubyjobbuilderdsl/common/blocking_job.rb +11 -11
  26. data/lib/rubyjobbuilderdsl/common/build_timeout.rb +23 -23
  27. data/lib/rubyjobbuilderdsl/common/gerrit.rb +53 -53
  28. data/lib/rubyjobbuilderdsl/common/git.rb +76 -76
  29. data/lib/rubyjobbuilderdsl/common/logrotate.rb +24 -24
  30. data/lib/rubyjobbuilderdsl/common/parameter.rb +22 -22
  31. data/lib/rubyjobbuilderdsl/common/password.rb +12 -12
  32. data/lib/rubyjobbuilderdsl/common/pollscm.rb +10 -10
  33. data/lib/rubyjobbuilderdsl/common/scms.rb +18 -18
  34. data/lib/rubyjobbuilderdsl/common/throttle.rb +24 -24
  35. data/lib/rubyjobbuilderdsl/common/timed.rb +10 -10
  36. data/lib/rubyjobbuilderdsl/common/timestamps.rb +6 -6
  37. data/lib/rubyjobbuilderdsl/deployer.rb +95 -95
  38. data/lib/rubyjobbuilderdsl/flow.rb +14 -14
  39. data/lib/rubyjobbuilderdsl/freestyle.rb +65 -65
  40. data/lib/rubyjobbuilderdsl/jenkins_client.rb +203 -203
  41. data/lib/rubyjobbuilderdsl/multijob.rb +24 -24
  42. data/lib/rubyjobbuilderdsl/postbuild.rb +160 -160
  43. data/lib/rubyjobbuilderdsl/postbuild/archive.rb +23 -23
  44. data/lib/rubyjobbuilderdsl/postbuild/chucknorris_publisher.rb +6 -6
  45. data/lib/rubyjobbuilderdsl/postbuild/claim_publisher.rb +6 -6
  46. data/lib/rubyjobbuilderdsl/postbuild/cloverphp_publisher.rb +36 -36
  47. data/lib/rubyjobbuilderdsl/postbuild/cucumber_json_publisher.rb +20 -20
  48. data/lib/rubyjobbuilderdsl/postbuild/email_publisher.rb +23 -23
  49. data/lib/rubyjobbuilderdsl/postbuild/game_publisher.rb +6 -6
  50. data/lib/rubyjobbuilderdsl/postbuild/groovy.rb +10 -10
  51. data/lib/rubyjobbuilderdsl/postbuild/html_publisher.rb +27 -27
  52. data/lib/rubyjobbuilderdsl/postbuild/javadoc_publisher.rb +19 -19
  53. data/lib/rubyjobbuilderdsl/postbuild/logparser.rb +21 -21
  54. data/lib/rubyjobbuilderdsl/postbuild/nunit_publisher.rb +21 -21
  55. data/lib/rubyjobbuilderdsl/postbuild/pmd_publisher.rb +19 -19
  56. data/lib/rubyjobbuilderdsl/postbuild/script.rb +14 -14
  57. data/lib/rubyjobbuilderdsl/postbuild/tap_publisher.rb +44 -44
  58. data/lib/rubyjobbuilderdsl/postbuild/trigger.rb +38 -38
  59. data/lib/rubyjobbuilderdsl/postbuild/xunit_publisher.rb +35 -35
  60. data/lib/rubyjobbuilderdsl/view.rb +14 -14
  61. data/lib/rubyjobbuilderdsl/xml_generator.rb +1 -1
  62. data/rubyjobbuilderdsl.gemspec +2 -2
  63. data/rubyjobbuilderdsl.sublime-project +14 -14
  64. data/run_tests.sh +7 -7
  65. data/sample/hello_mars.rb +27 -27
  66. data/sample/hello_mars.xml +18 -0
  67. data/sample/hello_world-post.xml +40 -0
  68. data/sample/local.ini +4 -4
  69. data/sample/test.xml +21 -0
  70. data/test/test_ant.rb +38 -38
  71. data/test/test_archive.rb +24 -24
  72. data/test/test_artifactory.rb +26 -26
  73. data/test/test_blocking_job.rb +18 -18
  74. data/test/test_chucknorris_publisher.rb +17 -17
  75. data/test/test_claim_publisher.rb +17 -17
  76. data/test/test_cloverphp.rb +33 -33
  77. data/test/test_concurrent.rb +44 -44
  78. data/test/test_copyartifact.rb +45 -45
  79. data/test/test_cucumber_json_publisher.rb +30 -30
  80. data/test/test_default_setting.rb +29 -29
  81. data/test/test_email_publisher.rb +44 -44
  82. data/test/test_flow.rb +19 -19
  83. data/test/test_freestyle.rb +52 -52
  84. data/test/test_game_publisher.rb +17 -17
  85. data/test/test_gerrit.rb +117 -117
  86. data/test/test_git.rb +80 -80
  87. data/test/test_html_publisher.rb +57 -57
  88. data/test/test_inject.rb +23 -23
  89. data/test/test_javadoc.rb +22 -22
  90. data/test/test_logparser.rb +24 -24
  91. data/test/test_logrotate.rb +22 -22
  92. data/test/test_multijob.rb +50 -50
  93. data/test/test_nunit_publisher.rb +20 -20
  94. data/test/test_parameter.rb +44 -44
  95. data/test/test_password.rb +17 -17
  96. data/test/test_pmd.rb +22 -22
  97. data/test/test_pollscm.rb +15 -15
  98. data/test/test_postbuild_groovy.rb +21 -21
  99. data/test/test_postbuild_script.rb +24 -24
  100. data/test/test_postbuild_trigger.rb +170 -170
  101. data/test/test_scms.rb +31 -31
  102. data/test/test_tap_publisher.rb +25 -25
  103. data/test/test_timed.rb +15 -15
  104. data/test/test_timeout.rb +20 -20
  105. data/test/test_timestamps.rb +14 -14
  106. data/test/test_xml_generator.rb +28 -28
  107. data/test/test_xunit_publisher.rb +22 -22
  108. data/test/test_xvfb.rb +35 -35
  109. metadata +11 -10
  110. data/rubyjobbuilderdsl-0.0.3.gem +0 -0
  111. data/sample/Schedule-sample-pipeline.xml +0 -32
@@ -1,160 +1,160 @@
1
- require_relative 'postbuild/archive'
2
- require_relative 'postbuild/logparser'
3
- require_relative 'postbuild/html_publisher'
4
- require_relative 'postbuild/email_publisher'
5
- require_relative 'postbuild/nunit_publisher'
6
- require_relative 'postbuild/xunit_publisher'
7
- require_relative 'postbuild/cloverphp_publisher'
8
- require_relative 'postbuild/javadoc_publisher'
9
- require_relative 'postbuild/pmd_publisher'
10
- require_relative 'postbuild/claim_publisher'
11
- require_relative 'postbuild/tap_publisher'
12
- require_relative 'postbuild/chucknorris_publisher'
13
- require_relative 'postbuild/game_publisher'
14
- require_relative 'postbuild/script'
15
- require_relative 'postbuild/trigger'
16
- require_relative 'postbuild/groovy'
17
- require_relative 'postbuild/cucumber_json_publisher'
18
- require_relative 'postbuild/slack'
19
- require_relative 'buildstep/shell'
20
-
21
- # dsl methods for job builder
22
- module JenkinsJob
23
- module Postbuild
24
- class Postbuild < BasicObject
25
- attr_reader :job, :publishers_
26
-
27
- def initialize(job)
28
- @job = job
29
- @publishers_ = {}
30
- end
31
-
32
- def archive(&block)
33
- # sandbox for archive dsl
34
- archive = Archive.new
35
- archive.instance_eval(&block)
36
-
37
- @publishers_['archive'] = archive
38
- end
39
-
40
- def publish_html(name, &block)
41
- # sandbox for html publisher dsl
42
- publisher = HtmlPublisher.new(name)
43
- publisher.instance_eval(&block)
44
-
45
- @publishers_['publish_html'] ||= []
46
- @publishers_['publish_html'] << publisher
47
- end
48
-
49
- def send_email(recipients, &block)
50
- publisher = EmailPublisher.new(recipients)
51
- publisher.instance_eval(&block) if block
52
-
53
- @publishers_['send_email'] = publisher
54
- end
55
-
56
- def publish_nunit_report(test_results_pattern, &block)
57
- publisher = NUnitPublisher.new(test_results_pattern)
58
- publisher.instance_eval(&block) if block
59
-
60
- @publishers_['publish_nunit_report'] = publisher
61
- end
62
-
63
- def publish_xunit_report(test_results_pattern, &block)
64
- publisher = XUnitPublisher.new(test_results_pattern)
65
- publisher.instance_eval(&block) if block
66
-
67
- @publishers_['publish_xunit_report'] = publisher
68
- end
69
-
70
- def publish_tap(test_results, &block)
71
- publisher = TapPublisher.new(test_results)
72
- publisher.instance_eval(&block) if block
73
-
74
- @publishers_['publish_tap'] = publisher
75
- end
76
-
77
- def logparser(rule_file, &block)
78
- # sandbox for html publisher dsl
79
- logparser = LogParser.new(rule_file)
80
- logparser.instance_eval(&block) if block
81
-
82
- @publishers_['logparser'] = logparser
83
- end
84
-
85
- def shell(value)
86
- @publishers_['postbuildscript'] ||= PostbuildScript.new
87
- @publishers_['postbuildscript'].add(::JenkinsJob::BuildStep::Shell.new(value))
88
- end
89
-
90
- def batch(value)
91
- @publishers_['postbuildscript'] ||= PostbuildScript.new
92
- @publishers_['postbuildscript'].add(::JenkinsJob::BuildStep::Batch.new(value))
93
- end
94
-
95
- def powershell(value)
96
- @publishers_['postbuildscript'] ||= PostbuildScript.new
97
- @publishers_['postbuildscript'].add(::JenkinsJob::BuildStep::Powershell.new(value))
98
- end
99
-
100
- def trigger(*project, &block)
101
- trigger = PostbuildTrigger.new(project)
102
- trigger.instance_eval(&block) if block
103
- @publishers_['trigger-parameterized-builds'] = trigger
104
- end
105
-
106
- def groovy(value)
107
- @publishers_['groovy'] = PostbuildGroovy.new(value)
108
- end
109
-
110
- def publish_cloverphp(&block)
111
- clover = CloverPhpPublisher.new
112
- clover.instance_eval(&block) if block
113
- @publishers_['clover-php'] = clover
114
- end
115
-
116
- def publish_slack(&block)
117
- slack = PostbuildSlack.new
118
- slack.instance_eval(&block) if block
119
- @publishers_['slack'] = slack
120
- end
121
-
122
- def cucumber_json_publisher(&block)
123
- cucumber = CucumberJsonPublisher.new
124
- cucumber.instance_eval(&block) if block
125
- @publishers_['cucumber'] = cucumber
126
- end
127
-
128
- def publish_javadoc(&block)
129
- doc = JavaDocPublisher.new
130
- doc.instance_eval(&block) if block
131
- @publishers_['java-doc'] = doc
132
- end
133
-
134
- def publish_pmd(&block)
135
- pmd = PMDPublisher.new
136
- pmd.instance_eval(&block) if block
137
- @publishers_['pmd'] = pmd
138
- end
139
-
140
- def publish_chucknorris(&block)
141
- chucknorris = ChuckNorrisPublisher.new
142
- chucknorris.instance_eval(&block) if block
143
- @publishers_['chucknorris'] = chucknorris
144
- end
145
- alias_method :chucknorris, :publish_chucknorris
146
-
147
- def publish_game(&block)
148
- game = GamePublisher.new
149
- game.instance_eval(&block) if block
150
- @publishers_['game'] = game
151
- end
152
- alias_method :game, :publish_game
153
-
154
- def allow_broken_build_claiming
155
- publisher = ClaimPublisher.new
156
- @publishers_['claim-publisher'] = publisher
157
- end
158
- end
159
- end
160
- end
1
+ require_relative 'postbuild/archive'
2
+ require_relative 'postbuild/logparser'
3
+ require_relative 'postbuild/html_publisher'
4
+ require_relative 'postbuild/email_publisher'
5
+ require_relative 'postbuild/nunit_publisher'
6
+ require_relative 'postbuild/xunit_publisher'
7
+ require_relative 'postbuild/cloverphp_publisher'
8
+ require_relative 'postbuild/javadoc_publisher'
9
+ require_relative 'postbuild/pmd_publisher'
10
+ require_relative 'postbuild/claim_publisher'
11
+ require_relative 'postbuild/tap_publisher'
12
+ require_relative 'postbuild/chucknorris_publisher'
13
+ require_relative 'postbuild/game_publisher'
14
+ require_relative 'postbuild/script'
15
+ require_relative 'postbuild/trigger'
16
+ require_relative 'postbuild/groovy'
17
+ require_relative 'postbuild/cucumber_json_publisher'
18
+ require_relative 'postbuild/slack'
19
+ require_relative 'buildstep/shell'
20
+
21
+ # dsl methods for job builder
22
+ module JenkinsJob
23
+ module Postbuild
24
+ class Postbuild < BasicObject
25
+ attr_reader :job, :publishers_
26
+
27
+ def initialize(job)
28
+ @job = job
29
+ @publishers_ = {}
30
+ end
31
+
32
+ def archive(&block)
33
+ # sandbox for archive dsl
34
+ archive = Archive.new
35
+ archive.instance_eval(&block)
36
+
37
+ @publishers_['archive'] = archive
38
+ end
39
+
40
+ def publish_html(name, &block)
41
+ # sandbox for html publisher dsl
42
+ publisher = HtmlPublisher.new(name)
43
+ publisher.instance_eval(&block)
44
+
45
+ @publishers_['publish_html'] ||= []
46
+ @publishers_['publish_html'] << publisher
47
+ end
48
+
49
+ def send_email(recipients, &block)
50
+ publisher = EmailPublisher.new(recipients)
51
+ publisher.instance_eval(&block) if block
52
+
53
+ @publishers_['send_email'] = publisher
54
+ end
55
+
56
+ def publish_nunit_report(test_results_pattern, &block)
57
+ publisher = NUnitPublisher.new(test_results_pattern)
58
+ publisher.instance_eval(&block) if block
59
+
60
+ @publishers_['publish_nunit_report'] = publisher
61
+ end
62
+
63
+ def publish_xunit_report(test_results_pattern, &block)
64
+ publisher = XUnitPublisher.new(test_results_pattern)
65
+ publisher.instance_eval(&block) if block
66
+
67
+ @publishers_['publish_xunit_report'] = publisher
68
+ end
69
+
70
+ def publish_tap(test_results, &block)
71
+ publisher = TapPublisher.new(test_results)
72
+ publisher.instance_eval(&block) if block
73
+
74
+ @publishers_['publish_tap'] = publisher
75
+ end
76
+
77
+ def logparser(rule_file, &block)
78
+ # sandbox for html publisher dsl
79
+ logparser = LogParser.new(rule_file)
80
+ logparser.instance_eval(&block) if block
81
+
82
+ @publishers_['logparser'] = logparser
83
+ end
84
+
85
+ def shell(value)
86
+ @publishers_['postbuildscript'] ||= PostbuildScript.new
87
+ @publishers_['postbuildscript'].add(::JenkinsJob::BuildStep::Shell.new(value))
88
+ end
89
+
90
+ def batch(value)
91
+ @publishers_['postbuildscript'] ||= PostbuildScript.new
92
+ @publishers_['postbuildscript'].add(::JenkinsJob::BuildStep::Batch.new(value))
93
+ end
94
+
95
+ def powershell(value)
96
+ @publishers_['postbuildscript'] ||= PostbuildScript.new
97
+ @publishers_['postbuildscript'].add(::JenkinsJob::BuildStep::Powershell.new(value))
98
+ end
99
+
100
+ def trigger(*project, &block)
101
+ trigger = PostbuildTrigger.new(project)
102
+ trigger.instance_eval(&block) if block
103
+ @publishers_['trigger-parameterized-builds'] = trigger
104
+ end
105
+
106
+ def groovy(value)
107
+ @publishers_['groovy'] = PostbuildGroovy.new(value)
108
+ end
109
+
110
+ def publish_cloverphp(&block)
111
+ clover = CloverPhpPublisher.new
112
+ clover.instance_eval(&block) if block
113
+ @publishers_['clover-php'] = clover
114
+ end
115
+
116
+ def publish_slack(&block)
117
+ slack = PostbuildSlack.new
118
+ slack.instance_eval(&block) if block
119
+ @publishers_['slack'] = slack
120
+ end
121
+
122
+ def cucumber_json_publisher(&block)
123
+ cucumber = CucumberJsonPublisher.new
124
+ cucumber.instance_eval(&block) if block
125
+ @publishers_['cucumber'] = cucumber
126
+ end
127
+
128
+ def publish_javadoc(&block)
129
+ doc = JavaDocPublisher.new
130
+ doc.instance_eval(&block) if block
131
+ @publishers_['java-doc'] = doc
132
+ end
133
+
134
+ def publish_pmd(&block)
135
+ pmd = PMDPublisher.new
136
+ pmd.instance_eval(&block) if block
137
+ @publishers_['pmd'] = pmd
138
+ end
139
+
140
+ def publish_chucknorris(&block)
141
+ chucknorris = ChuckNorrisPublisher.new
142
+ chucknorris.instance_eval(&block) if block
143
+ @publishers_['chucknorris'] = chucknorris
144
+ end
145
+ alias_method :chucknorris, :publish_chucknorris
146
+
147
+ def publish_game(&block)
148
+ game = GamePublisher.new
149
+ game.instance_eval(&block) if block
150
+ @publishers_['game'] = game
151
+ end
152
+ alias_method :game, :publish_game
153
+
154
+ def allow_broken_build_claiming
155
+ publisher = ClaimPublisher.new
156
+ @publishers_['claim-publisher'] = publisher
157
+ end
158
+ end
159
+ end
160
+ end
@@ -1,23 +1,23 @@
1
- module JenkinsJob
2
- module Postbuild
3
- class Archive < BasicObject
4
- attr_reader :artifacts_, :exclude_, :allow_empty_, :latest_only_
5
-
6
- def file(*value)
7
- @artifacts_ = value.join(',')
8
- end
9
-
10
- def exclude(*value)
11
- @exclude_ = value.join(',')
12
- end
13
-
14
- def allow_empty(value = true)
15
- @allow_empty_ = value
16
- end
17
-
18
- def latest_only(value = true)
19
- @latest_only_ = value
20
- end
21
- end
22
- end
23
- end
1
+ module JenkinsJob
2
+ module Postbuild
3
+ class Archive < BasicObject
4
+ attr_reader :artifacts_, :exclude_, :allow_empty_, :latest_only_
5
+
6
+ def file(*value)
7
+ @artifacts_ = value.join(',')
8
+ end
9
+
10
+ def exclude(*value)
11
+ @exclude_ = value.join(',')
12
+ end
13
+
14
+ def allow_empty(value = true)
15
+ @allow_empty_ = value
16
+ end
17
+
18
+ def latest_only(value = true)
19
+ @latest_only_ = value
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,6 +1,6 @@
1
- module JenkinsJob
2
- module Postbuild
3
- class ChuckNorrisPublisher < BasicObject
4
- end
5
- end
6
- end
1
+ module JenkinsJob
2
+ module Postbuild
3
+ class ChuckNorrisPublisher < BasicObject
4
+ end
5
+ end
6
+ end
@@ -1,6 +1,6 @@
1
- module JenkinsJob
2
- module Postbuild
3
- class ClaimPublisher < BasicObject
4
- end
5
- end
6
- end
1
+ module JenkinsJob
2
+ module Postbuild
3
+ class ClaimPublisher < BasicObject
4
+ end
5
+ end
6
+ end
@@ -1,36 +1,36 @@
1
- module JenkinsJob
2
- module Postbuild
3
- class CloverPhpPublisher < BasicObject
4
- attr_reader :xml_location_, :html_report_dir_, :archive_,
5
- :healthy_target_, :unhealthy_target_, :failing_target_
6
-
7
- def initialize
8
- @archive_ = true
9
- end
10
-
11
- def xml_location(value)
12
- @xml_location_ = value
13
- end
14
-
15
- def html_report_dir(value)
16
- @html_report_dir_ = value
17
- end
18
-
19
- def archive(value = true)
20
- @archive_ = value
21
- end
22
-
23
- def healthy_target(value)
24
- @healthy_target_ = value
25
- end
26
-
27
- def unhealthy_target(value)
28
- @unhealthy_target_ = value
29
- end
30
-
31
- def failing_target(value)
32
- @failing_target_ = value
33
- end
34
- end
35
- end
36
- end
1
+ module JenkinsJob
2
+ module Postbuild
3
+ class CloverPhpPublisher < BasicObject
4
+ attr_reader :xml_location_, :html_report_dir_, :archive_,
5
+ :healthy_target_, :unhealthy_target_, :failing_target_
6
+
7
+ def initialize
8
+ @archive_ = true
9
+ end
10
+
11
+ def xml_location(value)
12
+ @xml_location_ = value
13
+ end
14
+
15
+ def html_report_dir(value)
16
+ @html_report_dir_ = value
17
+ end
18
+
19
+ def archive(value = true)
20
+ @archive_ = value
21
+ end
22
+
23
+ def healthy_target(value)
24
+ @healthy_target_ = value
25
+ end
26
+
27
+ def unhealthy_target(value)
28
+ @unhealthy_target_ = value
29
+ end
30
+
31
+ def failing_target(value)
32
+ @failing_target_ = value
33
+ end
34
+ end
35
+ end
36
+ end