読者です 読者をやめる 読者になる 読者になる

Cerberus

http://cerberus.rubyforge.org/index.html

svnとかで管理されてるプロジェクトのソースコードを取ってきて,ビルドやテストなどを実行し,エラーがあるとメールだとかRSSだとかにして発信できるツールのようです。設定ファイルがYAMLなところとかPlaggerを思わせます。

svnとかで管理されてるプロジェクト追っかけとかに良いかもしれません。

履歴管理システムはCVSSubversion、darcsが対応してる模様。lib/cerberus/scm/以下の他のファイルを参考にすれば他の履歴管理システムでも対応できそうです。ファイルを比較してみると,

  • initialize
  • installed?
  • update!
  • has_changes?
  • current_revision
  • url
  • last_commit_message
  • last_author

メソッドが定義してあれば良さそうです。

デフォルトでrakeタスクを実行するのでRuby関連のプロジェクトでは便利な反面,他のプロジェクトのときは若干めんどくさいです。今のところmaven2とかrantとか対応してるようです。コマンドの拡張はlib/cerberus/builder/以下の他のやつを見ながらやれば色々できそうです。

  • initialize(config)
  • run
  • successful?
  • brokeness
  • output

メソッドが定義してあれば良さそうです。

出力方法はmail、ircrssjabberプロトコル、campfireに対応してるようです。これに関してはRSSを吐き出しておいてPlagger::Subscription::Scriptを使えばよいかもしれません。…とか言い出すとPlagger::Subscription::SCMがあれば万事解決ということになりそうな気も。

試してないので分からないですがソースコードのコメントとか履歴とかに日本語が入ってると色々したりするときに化けるかもしれません。まぁソースコード対象と割り切ってしまえばあまり気にならないかもしれません。