FileSets offer an easy and straightforward way to include files. The tag supports
Selectors and
PatternSets. Additionally, you can include/exclude
files in/from a fileset using the
<include>
/<exclude>
tags. In patterns,
one asterisk (*
) maps to a part of a file/directory name within a
directory level. Two asterisks (**
) may include above the "border" of
the directory separator.
Table D.3: Attributes for the <fileset>
tag
Name | Type | Description | Default | Required |
---|---|---|---|---|
dir | String | The directory, the paths given in
include /exclude are relative
to. | n/a | Yes |
defaultexcludes | Boolean | Whether default exclusions should be used or not. Default excludes
are: *~ , #*# ,
.#* , %*% ,
CVS , CVS/** ,
.cvsignore , SCCS ,
SCCS/** , vssver.scc ,
.svn , .svn/** ,
._* , .DS_Store ,
.darcs , .darcs/** ,
.git , .git/** ,
.gitattributes ,
.gitignore ,
.gitmodules
| true | No |
casesensitive | Boolean | The case sensitivity of the file system. | true | No |
expandsymboliclinks | Boolean | Whether to expand/dereference (follow) symbolic links - set to 'true' to emulate old Phing behavior. | false | No |
erroronmissingdir | Boolean | Specify what happens if the base directory does not exist. If true a build error will happen, if false, the fileset will be ignored/empty. | false | No |
includes | String | Comma- or space-separated list of patterns of files that must be included; all files are included when omitted. | n/a | No |
includesfile | String | The name of a file; each line of this file is taken to be an include pattern. | n/a | No |
excludes | String | comma- or space-separated list of patterns of files that must be excluded; no files (except default excludes) are excluded when omitted. | n/a | No |
excludesfile | String | The name of a file; each line of this file is taken to be an exclude pattern. | n/a | No |
test*.xml
will include test_42.xml
,
but it will not include test/some.xml
.
test**.xml
fits to test_42.xml
as
well as to test/bla.xml
, for example.
**/*.ent.xml
fits to all files that end with
ent.xml
in all subdirectories of the directory
specified with the dir
attribute of the
<fileset>
tag. However, it will not include any
files that are directly in the base directory of the file set.
<fileset dir="/etc" > <include name="httpd/**" /> <include name="php.ini" /> </fileset> <fileset dir="/etc" > <patternset> <include name="**/*.php"/> <exclude name="**/*Test*"/> </patternset> </fileset>
This will include the apache configuration and PHP configuration file from
/etc
.
<fileset id="files" dir="${phing.dir}/etc"> <excludesfile name="test"/> </fileset> <target name="test"> <echo msg="${toString:files}"/> </target>
This will exclude all files from a file named test. Each line of this file is taken to be an exclude pattern.
The tags that are supported by Fileset
are:
include
exclude
any of the selectors
The <include>
and the <exclude>
tags
must have a name
attribute that contains the pattern to
include/exclude.