2003-04-30 [長年日記]
@ [ant] ant-contribを使ってみた
以前foreachタスク使えそうと書いたant-contribを使ってみました。foreachタスクだけなぜかExampleがなかったので、ここにメモっておきます。
このforeachというタスクはいわゆるループ(イテレーション)を行なうためのもので、targetパラメータで指定したターゲットを複数回実行するものです。 たとえば、Shell(Bash)でdocディレクトリ以下の.sdocファイルに対してsdocを実行するには
for file in doc/*.sdoc; do sdoc $file done
と書きます。これと同様のことをforeachタスクでやるには以下のように書きます。
<!-- ant-contrib関連のタスクの宣言 -->
<target name="init">
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
</target>
<!--
docディレクトリ下の.sdocファイルに対して、
ターゲットsdocを実行する
-->
<target name="foreach" depends="init">
<foreach param="file"
target="sdoc">
<path>
<fileset dir="doc" includes="*.sdoc"/>
</path>
</foreach>
</target>
<!--
sdocコマンドを呼び出す。fileプロパティはforeachタスクの
paramパラメータで設定される
-->
<target name="sdoc">
<exec dir="."
executable="sdoc"
vmlauncher="false">
<arg line="${file}"/>
</exec>
</target>
なぜにループの対象がtargetなのか*1はげしく謎ですが、これでShellっぽいこともAntで実現できるようになりました。
*1 タスクをイテレートできれば、もっとShellっぽく書けるのに
@ [life] GWのTODO(優先度高い順)
- Baykitのプロジェクトのビルド環境整備
- 会社のメール鯖にMLサーバをいれる(ezmlm? fml?)
- jFFFTPでブックマーク編集機能を実装する
家サーバにqmailをいれる- Cの勉強
と目標を立ててみても、まともに作業できる日が今日と2日しかないので、どれも微妙な感じですが...
@ [life] 今日一日
銀行で口座切替え -> 女優霊観賞 -> 昼寝 -> BSBのbuild.xmlに手をつける
昼寝なんてしたのは何ヶ月ぶりだろうか。これやっちゃうと昼夜逆転の生活を送る羽目になるので、しばらく控えてたのに。関係ないけど、夜中の1:50ぐらいから池袋ウェストゲートパークの再放送がやってる。ビデオレンタルする手間が省けて良い。
あと、現実逃避でmonoをインストールしてみた。monoとlibgcのSRPMをrebuildして rpm -Uvhですんなり入る。お決まりのHello Worldプログラム書いてみたけど、なんつーかものすごい既視感に襲われるのは自分だけだろうか? そもそもJavaに対するC#の強みって何だろう? この言語、使えたらいいんだろうけど、あくまでM$主導のテクノロジーだから将来性に激しく不安を覚える。
ということはjFFFTPはもう結構できてるんですね。
いや、全然できてないっす。ブックマーク機能先に実装しておいた方があとあとのデバッグが楽そうかなぁと思って。
description fZOurBDyB3pC http://tinyurl.co.uk/foks