edavis10-cerberus 0.7.8

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 (314) hide show
  1. data/Authors.txt +4 -0
  2. data/Changelog.txt +275 -0
  3. data/Copyright.txt +19 -0
  4. data/License.txt +20 -0
  5. data/Rakefile +166 -0
  6. data/Readme.markdown +132 -0
  7. data/bin/cerberus +10 -0
  8. data/lib/cerberus/builder/base.rb +4 -0
  9. data/lib/cerberus/builder/bjam.rb +30 -0
  10. data/lib/cerberus/builder/maven2.rb +61 -0
  11. data/lib/cerberus/builder/rake.rb +11 -0
  12. data/lib/cerberus/builder/rant.rb +11 -0
  13. data/lib/cerberus/builder/rspec.rb +26 -0
  14. data/lib/cerberus/builder/ruby.rb +33 -0
  15. data/lib/cerberus/builder/ruby_base.rb +50 -0
  16. data/lib/cerberus/cli.rb +81 -0
  17. data/lib/cerberus/component_lazy_loader.rb +89 -0
  18. data/lib/cerberus/config.example.yml +37 -0
  19. data/lib/cerberus/config.rb +48 -0
  20. data/lib/cerberus/config_migration.rb +0 -0
  21. data/lib/cerberus/constants.rb +8 -0
  22. data/lib/cerberus/latch.rb +27 -0
  23. data/lib/cerberus/manager.rb +361 -0
  24. data/lib/cerberus/publisher/base.rb +47 -0
  25. data/lib/cerberus/publisher/campfire.rb +124 -0
  26. data/lib/cerberus/publisher/irc.rb +23 -0
  27. data/lib/cerberus/publisher/jabber.rb +25 -0
  28. data/lib/cerberus/publisher/mail.rb +38 -0
  29. data/lib/cerberus/publisher/netsmtp_tls_fix.rb +73 -0
  30. data/lib/cerberus/publisher/rss.rb +41 -0
  31. data/lib/cerberus/publisher/twitter.rb +30 -0
  32. data/lib/cerberus/scm/base.rb +19 -0
  33. data/lib/cerberus/scm/bzr.rb +62 -0
  34. data/lib/cerberus/scm/cvs.rb +43 -0
  35. data/lib/cerberus/scm/darcs.rb +61 -0
  36. data/lib/cerberus/scm/git.rb +94 -0
  37. data/lib/cerberus/scm/hg.rb +87 -0
  38. data/lib/cerberus/scm/perforce.rb +82 -0
  39. data/lib/cerberus/scm/svn.rb +78 -0
  40. data/lib/cerberus/utils.rb +192 -0
  41. data/lib/vendor/twitter/CHANGES +129 -0
  42. data/lib/vendor/twitter/MIT-LICENSE +20 -0
  43. data/lib/vendor/twitter/README +37 -0
  44. data/lib/vendor/twitter/TODO +7 -0
  45. data/lib/vendor/twitter/lib/twitter.rb +34 -0
  46. data/lib/vendor/twitter/lib/twitter/client.rb +24 -0
  47. data/lib/vendor/twitter/lib/twitter/client/account.rb +24 -0
  48. data/lib/vendor/twitter/lib/twitter/client/auth.rb +27 -0
  49. data/lib/vendor/twitter/lib/twitter/client/base.rb +93 -0
  50. data/lib/vendor/twitter/lib/twitter/client/blocks.rb +35 -0
  51. data/lib/vendor/twitter/lib/twitter/client/favorites.rb +53 -0
  52. data/lib/vendor/twitter/lib/twitter/client/friendship.rb +35 -0
  53. data/lib/vendor/twitter/lib/twitter/client/graph.rb +37 -0
  54. data/lib/vendor/twitter/lib/twitter/client/messaging.rb +79 -0
  55. data/lib/vendor/twitter/lib/twitter/client/profile.rb +29 -0
  56. data/lib/vendor/twitter/lib/twitter/client/search.rb +27 -0
  57. data/lib/vendor/twitter/lib/twitter/client/status.rb +51 -0
  58. data/lib/vendor/twitter/lib/twitter/client/timeline.rb +72 -0
  59. data/lib/vendor/twitter/lib/twitter/client/user.rb +65 -0
  60. data/lib/vendor/twitter/lib/twitter/config.rb +77 -0
  61. data/lib/vendor/twitter/lib/twitter/console.rb +31 -0
  62. data/lib/vendor/twitter/lib/twitter/core.rb +137 -0
  63. data/lib/vendor/twitter/lib/twitter/ext.rb +2 -0
  64. data/lib/vendor/twitter/lib/twitter/ext/stdlib.rb +52 -0
  65. data/lib/vendor/twitter/lib/twitter/extras.rb +39 -0
  66. data/lib/vendor/twitter/lib/twitter/meta.rb +56 -0
  67. data/lib/vendor/twitter/lib/twitter/model.rb +360 -0
  68. data/lib/vendor/twitter/lib/twitter/version.rb +19 -0
  69. data/lib/vendor/twitter/spec/twitter/client/account_spec.rb +28 -0
  70. data/lib/vendor/twitter/spec/twitter/client/auth_spec.rb +34 -0
  71. data/lib/vendor/twitter/spec/twitter/client/base_spec.rb +242 -0
  72. data/lib/vendor/twitter/spec/twitter/client/blocks_spec.rb +76 -0
  73. data/lib/vendor/twitter/spec/twitter/client/favorites_spec.rb +183 -0
  74. data/lib/vendor/twitter/spec/twitter/client/friendship_spec.rb +76 -0
  75. data/lib/vendor/twitter/spec/twitter/client/graph_spec.rb +67 -0
  76. data/lib/vendor/twitter/spec/twitter/client/messaging_spec.rb +135 -0
  77. data/lib/vendor/twitter/spec/twitter/client/profile_spec.rb +91 -0
  78. data/lib/vendor/twitter/spec/twitter/client/search_spec.rb +68 -0
  79. data/lib/vendor/twitter/spec/twitter/client/status_spec.rb +119 -0
  80. data/lib/vendor/twitter/spec/twitter/client/timeline_spec.rb +79 -0
  81. data/lib/vendor/twitter/spec/twitter/client/user_spec.rb +203 -0
  82. data/lib/vendor/twitter/spec/twitter/client_spec.rb +2 -0
  83. data/lib/vendor/twitter/spec/twitter/config_spec.rb +86 -0
  84. data/lib/vendor/twitter/spec/twitter/console_spec.rb +15 -0
  85. data/lib/vendor/twitter/spec/twitter/core_spec.rb +127 -0
  86. data/lib/vendor/twitter/spec/twitter/ext/stdlib_spec.rb +59 -0
  87. data/lib/vendor/twitter/spec/twitter/extras_spec.rb +46 -0
  88. data/lib/vendor/twitter/spec/twitter/meta_spec.rb +90 -0
  89. data/lib/vendor/twitter/spec/twitter/model_spec.rb +508 -0
  90. data/lib/vendor/twitter/spec/twitter/version_spec.rb +19 -0
  91. data/lib/vendor/xmpp4r/CHANGELOG +83 -0
  92. data/lib/vendor/xmpp4r/COPYING +340 -0
  93. data/lib/vendor/xmpp4r/LICENSE +59 -0
  94. data/lib/vendor/xmpp4r/README.rdoc +110 -0
  95. data/lib/vendor/xmpp4r/README_ruby19.txt +43 -0
  96. data/lib/vendor/xmpp4r/Rakefile +262 -0
  97. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/README +56 -0
  98. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/adventure.rb +23 -0
  99. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/adventuremuc.rb +136 -0
  100. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/cube.xml +15 -0
  101. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/tower.xml +69 -0
  102. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/world.rb +424 -0
  103. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/fileserve.conf +11 -0
  104. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/fileserve.rb +346 -0
  105. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/getonline.rb +56 -0
  106. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/gtkmucclient.rb +315 -0
  107. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/migrate.rb +88 -0
  108. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/minimuc.rb +266 -0
  109. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/pep-aggregator/index.xsl +235 -0
  110. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/pep-aggregator/pep-aggregator.rb +147 -0
  111. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/recvfile.rb +84 -0
  112. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/rosterdiscovery.rb +129 -0
  113. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/sendfile.conf +10 -0
  114. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/sendfile.rb +72 -0
  115. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/shellmgr/shellmgr.rb +51 -0
  116. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/shellmgr/shellmgr_jabber.rb +43 -0
  117. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/shellmgr/shellmgr_test.rb +10 -0
  118. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/versionpoll.rb +90 -0
  119. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/xmpping.rb +146 -0
  120. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/xmppingrc.sample +14 -0
  121. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/change_password.rb +41 -0
  122. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/client.rb +70 -0
  123. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/component.rb +11 -0
  124. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/echo.rb +37 -0
  125. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/jabbersend.rb +41 -0
  126. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/mass_sender.rb +68 -0
  127. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/muc_owner_config.rb +12 -0
  128. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/mucinfo.rb +41 -0
  129. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/mucsimplebot.rb +82 -0
  130. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/register.rb +42 -0
  131. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/remove_registration.rb +18 -0
  132. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/roster.rb +44 -0
  133. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/rosterprint.rb +50 -0
  134. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/rosterrename.rb +34 -0
  135. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/rosterwatch.rb +171 -0
  136. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/send_vcard.rb +67 -0
  137. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/tune_client.rb +56 -0
  138. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/tune_server.rb +58 -0
  139. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/versionbot.rb +75 -0
  140. data/lib/vendor/xmpp4r/lib/xmpp4r.rb +116 -0
  141. data/lib/vendor/xmpp4r/lib/xmpp4r/base64.rb +32 -0
  142. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams.rb +15 -0
  143. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/filetransfer.rb +319 -0
  144. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/ibb/base.rb +257 -0
  145. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/ibb/initiator.rb +31 -0
  146. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/ibb/target.rb +47 -0
  147. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/socks5bytestreams/base.rb +152 -0
  148. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/socks5bytestreams/initiator.rb +86 -0
  149. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/socks5bytestreams/server.rb +198 -0
  150. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/socks5bytestreams/socks5.rb +65 -0
  151. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/socks5bytestreams/target.rb +73 -0
  152. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/socks5bytestreams/target.rb.orig +62 -0
  153. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/iq/bytestreams.rb +170 -0
  154. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/iq/si.rb +206 -0
  155. data/lib/vendor/xmpp4r/lib/xmpp4r/callbacks.rb +124 -0
  156. data/lib/vendor/xmpp4r/lib/xmpp4r/caps.rb +1 -0
  157. data/lib/vendor/xmpp4r/lib/xmpp4r/caps/c.rb +53 -0
  158. data/lib/vendor/xmpp4r/lib/xmpp4r/caps/helper/generator.rb +160 -0
  159. data/lib/vendor/xmpp4r/lib/xmpp4r/caps/helper/helper.rb +87 -0
  160. data/lib/vendor/xmpp4r/lib/xmpp4r/client.rb +317 -0
  161. data/lib/vendor/xmpp4r/lib/xmpp4r/command/helper/responder.rb +53 -0
  162. data/lib/vendor/xmpp4r/lib/xmpp4r/command/iq/command.rb +154 -0
  163. data/lib/vendor/xmpp4r/lib/xmpp4r/component.rb +103 -0
  164. data/lib/vendor/xmpp4r/lib/xmpp4r/connection.rb +219 -0
  165. data/lib/vendor/xmpp4r/lib/xmpp4r/dataforms.rb +5 -0
  166. data/lib/vendor/xmpp4r/lib/xmpp4r/dataforms/x/data.rb +297 -0
  167. data/lib/vendor/xmpp4r/lib/xmpp4r/debuglog.rb +42 -0
  168. data/lib/vendor/xmpp4r/lib/xmpp4r/delay.rb +5 -0
  169. data/lib/vendor/xmpp4r/lib/xmpp4r/delay/x/delay.rb +99 -0
  170. data/lib/vendor/xmpp4r/lib/xmpp4r/discovery.rb +7 -0
  171. data/lib/vendor/xmpp4r/lib/xmpp4r/discovery/helper/responder.rb +165 -0
  172. data/lib/vendor/xmpp4r/lib/xmpp4r/discovery/iq/discoinfo.rb +211 -0
  173. data/lib/vendor/xmpp4r/lib/xmpp4r/discovery/iq/discoitems.rb +147 -0
  174. data/lib/vendor/xmpp4r/lib/xmpp4r/errors.rb +281 -0
  175. data/lib/vendor/xmpp4r/lib/xmpp4r/feature_negotiation.rb +5 -0
  176. data/lib/vendor/xmpp4r/lib/xmpp4r/feature_negotiation/iq/feature.rb +28 -0
  177. data/lib/vendor/xmpp4r/lib/xmpp4r/framework/base.rb +55 -0
  178. data/lib/vendor/xmpp4r/lib/xmpp4r/framework/bot.rb +148 -0
  179. data/lib/vendor/xmpp4r/lib/xmpp4r/httpbinding.rb +5 -0
  180. data/lib/vendor/xmpp4r/lib/xmpp4r/httpbinding/client.rb +285 -0
  181. data/lib/vendor/xmpp4r/lib/xmpp4r/idgenerator.rb +37 -0
  182. data/lib/vendor/xmpp4r/lib/xmpp4r/iq.rb +221 -0
  183. data/lib/vendor/xmpp4r/lib/xmpp4r/jid.rb +167 -0
  184. data/lib/vendor/xmpp4r/lib/xmpp4r/message.rb +148 -0
  185. data/lib/vendor/xmpp4r/lib/xmpp4r/muc.rb +14 -0
  186. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/helper/mucbrowser.rb +92 -0
  187. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/helper/mucclient.rb +462 -0
  188. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/helper/simplemucclient.rb +332 -0
  189. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/iq/mucadmin.rb +23 -0
  190. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/iq/mucadminitem.rb +20 -0
  191. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/iq/mucowner.rb +15 -0
  192. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/item.rb +143 -0
  193. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/x/muc.rb +70 -0
  194. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/x/mucuserinvite.rb +60 -0
  195. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/x/mucuseritem.rb +36 -0
  196. data/lib/vendor/xmpp4r/lib/xmpp4r/presence.rb +232 -0
  197. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub.rb +8 -0
  198. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/configuration.rb +86 -0
  199. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/event.rb +49 -0
  200. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/item.rb +35 -0
  201. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/items.rb +44 -0
  202. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/node_config.rb +48 -0
  203. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/publish.rb +24 -0
  204. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/subscription.rb +62 -0
  205. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/subscription_config.rb +67 -0
  206. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/unsubscribe.rb +48 -0
  207. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/helper/nodebrowser.rb +130 -0
  208. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/helper/nodehelper.rb +156 -0
  209. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/helper/servicehelper.rb +417 -0
  210. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/iq/pubsub.rb +19 -0
  211. data/lib/vendor/xmpp4r/lib/xmpp4r/query.rb +15 -0
  212. data/lib/vendor/xmpp4r/lib/xmpp4r/rexmladdons.rb +151 -0
  213. data/lib/vendor/xmpp4r/lib/xmpp4r/roster.rb +7 -0
  214. data/lib/vendor/xmpp4r/lib/xmpp4r/roster/helper/roster.rb +519 -0
  215. data/lib/vendor/xmpp4r/lib/xmpp4r/roster/iq/roster.rb +215 -0
  216. data/lib/vendor/xmpp4r/lib/xmpp4r/roster/x/roster.rb +138 -0
  217. data/lib/vendor/xmpp4r/lib/xmpp4r/rpc.rb +2 -0
  218. data/lib/vendor/xmpp4r/lib/xmpp4r/rpc/helper/client.rb +123 -0
  219. data/lib/vendor/xmpp4r/lib/xmpp4r/rpc/helper/server.rb +74 -0
  220. data/lib/vendor/xmpp4r/lib/xmpp4r/rpc/helper/xmlrpcaddons.rb +67 -0
  221. data/lib/vendor/xmpp4r/lib/xmpp4r/rpc/iq/rpc.rb +23 -0
  222. data/lib/vendor/xmpp4r/lib/xmpp4r/sasl.rb +237 -0
  223. data/lib/vendor/xmpp4r/lib/xmpp4r/semaphore.rb +38 -0
  224. data/lib/vendor/xmpp4r/lib/xmpp4r/stream.rb +497 -0
  225. data/lib/vendor/xmpp4r/lib/xmpp4r/streamparser.rb +77 -0
  226. data/lib/vendor/xmpp4r/lib/xmpp4r/tune.rb +2 -0
  227. data/lib/vendor/xmpp4r/lib/xmpp4r/tune/helper/helper.rb +58 -0
  228. data/lib/vendor/xmpp4r/lib/xmpp4r/tune/tune.rb +113 -0
  229. data/lib/vendor/xmpp4r/lib/xmpp4r/vcard.rb +6 -0
  230. data/lib/vendor/xmpp4r/lib/xmpp4r/vcard/helper/vcard.rb +84 -0
  231. data/lib/vendor/xmpp4r/lib/xmpp4r/vcard/iq/vcard.rb +109 -0
  232. data/lib/vendor/xmpp4r/lib/xmpp4r/version.rb +7 -0
  233. data/lib/vendor/xmpp4r/lib/xmpp4r/version/helper/responder.rb +72 -0
  234. data/lib/vendor/xmpp4r/lib/xmpp4r/version/helper/simpleresponder.rb +44 -0
  235. data/lib/vendor/xmpp4r/lib/xmpp4r/version/iq/version.rb +105 -0
  236. data/lib/vendor/xmpp4r/lib/xmpp4r/x.rb +37 -0
  237. data/lib/vendor/xmpp4r/lib/xmpp4r/xhtml.rb +1 -0
  238. data/lib/vendor/xmpp4r/lib/xmpp4r/xhtml/html.rb +115 -0
  239. data/lib/vendor/xmpp4r/lib/xmpp4r/xmpp4r.rb +18 -0
  240. data/lib/vendor/xmpp4r/lib/xmpp4r/xmppelement.rb +168 -0
  241. data/lib/vendor/xmpp4r/lib/xmpp4r/xmppstanza.rb +162 -0
  242. data/lib/vendor/xmpp4r/setup.rb +1586 -0
  243. data/lib/vendor/xmpp4r/test/bytestreams/tc_ibb.rb +186 -0
  244. data/lib/vendor/xmpp4r/test/bytestreams/tc_socks5bytestreams.rb +113 -0
  245. data/lib/vendor/xmpp4r/test/caps/tc_helper.rb +156 -0
  246. data/lib/vendor/xmpp4r/test/dataforms/tc_data.rb +81 -0
  247. data/lib/vendor/xmpp4r/test/delay/tc_xdelay.rb +51 -0
  248. data/lib/vendor/xmpp4r/test/discovery/tc_responder.rb +91 -0
  249. data/lib/vendor/xmpp4r/test/lib/assert_equal_xml.rb +14 -0
  250. data/lib/vendor/xmpp4r/test/lib/clienttester.rb +120 -0
  251. data/lib/vendor/xmpp4r/test/muc/tc_muc_mucclient.rb +830 -0
  252. data/lib/vendor/xmpp4r/test/muc/tc_muc_simplemucclient.rb +114 -0
  253. data/lib/vendor/xmpp4r/test/muc/tc_mucowner.rb +50 -0
  254. data/lib/vendor/xmpp4r/test/pubsub/tc_helper.rb +662 -0
  255. data/lib/vendor/xmpp4r/test/pubsub/tc_nodeconfig.rb +54 -0
  256. data/lib/vendor/xmpp4r/test/pubsub/tc_subscriptionconfig.rb +41 -0
  257. data/lib/vendor/xmpp4r/test/roster/tc_helper.rb +514 -0
  258. data/lib/vendor/xmpp4r/test/roster/tc_iqqueryroster.rb +173 -0
  259. data/lib/vendor/xmpp4r/test/roster/tc_xroster.rb +73 -0
  260. data/lib/vendor/xmpp4r/test/rpc/tc_helper.rb +96 -0
  261. data/lib/vendor/xmpp4r/test/tc_callbacks.rb +129 -0
  262. data/lib/vendor/xmpp4r/test/tc_class_names.rb +146 -0
  263. data/lib/vendor/xmpp4r/test/tc_client.rb +30 -0
  264. data/lib/vendor/xmpp4r/test/tc_errors.rb +146 -0
  265. data/lib/vendor/xmpp4r/test/tc_idgenerator.rb +30 -0
  266. data/lib/vendor/xmpp4r/test/tc_iq.rb +113 -0
  267. data/lib/vendor/xmpp4r/test/tc_iqquery.rb +31 -0
  268. data/lib/vendor/xmpp4r/test/tc_jid.rb +204 -0
  269. data/lib/vendor/xmpp4r/test/tc_message.rb +116 -0
  270. data/lib/vendor/xmpp4r/test/tc_presence.rb +150 -0
  271. data/lib/vendor/xmpp4r/test/tc_rexml.rb +139 -0
  272. data/lib/vendor/xmpp4r/test/tc_stream.rb +229 -0
  273. data/lib/vendor/xmpp4r/test/tc_streamComponent.rb +95 -0
  274. data/lib/vendor/xmpp4r/test/tc_streamError.rb +131 -0
  275. data/lib/vendor/xmpp4r/test/tc_streamSend.rb +59 -0
  276. data/lib/vendor/xmpp4r/test/tc_streamparser.rb +112 -0
  277. data/lib/vendor/xmpp4r/test/tc_xmppstanza.rb +135 -0
  278. data/lib/vendor/xmpp4r/test/ts_xmpp4r.rb +53 -0
  279. data/lib/vendor/xmpp4r/test/tune/tc_helper_recv.rb +84 -0
  280. data/lib/vendor/xmpp4r/test/tune/tc_helper_send.rb +74 -0
  281. data/lib/vendor/xmpp4r/test/tune/tc_tune.rb +79 -0
  282. data/lib/vendor/xmpp4r/test/vcard/tc_helper.rb +49 -0
  283. data/lib/vendor/xmpp4r/test/vcard/tc_iqvcard.rb +62 -0
  284. data/lib/vendor/xmpp4r/test/version/tc_helper.rb +60 -0
  285. data/lib/vendor/xmpp4r/test/version/tc_iqqueryversion.rb +97 -0
  286. data/lib/vendor/xmpp4r/test/xhtml/tc_html.rb +41 -0
  287. data/lib/vendor/xmpp4r/tools/gen_requires.bash +31 -0
  288. data/lib/vendor/xmpp4r/tools/xmpp4r-gemspec-test.rb +11 -0
  289. data/lib/vendor/xmpp4r/xmpp4r.gemspec +291 -0
  290. data/test/bjam_builder_test.rb +134 -0
  291. data/test/config_test.rb +46 -0
  292. data/test/cron_string_test.rb +94 -0
  293. data/test/data/darcs.zip +0 -0
  294. data/test/data/git.zip +0 -0
  295. data/test/data/mercurial.zip +0 -0
  296. data/test/data/subversion.dump +127 -0
  297. data/test/functional_test.rb +442 -0
  298. data/test/integration_test.rb +126 -0
  299. data/test/irc_publisher_test.rb +20 -0
  300. data/test/jabber_publisher_test.rb +22 -0
  301. data/test/mail_publisher_test.rb +27 -0
  302. data/test/maven2_builer_test.rb +82 -0
  303. data/test/mock/irc.rb +34 -0
  304. data/test/mock/manager.rb +35 -0
  305. data/test/mock/marshmallow.rb +17 -0
  306. data/test/mock/twitter.rb +23 -0
  307. data/test/mock/xmpp4r.rb +19 -0
  308. data/test/perforce_scm_test.rb +22 -0
  309. data/test/rspec_builder_test.rb +139 -0
  310. data/test/rss_publisher_test.rb +22 -0
  311. data/test/ruby_builder_test.rb +77 -0
  312. data/test/test_helper.rb +133 -0
  313. data/test/twitter_publisher_test.rb +19 -0
  314. metadata +439 -0
data/Authors.txt ADDED
@@ -0,0 +1,4 @@
1
+ Craig P Jolicoeur
2
+ cpjolicoeur@gmail.com
3
+ http://craigjolicoeur.com
4
+ http://github.com/cpjolicoeur
data/Changelog.txt ADDED
@@ -0,0 +1,275 @@
1
+ = Cerberus Changelog
2
+
3
+ == Version 0.7.8
4
+ Added channel password option to IRC publisher
5
+
6
+ * New channel_password config option under publisher/irc
7
+
8
+ == Version 0.7.7
9
+ Bugfixes, publisher and config options updates, ActionMailer gem version requirements
10
+
11
+ * Projects are now sorted when displayed via Cerberus CLI
12
+ * Git builder now includes just the commit message instead of the commit diff
13
+ in the publisher output and log file
14
+ * Updated output/reporting of :setup_script during Manager#run. Results
15
+ are included in Publisher's formatted_message
16
+ * Require a version of the ActionMailer gem from the 2.x branch. The new 3.0 branch
17
+ line isn't currently compatible with Cerberus
18
+ * IRC publisher how uses Shout-Bot instead of the older IRC library code
19
+
20
+ == Version 0.7.6
21
+ Bugfixes and updates to RSS publisher
22
+
23
+ * Fix mercurial builder to properly read revision number of merged commits
24
+ * Updated RSS publisher to output a properly formatted RSS feed with the
25
+ ability to keep a certain number of previous builds in the feed. For more
26
+ info on the changes please see the commit message on the following commit:
27
+ http://github.com/cpjolicoeur/cerberus/commit/1f7176a6a611f30a0d70e0f75ec90724f6302043
28
+ * Update usage documentation
29
+
30
+ == Version 0.7.5
31
+ New SCM and configuration options for publisher
32
+
33
+ == Version 0.7.2
34
+
35
+ ** Mangled release. This is really just version 0.7.5 and 0.7.6 combined
36
+
37
+ == Version 0.7.1
38
+ New configuration options for publisher
39
+
40
+ * added "extra_subject" publisher option
41
+ * added Mercurial SCM support
42
+
43
+ == Version 0.7
44
+ New config options, Bazaar SCM support, removed GMailer bugfixes
45
+
46
+ * added support for bazaar scm
47
+ * fixed bug with ActionMailer 2.3.3
48
+ * removed GMailer library. Use default Mail publisher instead
49
+ * added 'build_dir' option for setting custom build directory
50
+ * added 'setup_script' option for a custom script to be run before build command
51
+ * Projects using the Git SCM were not getting the full diff output in their Publishers
52
+
53
+ == Version 0.6
54
+ New Ruby builder, bugfixes, and refactoring
55
+
56
+ * added new Ruby builder for using custom ruby scripts to build projects
57
+ * fixed issue with require explicit version of the twitter4r gem
58
+ * refactoring and cleanup of the git SCM code
59
+ * some cleanup of the 'cerberus status' command output
60
+ * only check for process exit status or abort message for ruby_base builder
61
+
62
+ == Version 0.5
63
+ Bugfixes and Ticket Support
64
+
65
+ * git branch support
66
+ * updates to maven2 config support for custom builder options
67
+
68
+ == Version 0.4.5.1
69
+ Bugfix for ticket #6
70
+
71
+ * Ruby 1.8.7 SMTP lib changes from Ruby 1.8.6
72
+ * http://cpjolicoeur.lighthouseapp.com/projects/22299-cerberus/tickets/6-error-when-sending-the-email
73
+
74
+ == Version 0.4.5
75
+ Update to Maven2 builder
76
+
77
+ * Fix potential cerberus failure due to missing file
78
+
79
+ == Version 0.4.4
80
+ Custom Publisher Support
81
+
82
+ * Added ability for users to create and use their own publishers with the Cerberus build system
83
+
84
+ == Version 0.4.3
85
+ Custom Builder Scheduling
86
+
87
+ * Added at_time project config option to schedule when project is built via "cerberus buildall" command
88
+
89
+ == Version 0.4.2
90
+ RSpec builder bugfixes
91
+
92
+ * Fixed bugs with rspec builder not giving correct error count
93
+ * Extracted rspec-specific code to the rspec builder
94
+
95
+ == Version 0.4.1
96
+ Minor bugfixes
97
+
98
+ * Fixed potential Git version issue when updating repository
99
+ * Fixed problem with rspec builder always returning false even when build was successful
100
+
101
+ == Version 0.4.0
102
+ Git, Twitter support
103
+
104
+ * Added support for publishing to Twitter
105
+ Usage: add the following to your project config
106
+
107
+ publisher:
108
+ twitter:
109
+ login: twitter_login
110
+ passwordd: twitter_password
111
+
112
+ * Git is now supported as an SCM
113
+ Usage specify SCM=git for the Cerberus add command
114
+
115
+ cerberus add PROJECT_URL SCM=git
116
+
117
+ * Several minor bugfixes
118
+
119
+ == Version 0.3.6
120
+ RSpec, Gmailer support
121
+
122
+ * Added out of box support of RSpec tests.
123
+ Usage: add to your project configuration following config
124
+
125
+ builder:
126
+ rspec:
127
+ task: test
128
+
129
+ * Config files now preprocessed by ERB, so it is possible to use dynamic configuration like below
130
+ publisher:
131
+ mail:
132
+ username: <%= ENV['MY_MAIL_ACCOUNT'] %>
133
+ password: <%= IO.read('~/.secret_password') %>
134
+
135
+ * Added support of sending mails using gmailer (http://rubyforge.org/projects/gmailutils) instead of plain mailer sender.
136
+ It would be helpful if you are in corporate environment with proxy and only 80 port is open for communication.
137
+ Usage is standart
138
+
139
+ publisher:
140
+ gmailer:
141
+ recipients: hello@world.com
142
+
143
+ Configuration options for gmailer are:
144
+ :username, :password, :proxy_host, :proxy_port, :proxy_user, :proxy_pass
145
+
146
+ * Remove to_xs helper. Using one from actionsuport
147
+
148
+
149
+ == Version 0.3.5
150
+ Bug fixing
151
+
152
+ * Use smpt_settings config option instead of server_settings for ActionMailer
153
+ * Fixed problem with incorrect state for output messages [cerberus bug #8682]
154
+
155
+ == Version 0.3.4
156
+ Added Cerberus hooks that allow running custom tasks on build finish
157
+
158
+ * Fixed bug with Cerberus::Util spotted by Mohamemd Alvi
159
+
160
+ * Added possibility to add hooks on Cerberus executions. Configuration file format for it is
161
+
162
+ hook:
163
+ HOOK_NAME:
164
+ on_event: successful, setup #by default - run hook for any state
165
+ action: 'export CERBERUS_HOME=/home/anatol && sudo chown www-data -R /home/anatol/cerberus && rcov' #Add here any hook you want
166
+
167
+ == Version 0.3.3
168
+ Major changes
169
+
170
+ * Fix Const load problem with Rails 1.2RC1
171
+ * Correctly implement Jabber publisher using XMPP4R library
172
+ * Upgrade Webgen to 0.4.1
173
+ * Added 'getting better/worse' to build messages' subject
174
+ * Added possibility to configure events on what you would like to receive messages.
175
+ By default used 'default' events. It means all except 'successful' state.
176
+ You could set to this options list of any valid states such as [broken, failed, revival, successful, setup] or predefined sets as
177
+ [all, default, none].
178
+
179
+ You could configure by setting :on_event option to :publisher options branch, or to concrete publisher configuration.
180
+ In case if this option added both to :publisher and :publisher,<PUBLISHER> then concrete configurations wins.
181
+
182
+ Examples of configuration
183
+
184
+ publisher:
185
+ on_event: broken, revival
186
+ mail:
187
+ on_event: all
188
+ jabber:
189
+ #nothing here
190
+
191
+ In given example we would send messages about ALL events by mail and only messages about brokeness and revivalness by Jabber.
192
+
193
+ == Version 0.3.2
194
+ Added Perforce SCM support
195
+
196
+ * Added support of Perforce
197
+
198
+ == Version 0.3.1
199
+ Added BJam builder support
200
+
201
+ * Use lazy loading of cerberus components (publishers, vcs, builder)
202
+ * Show Cerberus home in Help
203
+ * Added 'list' command that shows names of all *active* projects
204
+ * Added BJam building tool http://www.boost.org/tools/build/v2/index.html
205
+
206
+ == Version 0.3.0
207
+ Fix release
208
+
209
+ * Added support of Campfire publisher
210
+ * Added changeset_url option that adds quick link to browsable chanelist view
211
+ * Added possibility to specify user_name and password for Subversion commands
212
+ * Added support of Darcs VCS
213
+
214
+ == Version 0.2.4
215
+ Features release
216
+
217
+ * Fix problem with TLS hack. Now possible to send to SSL and vanilla mailservers without modifying code.
218
+ * Added rant support (http://make.rubyforge.org) [Xavier Shay]
219
+ * Fixed escaping of code in RSS publisher [Xavier Shay]
220
+ * If we have only builder or publisher in configuration then use it. Param :type made mandatory.
221
+
222
+ == Version 0.2.3
223
+ Features release
224
+
225
+ * Added Lock files that prevent from mutiply build of the same project by several different processes
226
+ * Added multythread build for 'buildall' command. Now if one of threads froses (for example because of SVN repo is broken) then other threads would continue execution.
227
+ * Added possibility to send to gmail host using GMailer library
228
+ * Added --force oprion that would be helpful if you want to rebuild project even if there are no changes in VSC.
229
+ Use 'cerberus build --force my_project'
230
+ * Added site for Cerberus project. http://cerberus.rubyforge.org/
231
+ * From now all builds logs their build data. It would be switched off by :log/:enable => false in configuration file
232
+
233
+ == Version 0.2.2
234
+ Minor fix release
235
+
236
+ * Make rake executable recongnition process less verbose
237
+ * Refactored builder mecahnism in Cerberus. Now adding new Builder possible in much more easiest way
238
+ * Added Maven2 builder
239
+ * Add possibility to specify Builder type on application creation by BUILDER=xxx option
240
+ * Process correctly folders locked by SVN
241
+
242
+ == Version 0.2.1
243
+ Minor fix release
244
+
245
+ * publisher -> active flag now not mandatory. Use 'mail' publisher as active if not set any
246
+
247
+ == Version 0.2.0
248
+ Config file was changed since 0.1.1 and you need regenerate config files.
249
+ Or change it by hands: see doc/OPTIONS file to list of all avalable options.
250
+
251
+ Changing required by advanced publishing mechanism. Now it is possible to add several published to one project.
252
+
253
+ Also added 3 new publishers.
254
+ Jabber Publisher - all notification sended via Jabber server
255
+ IRC publisher - messages sent to IRC channel
256
+ RSS Publisher - result of build Cerberus writes to file in RSS format.
257
+ This feature would be useful for big open project when many users would like to see results of test-run.
258
+ If you publish results as RSS - then any user could subscribe to channel.
259
+
260
+
261
+ * Added automatic subversion cleanup to avoid repository locking after Cedrberus process termination
262
+ * Added Jabber publisher
263
+ * Added IRC publisher
264
+ * Added RSS publisher
265
+
266
+ == Version 0.1.1
267
+ Minor improvements
268
+
269
+ * Added 'buildall' command that build all projects added to Cerberus repository.
270
+ * Fixed tests on *nix
271
+
272
+ == Version 0.1.0
273
+ Initial version of Cerberus tool
274
+
275
+ * Implemented basic functionality required by Continuous Integration.
data/Copyright.txt ADDED
@@ -0,0 +1,19 @@
1
+ If you have contributed to Cerberus, you deserve to be on this list.
2
+ Contact us (see: Authors.txt) and we will add you.
3
+
4
+ Cerberus is Copyright (C) 2006-2009 by the following contributors:
5
+
6
+ Anatol Pomozov
7
+ Xavier Shay
8
+ Mark Noworolski
9
+ Craig P Jolicoeur
10
+ Rob Kaufman
11
+ Ken Mayer
12
+ Niklas Koponen
13
+ Mike Gunderloy
14
+ Joe Van Dyk
15
+ Andrew Timberlake
16
+ Paul Hinze
17
+ McClain Looney
18
+ Peter Fitzgibbons
19
+ Kai Chen
data/License.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2006-2009 by individual contributors (see: Copyright.txt)
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1,166 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'rake/testtask'
4
+ require 'rake/packagetask'
5
+ require 'rake/gempackagetask'
6
+ require 'rake/clean'
7
+
8
+ require './lib/cerberus/constants'
9
+
10
+ PKG_BUILD = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : ''
11
+ PKG_NAME = 'cerberus'
12
+ PKG_VERSION = Cerberus::VERSION + PKG_BUILD
13
+ PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
14
+
15
+ RELEASE_NAME = "REL #{PKG_VERSION}"
16
+
17
+ RUBYFORGE_PROJECT = "cerberus"
18
+ RUBYFORGE_USER = ENV['RUBYFORGE_USER'] || "cpjolicoeur"
19
+
20
+ task :default => [:test, :clean]
21
+
22
+ desc "Run the tests in the test/ directory"
23
+ Rake::TestTask.new(:test) do |t|
24
+ t.libs << "test"
25
+ t.pattern = 'test/*_test.rb'
26
+ t.verbose = true
27
+ end
28
+
29
+ CLEAN.include %w(**/*~)
30
+ desc "Clean all generated files"
31
+ task :clean => :clobber_package do
32
+ root = File.dirname(__FILE__)
33
+ rm_rf "#{root}/test/__workdir"
34
+ rm_rf "#{root}/coverage"
35
+ rm_rf "#{root}/doc/site/out"
36
+ rm_rf "#{root}/doc/site/webgen.cache"
37
+ end
38
+
39
+
40
+ GEM_SPEC = Gem::Specification.new do |s|
41
+ s.name = 'edavis10-' + PKG_NAME
42
+ s.version = PKG_VERSION
43
+ s.platform = Gem::Platform::RUBY
44
+ s.required_ruby_version = ">=1.8.2"
45
+
46
+ s.summary = "Cerberus is a Continuous Integration tool that could be easily run from Cron."
47
+ s.description = <<-DESC.strip.gsub(/\n\s+/, " ")
48
+ Cerberus is a Continuous Integration software for Ruby projects. CI helps you keep your project
49
+ in a good shape.
50
+
51
+ Cerberus could be easily invoked from Cron (for Unix) or nnCron (for Windows) utilities.
52
+ DESC
53
+
54
+ s.add_dependency 'actionmailer', '~> 2.0'
55
+ s.add_dependency 'activesupport', '~> 2.0'
56
+ s.add_dependency 'rake', '>= 0.7.3'
57
+
58
+ s.files = Dir.glob("{bin,lib,test}/**/*").delete_if { |item| item.include?('__workdir') }
59
+ s.files += %w(License.txt Readme.markdown Changelog.txt Authors.txt Copyright.txt Rakefile)
60
+
61
+ s.bindir = "bin"
62
+ s.executables = ["cerberus"]
63
+ s.default_executable = "cerberus"
64
+ s.require_path = 'lib'
65
+ s.has_rdoc = false
66
+ s.test_files = Dir.glob('test/*_test.rb')
67
+
68
+ s.author = "Craig P Jolicoeur"
69
+ s.email = "cpjolicoeur@gmail.com"
70
+ s.homepage = "http://rubyforge.org/projects/cerberus"
71
+ s.rubyforge_project = RUBYFORGE_PROJECT
72
+ end
73
+
74
+
75
+ Rake::GemPackageTask.new(GEM_SPEC) do |p|
76
+ p.gem_spec = GEM_SPEC
77
+ p.need_tar = true
78
+ p.need_zip = true
79
+ end
80
+
81
+ desc "install gem from pkg/ directory after running clean and test"
82
+ task :install => [:clean, :test, :package] do
83
+ system "gem install pkg/#{PKG_NAME}-#{PKG_VERSION}.gem"
84
+ end
85
+
86
+ desc "uninstall gem"
87
+ task :uninstall => [:clean] do
88
+ system "gem uninstall #{PKG_NAME}"
89
+ end
90
+
91
+ desc "Look for TODO and FIXME tags in the code"
92
+ task :todo do
93
+ FileList.new(File.dirname(__FILE__)+'/lib/cerberus/**/*.rb').egrep(/#.*(FIXME|TODO|TBD|DEPRECATED)/i)
94
+ end
95
+
96
+ desc "uninstall and reinstall gem"
97
+ task :reinstall => [:uninstall, :install]
98
+
99
+ begin
100
+ require 'rcov/rcovtask'
101
+ Rcov::RcovTask.new do |t|
102
+ t.test_files = FileList['test/*_test.rb']
103
+ t.output_dir = File.join( File.dirname(__FILE__),'coverage' )
104
+ t.verbose = true
105
+ end
106
+ rescue Object
107
+ end
108
+
109
+ desc "copy coverage directory to RubyForge site"
110
+ task :site_coverage => [:rcov] do
111
+ sh %{ scp -r coverage/* #{RUBYFORGE_USER}@rubyforge.org:/var/www/gforge-projects/#{RUBYFORGE_PROJECT}/coverage/ }
112
+ end
113
+
114
+ desc "Release files to RubyForge"
115
+ task :release_files => [:clean, :package] do
116
+ require 'meta_project'
117
+ project = MetaProject::Project::XForge::RubyForge.new(RUBYFORGE_PROJECT)
118
+
119
+ release_files = FileList[
120
+ "pkg/#{PKG_FILE_NAME}.gem",
121
+ "pkg/#{PKG_FILE_NAME}.zip",
122
+ "pkg/#{PKG_FILE_NAME}.tgz"
123
+ ]
124
+
125
+ Rake::XForge::Release.new(project) do |release|
126
+ release.user_name = RUBYFORGE_USER
127
+ release.password = ENV['RUBYFORGE_PASSWORD']
128
+ release.files = release_files.to_a
129
+ release.package_name = PKG_NAME
130
+ release.release_name = "Cerberus #{PKG_VERSION}"
131
+ end
132
+
133
+ end
134
+
135
+ desc "Publish news update to RubyForge"
136
+ task :publish_news do
137
+ require 'meta_project'
138
+
139
+ project = MetaProject::Project::XForge::RubyForge.new(RUBYFORGE_PROJECT)
140
+ Rake::XForge::NewsPublisher.new(project) do |publisher|
141
+ publisher.user_name = RUBYFORGE_USER
142
+ publisher.password = ENV['RUBYFORGE_PASSWORD']
143
+ publisher.subject = "[ANN] Cerberus #{PKG_VERSION} Released"
144
+ publisher.details = IO.read(File.dirname(__FILE__) + '/Changelog.txt')
145
+ end
146
+ end
147
+
148
+ begin
149
+ gem 'webgen', '>=0.5.6'
150
+ require 'webgen/webgentask'
151
+
152
+ Webgen::WebgenTask.new do |t|
153
+ t.directory = File.join( File.dirname( __FILE__ ), 'doc/site')
154
+ t.clobber_outdir = true
155
+ end
156
+ rescue Gem::LoadError
157
+ puts "webgen gem is required to build website output"
158
+ end
159
+
160
+ desc "Update cerberus.rubyforge.org website"
161
+ task :publish_site => :webgen do
162
+ sh %{scp -r -q doc/site/out/* #{RUBYFORGE_USER}@rubyforge.org:/var/www/gforge-projects/#{RUBYFORGE_PROJECT}/}
163
+ end
164
+
165
+ desc "Run release_files, publish_news, publish_site"
166
+ task :release => [:release_files, :publish_news, :publish_site]