Ant/Script のバックアップ(No.2)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Ant/Script へ行く。
- 1 (2011-01-19 (水) 00:34:33)
- 2 (2013-10-30 (水) 21:49:12)
- 3 (2014-09-02 (火) 16:18:55)
- 4 (2015-09-29 (火) 20:12:35)
- 5 (2018-10-30 (火) 16:48:12)
TITLE:AntのScriptタスク中でif文を使った条件分岐を行う
AntのScriptタスク中でif文を使った条件分岐を行う
#adsense2
編集者:Terai Atsuhiro
作成日:2011-01-14
更新日:2018-10-30 (火) 16:59:14
概要
Conditionタスク(AntでConditionタスクを使った条件分岐を行う)の条件が複雑になるようなら、以下のようにして <script language="javascript">タスクなどの中でif文を使う方法もあります。
サンプルターゲット
<target name="prepare-resource" depends="prepare">
<script language="javascript"><![CDATA[
importClass(java.io.File);
if(new File(project.getProperty("res.dir")).exists()) {
project.executeTarget("copy-resource");
}
]]></script>
</target>
<target name="copy-resource">
<mkdir dir="${build.res}" />
<copy todir="${build.res}">
<fileset dir="${res.dir}" excludes="**/*.properties.*, **/*.bak" />
</copy>
</target>
解説
上記のサンプルでは、ScriptタスクでJavascript(Rhino)の if文を使用しています。
- "res.dir"プロパティで設定したディレクトリ(文字列)を、project.getProperty("res.dir")で取得
- importClass(java.io.File);でインポートしたJavaのFile.classを使って、存在するかどうかを判断
- new File(project.getProperty("res.dir")).exists()
- 存在する場合は、project.executeTarget("copy-resource");で、copy-resourceターゲットを取得し、実行