我认为这可能是一个例子最容易解释的,所以这里是:
<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 在上面的示例中所做的事情以及原因。