Apache Ant/Fileset
外观
FileSets 是 Ant 用于创建文件组以进行操作的方式。这些文件可以在以基目录开始的目录树中找到,并通过从多个 PatternSets 和 Selectors 中获取的模式进行匹配。
FileSet 使用其 dir 属性标识基目录树。然后,FileSet 包含的模式元素,包括命名元素(PatternSets)和通过通配符选择的元素(Selectors),在基树中选择文件和文件夹。
如果 FileSet 中的任何选择器没有选择给定文件,则该文件不被视为 FileSet 的一部分。这使得 FileSets 等同于 <and> 选择器容器。
Ant 使用通配符指定具有名称模式的文件组。
- ? : 用于匹配任何字符。
- * : 用于匹配零个或多个字符。
- ** : 用于匹配零个或多个目录。
以下 FileSets 都选择 ${server.src} 目录中名称中不包含“Test”的 Java 源文件。
<fileset dir="${server.src}" casesensitive="yes">
<include name="**/*.java"/>
<exclude name="**/*Test*"/>
</fileset>
<fileset dir="${server.src}" casesensitive="yes">
<patternset id="non.test.sources">
<include name="**/*.java"/>
<exclude name="**/*Test*"/>
</patternset>
</fileset>
<fileset dir="${client.src}">
<patternset refid="non.test.sources"/>
</fileset>
<fileset dir="${server.src}" casesensitive="yes">
<filename name="**/*.java"/>
<filename name="**/*Test*" negate="true"/>
</fileset>
<fileset dir="${server.src}" casesensitive="yes">
<filename name="**/*.java"/>
<not>
<filename name="**/*Test*"/>
</not>
</fileset>
FileSets 可以作为 project 元素的子元素出现,也可以出现在支持此功能的任务中。