我将我的构建发布到目录,例如:
/some/dir/build-1/
/some/dir/build-2/
/some/dir/build-3/
...
/some/dir/build-n/
我需要 ant 任务来删除除最后三个(n、n-1 和 n-3)之外的所有以前的构建目录。
我想我会使用<delete>
任务,但是如何配置属性?
利用资源。当空目录和非空目录混合在一起时,我相信您必须混合使用文件集和目录集才能使其与选择器一起使用,因为删除与选择器和文件集结合使用不适用于空目录。而如果您只有非空目录,则只能使用文件集部分 - 这是一个使用某种排序 + 日期选择器的片段,删除最新的 3 个目录 =
<project name="foo">
<delete includeEmptyDirs="true" verbose="true">
<last count="3">
<sort>
<date/>
<fileset dir="/some/dir">
<include name="**/*build*/**" />
</fileset>
</sort>
</last>
</delete>
<delete verbose="true">
<last count="3">
<sort>
<date/>
<dirset dir="/some/dir">
<include name="**/*build*/**" />
</dirset>
</sort>
</last>
</delete>
</project>
有关更多详细信息,请参阅蚂蚁手册/资源。