- 追加された行はこの色です。
- 削除された行はこの色です。
#topicpath
----
**AntのTIPS集
#contents
***日付処理(n日前の日付をプロパティにセットする、とか)
<tstamp>
<format property="TODAY" pattern="yyyy/MM/dd" />
</tstamp>
<!-- 7日前/10日後を定義する処理 -->
<propertyfile file="date.properties">
<entry key = "TODAY-7" type = "date" value = "7" default = "${TODAY}" pattern = "yyyy/MM/dd" operation = "-" />
<entry key = "TODAY+10" type = "date" value = "10" default = "${TODAY}" pattern = "yyyy/MM/dd" operation = "+" />
</propertyfile>
<property file="date.properties" />
<delete file="date.properties" />
***コンパイル
<target name="javac" depends="init">
<mkdir dir="${class.dir}" />
<javac srcdir="${src.dir}" destdir="${class.dir}" encoding="${compile.encoding}"
memoryInitialSize="256M" fork="yes" memoryMaximumSize="256M">
<!-- usage : excludes="kino/hoge.org/**" -->
<classpath refid="project.class.path" />
</javac>
</target>
ちなみにクラスパスなどは
<path id="project.class.path">
<pathelement path="${java.class.path}" />
<pathelement path="${class.dir}" />
<pathelement path="${jar.dir}" />
<pathelement location="${log.jar}" />
<pathelement location="${swt.jar}" />
</path>
とかすればよい。
***ディレクトリ配下のすべてのjarにクラスパスを通す
<path id="all.classes">
<fileset dir="${jar.dir}">
<include name="**/*.jar"/>
</fileset>
</path>
といった書き方をすると、
<!-- Javaテストプログラムの実行 -->
<target name="java" depends="javac">
<java classname="kino.test.TestApp2" fork="yes" maxmemory="256M" >
<arg line="hogehoge" />
<classpath refid="all.classes" />
</java>
</target>
と書くことができる。こうするとすべてのjarファイルにクラスパスを通したことになる。
*** javacタスクで、Ant自身が通したクラスパスを無効にする。
題名の通り、デフォルトは有効なので(ようするにxercesImpl.jarなどは、${ANT_HOME}/lib/にあるため、クラスパスを通さなくてもコンパイルエラーにならない)
それを無効にする方法。javacタスクのオプションで
includeAntRuntime="no"
とすればよい。
***タスクの一覧表示
>ant -projecthelp
とすると、プロジェクトの一覧が表示される。以下が結果
Buildfile: build.xml
moneytest build file
Main targets:
Subtargets:
clean
clover.view
code
hist.report
record.point
report.html
test
with.clover
Default target: code
***外部タスクを使う
${ANT_HOME}/lib/
にjarファイルを置く必要がある。
***独自タスクの定義
基本的にはtaskdefタグで行う。下記がサンプル。
<taskdef name="java2html" classname="com.java2html.Java2HTMLTask">
<classpath>
<pathelement location="${j2h.jar}" />
</classpath> 上でそのタスクが存在するjarを指定。
</taskdef>
***Java2html(旧バージョン)
${j2h.jar}は、j2h.jarを指定(ファイルはhttp://www.java2html.com/より取得)((Java2htmlは新しいバージョンができて、Ant用タスクが定義されたりと、上記内容は古いものとなっています。))
<target name="j2h" depends="javac">
<mkdir dir="${j2h.dir}"/>
<java classname="j2h" fork="yes" maxmemory="256M" >
<arg line="-js ${src.dir} -d ${j2h.dir} -t 2 -m 4" />
<classpath>
<pathelement location="${j2h.jar}" />
</classpath>
</java>
</target>
----
この記事は
#vote(おもしろかった,そうでもない)
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}