ant,fcsh のエラーメッセージの変更方法
ant が吐き出すコンパイルメッセージは、 meadow の標準のメッセージ解析では次の2点でギブアップしているらしい。
- 日本語をはき出す。(Error,Warning=>エラー、警告 など)
- メッセージの頭に [exec] などと付く。
そのために、antのエラーメッセージを変更することにした。
日本語を吐かせないためには
flexsdk/bin/jvm.conf に次の様に記述する。
java.args=-Xmx384m -Dsun.io.useCanonCaches=false -Duser.language=en -Duser.region=US
余計な接頭辞([exec]など)を削るには
ホームディレクトリに次の内容の .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
それでも、meadowが反応しないので
;; ;; ActionScript compilation mode ;; (require 'compile) (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)
結局、.emacs で対応した事になってしまった。まぁいいか。
(追記 2009/10/12)本日、エラーメッセージがいきなり変わった。これまでは、「ファイルパス(行番号)+Error:+エラー内容」だったのに、「ファイルパス(行番号)+col:+桁+Error:+エラー内容」になっている。
D:\home\eggtoothcroc\project\pipedFcsh\Sample.mxml(10): col: 34 Error: The prefix "gx" for element "gx:Script" is not bound.
なぜかは、不明。対処は、.emacs を次のように修正。
;; ;; ActionScript compilation mode ;; (require 'compile) (add-to-list 'compilation-error-regexp-alist-alist '(flex4 "^\\(\\(?:[a-zA-Z]:\\)?[^:(\t\n]+\\)\\(?:(\\([0-9]+\\))\\)?: +\ \\(?:col: +\\([0-9]+\\) +\\)?\\(?:Error\\|Warning\\):" 1 2 3) '(flex4 "^\\(\\(?:[A-Z]:\\)?[^:(\t\n]+\\)\\(?:(\\([0-9]+\\))\\)?: +\ \\(?:Error\\|Warning\\):" 1 2)) (add-to-list 'compilation-error-regexp-alist 'flex4)
「col: 桁」に対応した。