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)