#topicpath
----
**AntのTIPS集
#contents

***コンパイル
 <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;}

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS