2009-10-28 7 views
12

ビルドを停止し、ファイルが存在しない場合にユーザーに通知する方法を教えてください。私は、ファイルが存在する場合、利用可能なタスクを使用してプロパティを設定することができますが、ビルドを停止して何かをエコーするかどうかはわかりません。ファイルが存在するかどうかを確認する方法はありますか?

可能であれば、コアタスクを採用したいと思います。

答えて

16

すべての不必要なニーズにはfail taskを使用できます。そのページ上の最後の例では、

<fail message="Files are missing."> 
    <condition> 
     <not> 
      <resourcecount count="2"> 
       <fileset id="fs" dir="." includes="one.txt,two.txt"/> 
      </resourcecount> 
     </not> 
    </condition> 
</fail> 
+0

アメージング私が聞いたことがない別のタスクが常にありますか。ありがとう。 – Steve

6

必要なものはかなり実際には、あなたのプロパティを設定している場合、属性とFailタスクを使用します。

+0

'if'属性は、値ではなくプロパティの*存在*をチェックします。 –

12

少しシンプルな(私はそれが簡単に作ることができる望む)

<fail message="file ${myfile} not set or missing"> 
    <condition> 
     <not> 
      <available file="${myfile}" /> 
     </not> 
    </condition> 
</fail> 
+0

非常にきれいで理解しやすい – Miek

2

(ジェイソンPunyonによって示されるように)これは、よりコンパクトに行うことができます。具体的には、必要なファイルと仮定すると、プロパティfileでないです:

<available file="${file}" property="file.exists" /> 
<fail message="File missing: ${file}" unless="file.exists" /> 
+0

私はfail属性の条件がはるかに読みやすく、長期的にメンテナンスできると思う。 – Sanity1123

関連する問題