我将我的构建发布到如下目录:
/some/dir/build-1/
/some/dir/build-2/
/some/dir/build-3/
...
/some/dir/build-n/我需要一个任务来删除所有以前的构建目录,除了最后三个目录(n,n-1和n-3)。
我想我应该使用<delete>任务,但是如何配置属性呢?
发布于 2011-05-17 04:16:48
充分利用资源。当空目录和非空目录混在一起时,我相信你必须混合使用fileset和dirset才能使其与选择器一起工作,因为delete与选择器和fileset的组合不适用于空directories.Whereas如果你只有非空目录你可以只使用fileset部分-这是一个使用排序+日期选择器的代码片段,删除最近的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 Manual/Resources。
https://stackoverflow.com/questions/6020818
复制相似问题