retrospectiva を JRuby で稼動させるまで

BTS の retrospectiva を JRuby で動かそうとしたところあちこちで引っかかって
結果としては RedCloth-java がマルチバイトを受け付けない…

JRuby 対応済みコードは https://github.com/kkkon/retrospectiva で公開しています。

稼動させてみるとなぜかマークアップ(wiki記法)がまともに動かない状況が発生
編集などの画面にいくとデータが入っている状態なのでデータの読み出しは問題ない

まっさらな環境を用意するにも redmine のように rake db:migrate とやると
「そんなんしらんがな」とエラーになった orz

lib/tasks/database.rake をみるとエラーメッセージに
「昔は db:retro:load だったけど db:setup を使え」
となっているので rake db:setup でいけた

まっさらな環境を用意してアルファベットと数字だけでチケットや wiki を作成してみると
問題なく稼動している…

Kernel#p で追っかけていくと WikiEngine::Retro::to_html で to(Formatter) のところで
正常に動作していないのを発見

似たような環境と思われる Redmine 1.4 を参考に除いてみたら…

おおう、RedCloth の ver3 をローカルに保持して ruby のみで動かしているwww
ref. lib/redcloth3.rb

参考にならないのでネットで RedCloth JRuby などで検索してみると 7bit オンリーでないと動かない模様

仕方がないのでカスタムのマングルで回避するように修正したものが上記になります。

自分の目的としては既存の retrospectiva を稼動できれば問題ないのと
ruby 環境を用意するよりも JRuby の上で動かすほうが環境保存の目的としてはあっていたので作ってみました。

あと ruby 環境だと bundler を使用したとしても最低バージョンは指定されていても上限バージョンが指定されていないので
ruby 1.9 系列では動かない gem が bundle されてうごかね~ってのを
retrospectiva と redmine を wabler で war するときに経験したのでもうこりごりです (T-T)

This entry was posted in JRuby, Rails, RedCloth, retrospectiva, Ruby. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>