我将构建发布到以下目录:
/some/dir/build-1/
/some/dir/build-2/
/some/dir/build-3/
...
/some/dir/build-n/
我需要 ant 任务来删除除最后三个(n、n-1 和 n-3)之外的所有以前的构建目录。
我想我应该使用<delete>
任务,但是如何配置属性?
我将构建发布到以下目录:
/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>
有关详细信息,请参阅Ant 手册/资源。