[MindProcessor]/[Slim3]をantから使う

MindProcessorは、xmindファイルのPOSTに対してダイレクトに結果を返すので、
antからxmindファイルをPOSTしてやることで、ビルドプロセスに組み込んじゃうことができます。
そのやりかたをご紹介します。

multipartのPOSTはantの標準タスクには組み込まれていないので、今回は以下のライブラリを使いました。
Fikin Ant Tasks and Libraries
若干いろいろ入り過ぎ感ありですが、いまのところこれが本命っぽい。

解凍して、以下のライブラリをantから見えるフォルダに置きます。

そして、以下のようにantタスクを定義します。

  <taskdef name="httpmpost" classname="net.sf.fikin.ant.httpclientanttask.AntMultipartPostMethod" classpathref="classpath"/>
  <target name="mindprocessor">
    <httpmpost url="http://www.mindprocessor.net/apply_slim3"
       logFile="Slim3Source.zip"
       logLevel="content"
       logProcessAs="binary"
       >
         <postFile file="EntityMap.xmind" name="xmlfile" contentType="application/zip" />
     </httpmpost>
     <unzip src="Slim3Source.zip" dest="ziptemp" />
     <copy todir="src/generated" overwrite="true">
       <fileset dir="ziptemp/EntityMap" />
     </copy>
    <delete file="Slim3Source.zip"/>
    <delete dir="ziptemp"/>
  </target>

xmindのファイルを「EntityMap.xmind」、javaのソースフォルダを「src/generated/java」としています。
上書きの話とか、バージョン管理の話とか(私は自動生成コードはバージョン管理には含めない主義)あるので、
手書きのソースコードフォルダとは別のソースフォルダを用意しましょう!
(最後の展開してコピーして消してってところ若干かっこわるいですがそれは言わないでください。。)

これで

ant mindprocessor

とやると、いちいちブラウザを開くこと無く、xmindファイルがソースコードに変換されます。
レッツMDD!