2011-01-18 3 views
8

基本的にファイルに "SUCCESS"文字列が含まれているかどうかを確認します。文字列が見つからない場合、antはエラーメッセージで終了する必要があります。 これを手伝ってください。 私は多くのリンクを試してみましたが、あなたは、Linux上にある場合は、この答えを得るdid'ntantを使用しています。ファイルに "SUCCESS"という文字列が含まれている場合は失敗します。

答えて

16

することができますAntのfail task、チェックするためにファイルを仮定すると、log.txtと呼ばれていると、この操作を行います。

<fail message="SUCCESS Found...failing"> 
    <condition> 
     <resourcecontains resource="log.txt" substring="SUCCESS"/> 
    </condition> 
</fail> 

ここでは別のアプローチは、THAですあなたがチェックするファイルが複数ある場合は、あなたは適応することができます。ファイルセット内のファイルのどれもが、文字列「SUCCESS」が含まれていない場合は、ビルドが失敗しないように

<fileset id="success.file" dir="." includes="log.txt"> 
    <contains text="SUCCESS"/> 
</fileset> 
<fail message="SUCCESS Found...failing"> 
    <condition> 
     <resourcecount when="greater" count="0" refid="success.file" /> 
    </condition> 
</fail> 

は、ファイルセットは、空になります。

+0

これはhttp://stackoverflow.com/questions/4374137/using-ant-check-if-a-particular-string-is-found-in-a-fileに記載されています。私の答えは – dm76

+0

@David Isn 'これは幾分違う? FTPについての言及はありません/この質問に入るので、簡単です。 –

+0

@martin clayton確かに、実際の解決策、すなわちresourcecontainsを使用することは同じですか? – dm76

0

、あなたは単にでexec対象とGetコマンドをラップすることができたAnt

Thisも有用である可能性

+0

martin clayton、ありがとうございます。それは完璧に正常に動作します。 – sree

+0

martin clayton、ありがとうございました。それは完璧に正常に動作します。 – sree

+0

David、私はプラットフォームに依存しないソリューションを探していました。あなたの点もありがとう。 – sree

関連する問題