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