2013-11-21 53 views
0

我有我的生成文件中的以下target檢查變量的值,跳過任務螞蟻

<target name="copyLibrary"> 
    <copy toDir="${workingDir}/${location}" includeEmptyDirs="false"> 
     <fileset dir="${librariesRoot}/${libraryDir}" includes="*"/> 
    </copy> 
</target> 

我想要做的是檢查的${libraryDir}的價值,如果它是一個特定的目錄,不執行復制。

我試圖改變fileset使用嵌套includeexclude標籤,但它不喜歡這個。我也嘗試添加一個unless屬性到目標和副本,但這些都是不允許的。我目前正在研究目標上的if屬性以查看我的位置。我有一種感覺,我可能需要將fileset更改爲dirset之類的東西。

回答

2

A <fileset>可嵌套<include><exclude>元素。這些<include><exclude>元素可以具有ifunless屬性。

在你的情況,與unless<include>可能工作:

<condition property="libraryDir-is-scorned"> 
    <equals arg1="${libraryDir}" arg2="unlovedLibrary"/> 
</condition> 

<copy toDir="${workingDir}/${location}" includeEmptyDirs="false"> 
    <fileset dir="${librariesRoot}/${libraryDir}"> 
     <include name="*" unless="libraryDir-is-scorned"/> 
    </fileset> 
</copy> 
+0

這看起來只是門票!感謝您的回答! – MeanwhileInHell