2011-09-09 12 views
1

Nant documentationによれば、target :: exists関数を使用してターゲットが存在するかどうかを確認できます。Nantを使用してターゲットが動的に存在するかどうかを確認しますか?

Execute target "clean", if it exists. 

<if test="${target::exists('clean')}"> 
<call target="clean" /> 
</if> 

対象の名前をプロパティとして渡してみましたが、動作していないようです。

Nantはエラーをスローしませんが、Nantはエラーを返さないが、どちらの場合もtrueを返しません。

基本的に私は何をしようとしているがこれです:

<property name="cleanTarget" value="${someothervariables}"/> 

<if test="${target::exists('${cleanTarget}')}"> 
<call target="${cleanTarget}" /> 
</if> 

それは可能ですか?

答えて

3

私はそれをうまく処理しました。私の構文は間違っていました。

正しい方法は次のようになります。

<property name="cleanTarget" value="${someothervariables}"/> 

<if test="${target::exists(cleanTarget)}"> 
<call target="${cleanTarget}" /> 
</if> 
0

あなたはそれを簡略化することができます:

<property name="cleanTarget" value="${someothervariables}"/> 

<call target="${cleanTarget}" if="${target::exists(cleanTarget)}" /> 
関連する問題