日本語環境で FCSH Wrapper を動かす方法
FCSH Wrapper*1が日本語を受け取れるように改造することにしました。
windowsのロケール(コントロールパネル->地域のオプション->ロケール)を「日本語」から「英語(US)」に変更するとFCSH Wrapperを利用したflexのビルドはできます。しかし、windowsのロケールを変えると、他のアプリケーションにも影響が出るので、FCSH Wrapper が日本語を受け取れるように改造することにしました。
まず、次のような構成でmeadowからflex3のソースをビルドしてみます
- adobe flex3 SDK 3.1
- FCSH Wrapper 0.1.2 (Last Update: Apr 21 2008)
- Apache Ant version 1.7.0
- cygwin 1.5.25(0.156/4/2) 2008-06-12 19:34 i686
- meadow 3.00
- windows 2000 server SP4
FCSH Wrapper のログ画面に『ターゲット [some.kind.of.echo] が見つかりませんでした』と出力されて、コンパイルがうまく行きませんでした。FCSH Wrapper のjavaソースを追いかけた結果、次の2ヶ所を書き換えると日本語環境(日本語ロケール)でも動きました。
原文:instance.stdOutReader.startToWatchForEchoMessage("Target [some.kind.of.echo] not found"); 改造:instance.stdOutReader.startToWatchForEchoMessage("ターゲット [some.kind.of.echo] が見つかりませんでした");
原文:Pattern patternCheck =Pattern.compile(".*Assigned (\\d*) as the compile target id.*", Pattern.DOTALL); 改造:Pattern patternCheck =Pattern.compile(".*コンパイルのターゲット ID として (\\d*) が割り当てられました.*", Pattern.DOTALL);
javaのソースはUTF-8で保存し、fcshWrapperディレクトリ(build.xmlがあるはず)でantとすれば、distディレクトリ内に fcshWrapper.jar ができますので、これを元々のfcshWrapper.jarファイルに上書きします。
meadow の利用の有無はこの改造には関連しませんので、『fcshを日本語環境でバッチビルドする』というのが本筋です。ただ、巷のIDEでは普通に出来ることだと思われるので、やはり meadow(emacs類)からの利用以外では不要の改造だと思います。もっと上手い方法があればご指導下さい。
(+64223 リスタート)