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 元素的子元素出现,也可以出现在支持此功能的任务中。