ant

2012-02-16, ant java

ant未分類

ANTタスクの実例集。以下のサイトが役に立ちます。

javadoc

生成

dist/docフォルダ内にjavadocを生成する。

<target name="javadoc">
  <javadoc
    sourcepath="src/"
    packagenames="info.lumber_mill.*"
    destdir="dist/doc"
    stylesheetfile="../lumberCommons/src/txt/javadoc_stylesheet.css"
    overview="src/overview.html"
    source="1.5"/>
</target>

公開

生成したjavadocをウェブサーバなどに転送する。

<target name="scp-javadoc-to-xxx" depends="javadoc">
  <property name="host" value="xxx.com" />
  <property name="user" value="username" />
  <property name="pass" value="ppp" />
  <property name="path" value="/path/to/javadoc/" />
  <zip destfile="dist/javadoc.zip">
    <fileset dir="dist/doc" />
  </zip>
  <sshexec host="$\{host\}" username="$\{user\}" password="$\{pass\}"
    trust="true" command="mkdir -p $\{path\}" />
  <scp todir="$\{user\}@$\{host\}:$\{path\}" password="$\{pass\}"
    trust="true" >
    <fileset file="dist/javadoc.zip" />
  </scp>
  <sshexec host="$\{host\}" username="$\{user\}" password="$\{pass\}"
    trust="true" command="cd $\{path\} \\
      && unzip -o javadoc.zip \\
      && rm javadoc.zip" />
</target>

※「\\(バックスラッシュ)」で終わっている行は実際には一行です。適宜編集して下さい。

jarへの署名

<signjar storepass="$\{storepass\}" alias="myKey">
  <fileset dir="lib" includes="*.jar" />
</signjar>
<target name="distribute" depends="clean">
  <property name="project" value="projectname" />
  <property name="" value="" />

  <mkdir dir="dist"/>
  <mkdir dir="dist/bin" />
  <mkdir dir="dist/lib" />

  <!-- このプロジェクトのjarを作成 -->
  <jar destfile="dist/lib/$\{project\}.jar"
    manifest="manifest.txt" update="false">
    <fileset dir="bin"/>
  </jar>

  <!-- 利用しているプロジェクトのjarを作成 -->
  <jar destfile="dist/lib/lumberCommons.jar" update="false">
    <fileset dir="../lumberCommons/bin" />
  </jar>

  <!-- 利用しているライブラリをコピー -->
  <copy file="../lumberCommons/lib/hsqldb.jar" todir="dist/lib/" />

  <!-- jarファイルに署名する -->
  <signjar storepass="$\{password.keystore\}" alias="myKey"
    jar="dist/lib/$\{project\}.jar" />
  <signjar storepass="$\{password.keystore\}" alias="myKey"
    jar="dist/lib/lumberCommons.jar" />
  <signjar storepass="$\{password.keystore\}" alias="myKey"
    jar="dist/lib/hsqldb.jar" />

  <!-- その他必要なファイルをコピー -->
  <copy todir="dist/bin" >
    <fileset dir="script" includes="**"/>
  </copy>

</target>

tomcat

マネージャによる起動・停止

<target name="scp-to-xxx.com" depends="distribute">
  <property name="host" value="xxx.com" />
  <property name="path" value="/pre" />
  <property name="user" value="tomcat" />
  <property name="pass" value="tomcat" />
  <echo message="$\{host\}$\{path\}を停止します。" />
  <stop url="http://$\{host\}:8080/manager" path="/pre"
    username="$\{user\}" password="$\{pass\}"
    failonerror="false" />
</target>

改行コードの変換

下記の例ではプロジェクトのtestフォルダ下にあるテキストファイルの改行コードをLF(unix)に変更します。CVSはテキストファイルの改行コードを改竄するので、改行コードにうるさいスクリプトファイル等を配備する前に実行するとよいでしょう。

<target name="test">
  <fixcrlf srcdir="test" eol="lf"/>
</target>

この記事は役に立ちましたか?