Ant Datatype之other

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