antlib有几个内置的资源比较器:
- name:按名字排序。
- exists:按是否存在排序。不存在的认为是“小于”存在的。
- date:按日期排序。
- type:按资源类型(文件或目录)排序,因为目录包含文件,所以认为目录比文件“大”。
- size:按大小排序。
- content:按内容排序,具有以下属性:
binary:内容是否以二进制模式进行比较,如果为false,比较内容时,不会考虑特定平台的行结束约定。默认为true。
- reverse:反转自然排序或者单个的嵌套资源比较器。
简单示例
<project xmlns:rsel="antlib:org.apache.tools.ant.types.resources.selectors"
xmlns:rcmp="antlib:org.apache.tools.ant.types.resources.comparators">
<restrict id="files">
<fileset dir="../../task" includes="**/**" />
<compare when="ge" against="all">
<control>
<file name="C:\Users\runner\task\ant\build1.xml" />
</control>
<size />
</compare>
</restrict>
<echo>files are: ${toString:files}</echo>
</project>