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