ファイルの改行コードを変換する方法
元ネタ:1行で指定ディレクトリ配下のファイルの改行コードを変換する方法 - Togetter
がんばってみたが AntBuilder に及ばなかった。
// 個人的な設定なので注意 new File('.').eachFileRecurse(groovy.io.FileType.FILES) { it.write(it.text.normalize(), 'UTF-8') } new File('.').traverse { if (it.file) it.write(it.text.normalize(), 'UTF-8') } // new AntBuilder().fixcrlf(srcDir:'.', eol:'lf', includes:'**/*.*') ファイル指定がなくてもサブフォルダまで対象になる // new AntBuilder().fixcrlf(srcDir:'.', eol:'lf') Java 環境のデフォルトの文字コードだった new AntBuilder().fixcrlf(srcDir:'.', eol:'lf', encoding:'utf-8')
File からオリジナルの文字コードを取得する方法が分からなかった。
AntBuilder は勉強になった。Task も覚えておこう。
追記
やっぱり覚えるのはやめて検索するようにしよう。
Apache Ant™ User Manual
2011-05-19 追記
早速 groovy -e で使ってみたところ返ってこなかった。
どうやらコマンドプロンプトでは 「*」 を使えない場合があるらしい。
groovy -e "println '*'"
http://jira.codehaus.org/browse/GROOVY-3043
bat ファイルの問題のようなので java コマンドで起動してみる。
参考:java -jarで起動できるGroovy - uehaj's blog
今度は java -cp %GROOVY_HOME%/lib/*.jar が 「.」 を含む jar 名に対応していないのでエラーになる。
全ての jar を指定すればいいのだが、当初の問題は解決したし groovy.bat が修正される可能性もあるのでここまで。
2011-05-23 追記
永井雅人のブログ: Poison for Groovy
http://jira.codehaus.org/browse/GROOVY-4805
修正パッチが UP されていて 「*」 表示できた。
Nagai Masato さんに感謝。
2011-05-31 追記
文字コードを指定しなければいけなかった