rubyjobbuilderdsl 0.0.5 → 0.0.6

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 (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