Antの結果をメール

Antの結果を成功・失敗に応じてメールを出したいと思います。
Ant詳説でいろいろ調べて、AntのMailタスクでメールを送ろうと思っていました。

しかし、Webで調べているとAntにはListenerとLoggerという機能があることが分かりました。

jp.ikepon.app.antbuildfailmailsampleプロジェクトを作って試してみました。
起動するバッチファイルは以下の様に起動時にMailLoggerのプロパティファイルを指定するようにしました。

cd C:\tool\eclipse\workspace\jp.ikepon.app.antbuildfailmailsample set CLASSPATH=%CLASSPATH%;C:\tool\junit3.8.1\junit.jar start ant -logger org.apache.tools.ant.listener.MailLogger -DMailLogger.properties.file=mail.properties

JUnitタスクで失敗・エラーが発生した場合で全てのテストが終了してからメールを送信したい場合、JUnitタスクのfailureproperty・errorpropertyを指定して失敗・エラーが発生したことを変数に記録しておきます。
そして、次のターゲットでその失敗・エラーのプロパティがセットされているかどうか確認してセットされていた場合はFailタスクでビルドを失敗させます。
そしてMailLoggerではビルドで失敗した場合にのみメールが送信されるようにしています。

プロパティを応用すればいろんなパターンでメールで結果を送信できると思います。


コメント