ant+flex4 エラーメッセージ
ant+flex4+air2+meadow+fcsh環境でActionScript関連のコンパイルをした際のエラーメッセージの取り扱いについてのメモ。(依然書いた記事GoFcshDaemonに基づいて、Win7x64環境で再構築。記事fcshラッパー再構築の続き)
(home)/.antrc
ant のメッセージについているバナー([exec], [javac]など)を削除して、emacs風のエラーメッセージで出力するには、.antrc に次のスクリプトを書く。出典ant faq
# Detect (X)Emacs compile mode #if [ "$EMACS" = "t" ] ; then ANT_ARGS="$ANT_ARGS -emacs" ANT_OPTS="$ANT_OPTS -Dbuild.compiler.emacs=true" #fi
if文は、以前は支障がなかったのですが、この度は不適切となりました。meadow外からの起動時でもバナー無しということになりますが、特に支障がないので、if文は無効にしました。支障が現れた理由は不明です。このif文の意味は、emacsからの起動時にtrueとなることでしょうか? ですが、この度は、$EMACS="MEADOW"になっていました。環境変数としてEMACS="MEADOW"と設定しているので、そのせいでしょうか?以前はどうだったか覚えていません。
(flexsdk)/bin/jvm.config
flex、fcshなどのコンパイルメッセージのロケールを変更をするための設定です。
# Arguments to VM #java.args=-Xmx384m -Dsun.io.useCanonCaches=false -Duser.language=en -Duser.region=US #java.args=-Xmx384m -Dsun.io.useCanonCaches=false -Duser.language=ja -Duser.region=JP java.args=-Xmx384m -Dsun.io.useCanonCaches=false
上から順に、英語、日本語、システム既定です。現OSの環境は日本語なので、日本語メッセージとなります。
(home)/.emacs
メッセージを解釈して、強調表示+ジャンプを行えるようにします。
(add-to-list 'compilation-error-regexp-alist-alist '(flex4 "^\\(\\(?:[A-Z]:\\)?[^:(\t\n]+\\)\\(?:(\\([0-9]+\\))\\)?: +\ \\(?:エラー\\|警告\\|Error\\|Warning\\):" 1 2)) (add-to-list 'compilation-error-regexp-alist 'flex4)
日本語の場合「警告」となるのかどうかは解らないけど、今度見つけたら訂正しようと思います。少なくとも、エラーとErrorに関しては正しく反応しているようです。