Ant/Script のバックアップの現在との差分(No.3)
- バックアップ一覧
- 差分 を表示
- 現在との差分 - 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文を使った条件分岐を行う #navi(../) *AntのScriptタスク中でif文を使った条件分岐を行う [#x2af3cad] #adsense2 >編集者:[[Terai Atsuhiro>aterai]]~ 作成日:2011-01-14~ 更新日:&lastmod; --- title: AntのScriptタスク中でif文を使った条件分岐を行う author: aterai pubdate: 2011-01-14 description: AntのScriptタスク中でif文を使った条件分岐を行う方法をテストする。 --- #contents #contents(none) **概要 [#xba3edcf] * 概要 [#summary] `Condition`タスク([[AntでConditionタスクを使った条件分岐を行う>Ant/Condition]])の条件が複雑になるようなら、以下のようにして`<script language="javascript">`タスクなどの中で`if`文を使う方法もあります。 **サンプルターゲット [#j4c08ea7] * サンプルターゲット [#target] #code{{ <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> }} **解説 [#sa8c81cb] * 解説 [#explanation] 上記のサンプルでは、`Script`タスクで`Javascript`(`Rhino`)の`if`文を使用しています。 - `res.dir`プロパティで設定したディレクトリ(文字列)を、`project.getProperty("res.dir")`で取得 - `res.dir`プロパティ(`build.xml`などで設定済み)で指定したディレクトリ(文字列)を、`project.getProperty("res.dir")`で取得 - `importClass(java.io.File);`でインポートした`Java`の`File.class`を使って、存在するかどうかを判断 -- `new File(project.getProperty("res.dir")).exists()` - 存在する場合は、`project.executeTarget("copy-resource");`で、`copy-resource`ターゲットを取得し、実行 **参考リンク [#nb826fd4] - [http://ant.apache.org/manual/Tasks/script.html Script Task] - [http://api.dpml.net/org/apache/ant/1.7.0/org/apache/tools/ant/Project.html Project (Apache Ant API) - Project] - [http://weblogs.java.net/blog/emcmanus/archive/2010/09/20/using-javascript-make-apache-ant-less-painful Using JavaScript to make Apache Ant less painful] * 参考リンク [#reference] - [https://ant.apache.org/manual/Tasks/script.html Script Task] - [https://ant.apache.org/manual/api/org/apache/tools/ant/Project.html Project (Apache Ant API)] // - [http://weblogs.java.net/blog/emcmanus/archive/2010/09/20/using-javascript-make-apache-ant-less-painful Using JavaScript to make Apache Ant less painful] **コメント [#e6d1dee4] * コメント [#comment] #comment #comment