我覺得這可以用一個例子來簡單解釋,所以這裏有雲:爲什麼ANT在創建文件集後更新文件集的內容,我可以覆蓋它嗎?
<target name="test">
<fileset id="fileset" dir="target">
<include name="*"/>
</fileset>
<echo>${toString:fileset}</echo>
<touch file="target/test"/>
<echo>${toString:fileset}</echo>
</target>
輸出:
test:
[echo]
[touch] Creating target/test
[echo] test
我非常希望的是將文件集保持不變,所以我可以有一個之前/之後設置(爲了使用<difference>
獲得更改的設置,所以如果您知道一種方法可以跳到那個...)。
我試過使用<filelist>
來代替,但我無法在<difference>
任務中正確填充和比較它們(因爲我似乎無法輸出它們的內容,所以它們也很難調試)。我也嘗試使用<modified/>
來選擇文件集中的文件,但它似乎根本不起作用,始終沒有任何迴應。
即使有其他方法,我也希望更好地理解ANT在上面的例子中做了什麼以及爲什麼。
將其轉換回一個文件集對我而言是無用的,但是由於pathconvert將它存儲爲一個字符串屬性,因此可以很容易地創建文件列表,然後我可以在''任務中使用該文件列表。謝謝。 –
Thor84no
@ Thor84no:你可以發佈你的最終代碼作爲答案! – Jayan
這是一個很好的觀點。 – Thor84no