Filelist(文件列表)
Filelist是文件或目录的有序列表,其中文件或目录不一定存在。当我们需要对一组文件排序时,Filelist会派上用场。
fileset:定义一个文件集合列表,这些文件必须确实存在
filelist:定义一个文件集合列表,这些文件无需确实存在
Dirset(目录集)
Dirset只用于<javadoc>和<pathconvert>任务中,path也支持嵌套的<dirset>。Dirset用于目录,有些任务只对目录进行操作。
Filterset(过滤器集)
在<copy>和<move>任务中支持Filterset。以下三种情况可以发挥已过滤复制的优势:
1. 将当前日期和版本信息写入到与构建相关的文件中,比如文档。
2. 对配置文件有选择地注释。
3. 简单生成一些源文件或者数据文件。
Datatype的引用:
测试:
<?xml version="1.0" encoding="UTF-8"?> <project name="property"> <path id="pathtest"> <fileset dir="src" /> </path> <property name="pathtest.property" refid="pathtest"/> <echo message="pathtest=${pathtest.property}"/> <echo message="pathtestToString=${toString:pathtest}"/> <patternset id="java.file" includes="**/*.java"/> <patternset id="all.files"> <include name="**/*.class"/> <patternset refid="java.file"/> </patternset> <echo level="verbose"> allfiles=${toString:all.files} </echo> </project>
输出:
e:\antspace\property>ant
Buildfile: e:\antspace\property\build.xml
[echo] pathtest=e:\antspace\property\src\xuj\ant\Main.class;e:\antspace\pro
perty\src\xuj\ant\Main.java
[echo] pathtestToString=e:\antspace\property\src\xuj\ant\Main.class;e:\ants
pace\property\src\xuj\ant\Main.java
BUILD SUCCESSFUL
Total time: 0 seconds
e:\antspace\property>ant -verbose
Apache Ant(TM) version 1.8.4 compiled on May 22 2012
Trying the default build file: build.xml
Buildfile: e:\antspace\property\build.xml
Detected Java version: 1.6 in: D:\dev\java\jdk16027\jre
Detected OS: Windows 7
parsing buildfile e:\antspace\property\build.xml with URI = file:/e:/antspace/pr
operty/build.xml
Project base dir set to: e:\antspace\property
parsing buildfile jar:file:/D:/dev/ant/ant1.8.4/lib/ant.jar!/org/apache/tools/an
t/antlib.xml with URI = jar:file:/D:/dev/ant/ant1.8.4/lib/ant.jar!/org/apache/to
ols/ant/antlib.xml from a zip file
[echo] pathtest=e:\antspace\property\src\xuj\ant\Main.class;e:\antspace\pro
perty\src\xuj\ant\Main.java
[echo] pathtestToString=e:\antspace\property\src\xuj\ant\Main.class;e:\ants
pace\property\src\xuj\ant\Main.java
[echo]
[echo] allfiles=patternSet{ includes: [**/*.class, **/*.java] e
xcludes: [] }
[echo]
BUILD SUCCESSFUL
Total time: 0 seconds