Ant/Condition のバックアップ(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Ant/Condition へ行く。
- 1 (2007-06-28 (木) 14:20:56)
- 2 (2007-07-03 (火) 16:17:07)
- 3 (2007-07-26 (木) 15:15:38)
- 4 (2011-01-13 (木) 22:01:44)
- 5 (2011-01-14 (金) 17:13:05)
- 6 (2011-01-18 (火) 22:45:56)
- 7 (2011-05-02 (月) 20:42:46)
- 8 (2011-06-03 (金) 13:30:59)
- 9 (2013-10-30 (水) 21:54:15)
- 10 (2014-09-02 (火) 16:06:47)
- 11 (2014-10-02 (木) 15:21:04)
- 12 (2014-11-08 (土) 01:41:12)
- 13 (2015-09-29 (火) 20:01:25)
- 14 (2015-12-28 (月) 21:05:17)
- 15 (2017-10-27 (金) 16:26:13)
- 16 (2018-10-30 (火) 16:39:38)
- 17 (2023-01-06 (金) 14:56:43)
- 18 (2024-01-19 (金) 11:15:36)
TITLE:Antで条件分岐を行う
Antで条件分岐を行う
編集者:Terai Atsuhiro
作成日:2007-03-13
更新日:2024-01-19 (金) 11:15:36
概要
Conditionタスクを使って、例えばディレクトリの有無などによる条件で、Targetタスクを実行するかどうかを振り分けます。
build.xmlのサンプル
<!-- リソースディレクトリが存在すれば、プロパティ:have.resourcesは真 -->
<condition property="have.resources">
<available file="${res.dir}" />
</condition>
<!-- ターゲット:prepare-resourceは、プロパティ:have.resourcesが
真の場合実行される -->
<target name="prepare-resource" depends="prepare" if="have.resources">
<!-- 以下、ビルド用のリソースディレクトリを作って、リソースをコピー -->
<mkdir dir="${build.res}" />
<native2ascii encoding="UTF-8" src="${res.dir}" dest="${build.res}"
includes="**/*.properties.utf8" ext="" />
<copy todir="${build.res}">
<fileset dir="${res.dir}" excludes="**/*.properties.*, **/*.bak" />
</copy>
</target>
...省略...
<!-- ターゲット:compileで、ターゲット:prepare-resourceは呼び出されるが、
実行されるされるかどうかはプロパティ:have.resourcesの値による -->
<target name="compile" depends="prepare-src, prepare-resource">
<javac srcdir="${build.src}"
destdir="${build.dest}"
encoding="${compile.encoding}"
debug="${compile.debug}"
optimize="${compile.optimize}"
source="${compile.source}"
deprecation="${compile.deprecation}"
classpathref="project.class.path"
/>
</target>
解説
以下は、libディレクトリが存在する場合、その下にあるjarファイルをパスに含めるように上書きするサンプルです。
|ant|
path id="project.class.path">
<pathelement location="${build.dest}" /> <pathelement path="${java.class.path}" />
/path>
condition property="have.library">
<available file="${lib.dir}" />/condition>
target name="init" if="have.library">
<path id="project.class.path"> <pathelement location="${build.dest}" /> <fileset dir="${lib.dir}"> <include name="*.jar" /> </fileset> <pathelement path="${java.class.path}" /> </path>/target> ||<
参考リンク
- [http://www.jajakarta.org/ant/ant-1.5/docs/ant-1.5/j/docs/manual/CoreTasks/condition.html:title=Conditionタスク]
- - Ant詳説